From a22d3543688c7ceeba082a0274f84b0f1afa3747 Mon Sep 17 00:00:00 2001 From: mufaddal nala Date: Wed, 8 Jan 2025 11:45:03 +0530 Subject: [PATCH] Fixed issue with GraphQL --- src/js/projects-search.js | 2 +- web/assets/js/projects-search.js | 2 +- web/assets/js/projects-search.js.map | 2 +- web/assets/mix-manifest.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/js/projects-search.js b/src/js/projects-search.js index 49ce5c3..b2a78aa 100644 --- a/src/js/projects-search.js +++ b/src/js/projects-search.js @@ -150,7 +150,7 @@ async function performMagic(params) }, cache: "force-cache", body: JSON.stringify({ - query: `query fetchJurisdictionsTrackingData($stage: [QueryArgument], $categories: [CategoryCriteriaInput]) { + query: `query fetchJurisdictionsTrackingData($stage: [QueryArgument], $categories: [CategoryRelationCriteriaInput]) { entryCount(section: "jurisdictions", stage: $stage, relatedToCategories:$categories) categoriesForStage: entries(section: "jurisdictions", stage: $stage) { ... on jurisdictions_Entry { diff --git a/web/assets/js/projects-search.js b/web/assets/js/projects-search.js index 9db6a2b..9b0b394 100644 --- a/web/assets/js/projects-search.js +++ b/web/assets/js/projects-search.js @@ -1,3 +1,3 @@ /*! For license information please see projects-search.js.LICENSE.txt */ -(()=>{var t={3114:function(t){t.exports=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}var _=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getEndCapStyle",value:function(){return this._endCapStyle}},{key:"isSingleSided",value:function(){return this._isSingleSided}},{key:"setQuadrantSegments",value:function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=e.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=e.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==e.JOIN_ROUND&&(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS)}},{key:"getJoinStyle",value:function(){return this._joinStyle}},{key:"setJoinStyle",value:function(t){this._joinStyle=t}},{key:"setSimplifyFactor",value:function(t){this._simplifyFactor=t<0?0:t}},{key:"getSimplifyFactor",value:function(){return this._simplifyFactor}},{key:"getQuadrantSegments",value:function(){return this._quadrantSegments}},{key:"setEndCapStyle",value:function(t){this._endCapStyle=t}},{key:"getMitreLimit",value:function(){return this._mitreLimit}},{key:"setMitreLimit",value:function(t){this._mitreLimit=t}},{key:"setSingleSided",value:function(t){this._isSingleSided=t}}],[{key:"constructor_",value:function(){if(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=e.CAP_ROUND,this._joinStyle=e.JOIN_ROUND,this._mitreLimit=e.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=e.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setQuadrantSegments(t)}else if(2===arguments.length){var i=arguments[0],n=arguments[1];this.setQuadrantSegments(i),this.setEndCapStyle(n)}else if(4===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this.setQuadrantSegments(r),this.setEndCapStyle(o),this.setJoinStyle(s),this.setMitreLimit(a)}}},{key:"bufferDistanceError",value:function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)}}]),e}();_.CAP_ROUND=1,_.CAP_FLAT=2,_.CAP_SQUARE=3,_.JOIN_ROUND=1,_.JOIN_MITRE=2,_.JOIN_BEVEL=3,_.DEFAULT_QUADRANT_SEGMENTS=8,_.DEFAULT_MITRE_LIMIT=5,_.DEFAULT_SIMPLIFY_FACTOR=.01;var y=function(e){n(o,e);var r=h(o);function o(e){var i;return t(this,o),(i=r.call(this,e)).name=Object.keys({Exception:o})[0],i}return i(o,[{key:"toString",value:function(){return this.message}}]),o}(l(Error)),v=function(e){n(r,e);var i=h(r);function r(e){var n;return t(this,r),(n=i.call(this,e)).name=Object.keys({IllegalArgumentException:r})[0],n}return r}(y),x=function(){function e(){t(this,e)}return i(e,[{key:"filter",value:function(t){}}]),e}();function b(){}function w(){}function A(){}var E,C,T,k,S,I,M,P,L=function(){function e(){t(this,e)}return i(e,null,[{key:"equalsWithTolerance",value:function(t,e,i){return Math.abs(t-e)<=i}}]),e}(),z=function(){function e(i,n){t(this,e),this.low=n||0,this.high=i||0}return i(e,null,[{key:"toBinaryString",value:function(t){var e,i="";for(e=2147483648;e>0;e>>>=1)i+=(t.high&e)===e?"1":"0";for(e=2147483648;e>0;e>>>=1)i+=(t.low&e)===e?"1":"0";return i}}]),e}();function D(){}function R(){}D.NaN=NaN,D.isNaN=function(t){return Number.isNaN(t)},D.isInfinite=function(t){return!Number.isFinite(t)},D.MAX_VALUE=Number.MAX_VALUE,D.POSITIVE_INFINITY=Number.POSITIVE_INFINITY,D.NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,"function"==typeof Float64Array&&"function"==typeof Int32Array?(I=2146435072,M=new Float64Array(1),P=new Int32Array(M.buffer),D.doubleToLongBits=function(t){M[0]=t;var e=0|P[0],i=0|P[1];return(i&I)===I&&!!(1048575&i)&&0!==e&&(e=0,i=2146959360),new z(i,e)},D.longBitsToDouble=function(t){return P[0]=t.low,P[1]=t.high,M[0]}):(E=1023,C=Math.log2,T=Math.floor,k=Math.pow,S=function(){for(var t=53;t>0;t--){var e=k(2,t)-1;if(T(C(e))+1===t)return e}return 0}(),D.doubleToLongBits=function(t){var e,i,n,r,o,s,a,l,c;if(t<0||1/t===Number.NEGATIVE_INFINITY?(s=1<<31,t=-t):s=0,0===t)return new z(l=s,c=0);if(t===1/0)return new z(l=2146435072|s,c=0);if(t!=t)return new z(l=2146959360,c=0);if(r=0,c=0,(e=T(t))>1)if(e<=S)(r=T(C(e)))<=20?(c=0,l=e<<20-r&1048575):(c=e%(i=k(2,n=r-20))<<32-n,l=e/i&1048575);else for(n=e,c=0;0!==(n=T(i=n/2));)r++,c>>>=1,c|=(1&l)<<31,l>>>=1,i!==n&&(l|=524288);if(a=r+E,o=0===e,e=t-e,r<52&&0!==e)for(n=0;;){if((i=2*e)>=1?(e=i-1,o?(a--,o=!1):(n<<=1,n|=1,r++)):(e=i,o?0==--a&&(r++,o=!1):(n<<=1,r++)),20===r)l|=n,n=0;else if(52===r){c|=n;break}if(1===i){r<20?l|=n<<20-r:r<52&&(c|=n<<52-r);break}}return l|=a<<20,new z(l|=s,c)},D.longBitsToDouble=function(t){var e,i,n,r,o=t.high,s=t.low,a=o&1<<31?-1:1;for(n=((2146435072&o)>>20)-E,r=0,i=1<<19,e=1;e<=20;e++)o&i&&(r+=k(2,-e)),i>>>=1;for(i=1<<31,e=21;e<=52;e++)s&i&&(r+=k(2,-e)),i>>>=1;if(-1023===n){if(0===r)return 0*a;n=-1022}else{if(1024===n)return 0===r?a/0:NaN;r+=1}return a*r*k(2,n)});var O=function(e){n(r,e);var i=h(r);function r(e){var n;return t(this,r),(n=i.call(this,e)).name=Object.keys({RuntimeException:r})[0],n}return r}(y),B=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,null,[{key:"constructor_",value:function(){if(0===arguments.length)O.constructor_.call(this);else if(1===arguments.length){var t=arguments[0];O.constructor_.call(this,t)}}}]),o}(O),N=function(){function e(){t(this,e)}return i(e,null,[{key:"shouldNeverReachHere",value:function(){if(0===arguments.length)e.shouldNeverReachHere(null);else if(1===arguments.length){var t=arguments[0];throw new B("Should never reach here"+(null!==t?": "+t:""))}}},{key:"isTrue",value:function(){if(1===arguments.length){var t=arguments[0];e.isTrue(t,null)}else if(2===arguments.length){var i=arguments[1];if(!arguments[0])throw null===i?new B:new B(i)}}},{key:"equals",value:function(){if(2===arguments.length){var t=arguments[0],i=arguments[1];e.equals(t,i,null)}else if(3===arguments.length){var n=arguments[0],r=arguments[1],o=arguments[2];if(!r.equals(n))throw new B("Expected "+n+" but encountered "+r+(null!==o?": "+o:""))}}}]),e}(),F=new ArrayBuffer(8),U=new Float64Array(F),j=new Int32Array(F),V=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getM",value:function(){return D.NaN}},{key:"setOrdinate",value:function(t,i){switch(t){case e.X:this.x=i;break;case e.Y:this.y=i;break;case e.Z:this.setZ(i);break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"equals2D",value:function(){if(1===arguments.length){var t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){var e=arguments[0],i=arguments[1];return!!L.equalsWithTolerance(this.x,e.x,i)&&!!L.equalsWithTolerance(this.y,e.y,i)}}},{key:"setM",value:function(t){throw new v("Invalid ordinate index: "+e.M)}},{key:"getZ",value:function(){return this.z}},{key:"getOrdinate",value:function(t){switch(t){case e.X:return this.x;case e.Y:return this.y;case e.Z:return this.getZ()}throw new v("Invalid ordinate index: "+t)}},{key:"equals3D",value:function(t){return this.x===t.x&&this.y===t.y&&(this.getZ()===t.getZ()||D.isNaN(this.getZ())&&D.isNaN(t.getZ()))}},{key:"equals",value:function(t){return t instanceof e&&this.equals2D(t)}},{key:"equalInZ",value:function(t,e){return L.equalsWithTolerance(this.getZ(),t.getZ(),e)}},{key:"setX",value:function(t){this.x=t}},{key:"compareTo",value:function(t){var e=t;return this.xe.x?1:this.ye.y?1:0}},{key:"getX",value:function(){return this.x}},{key:"setZ",value:function(t){this.z=t}},{key:"clone",value:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return N.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}},{key:"copy",value:function(){return new e(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+", "+this.getZ()+")"}},{key:"distance3D",value:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.getZ()-t.getZ();return Math.sqrt(e*e+i*i+n*n)}},{key:"getY",value:function(){return this.y}},{key:"setY",value:function(t){this.y=t}},{key:"distance",value:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)}},{key:"hashCode",value:function(){var t=17;return 37*(t=37*t+e.hashCode(this.x))+e.hashCode(this.y)}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ()}},{key:"interfaces_",get:function(){return[b,w,A]}}],[{key:"constructor_",value:function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)e.constructor_.call(this,0,0);else if(1===arguments.length){var t=arguments[0];e.constructor_.call(this,t.x,t.y,t.getZ())}else if(2===arguments.length){var i=arguments[0],n=arguments[1];e.constructor_.call(this,i,n,e.NULL_ORDINATE)}else if(3===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2];this.x=r,this.y=o,this.z=s}}},{key:"hashCode",value:function(t){return U[0]=t,j[0]^j[1]}}]),e}(),G=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compare",value:function(t,i){var n=e.compare(t.x,i.x);if(0!==n)return n;var r=e.compare(t.y,i.y);return 0!==r?r:this._dimensionsToTest<=2?0:e.compare(t.getZ(),i.getZ())}},{key:"interfaces_",get:function(){return[R]}}],[{key:"constructor_",value:function(){if(this._dimensionsToTest=2,0===arguments.length)e.constructor_.call(this,2);else if(1===arguments.length){var t=arguments[0];if(2!==t&&3!==t)throw new v("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}}},{key:"compare",value:function(t,e){return te?1:D.isNaN(t)?D.isNaN(e)?0:-1:D.isNaN(e)?1:0}}]),e}();V.DimensionalComparator=G,V.NULL_ORDINATE=D.NaN,V.X=0,V.Y=1,V.Z=2,V.M=3;var q=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getArea",value:function(){return this.getWidth()*this.getHeight()}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;var i=t;return this.isNull()?i.isNull():this._maxx===i.getMaxX()&&this._maxy===i.getMaxY()&&this._minx===i.getMinX()&&this._miny===i.getMinY()}},{key:"intersection",value:function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new e;var i=this._minx>t._minx?this._minx:t._minx,n=this._miny>t._miny?this._miny:t._miny;return new e(i,this._maxx=this._minx&&i.getMaxX()<=this._maxx&&i.getMinY()>=this._miny&&i.getMaxY()<=this._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return!this.isNull()&&n>=this._minx&&n<=this._maxx&&r>=this._miny&&r<=this._maxy}}},{key:"intersects",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||(n.x>r.x?n.x:r.x)this._maxy||(n.y>r.y?n.y:r.y)this._maxx||othis._maxy||sthis._maxx&&(this._maxx=i._maxx),i._minythis._maxy&&(this._maxy=i._maxy))}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=r,this._maxy=r):(nthis._maxx&&(this._maxx=n),rthis._maxy&&(this._maxy=r))}}},{key:"minExtent",value:function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}},{key:"translate",value:function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}},{key:"copy",value:function(){return new e(this)}},{key:"toString",value:function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}},{key:"setToNull",value:function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}},{key:"disjoint",value:function(t){return!(!this.isNull()&&!t.isNull())||t._minx>this._maxx||t._maxxthis._maxy||t._maxye?t:e}},{key:"expandBy",value:function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],i=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=i,this._maxy+=i,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}},{key:"contains",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof V){var i=arguments[0];return this.covers(i)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return this.covers(n,r)}}},{key:"centre",value:function(){return this.isNull()?null:new V((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}},{key:"init",value:function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof V){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var i=arguments[0];this._minx=i._minx,this._maxx=i._maxx,this._miny=i._miny,this._maxy=i._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],l=arguments[3];ot._maxx&&(e=this._minx-t._maxx);var i=0;return this._maxyt._maxy&&(i=this._miny-t._maxy),0===e?i:0===i?e:Math.sqrt(e*e+i*i)}},{key:"hashCode",value:function(){var t=17;return 37*(t=37*(t=37*(t=37*t+V.hashCode(this._minx))+V.hashCode(this._maxx))+V.hashCode(this._miny))+V.hashCode(this._maxy)}},{key:"interfaces_",get:function(){return[b,A]}}],[{key:"constructor_",value:function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof V){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var i=arguments[0];this.init(i)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],l=arguments[3];this.init(o,s,a,l)}}},{key:"intersects",value:function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],i=arguments[2];return i.x>=(t.xe.x?t.x:e.x)&&i.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){var n=arguments[0],r=arguments[1],o=arguments[2],s=arguments[3],a=Math.min(o.x,s.x),l=Math.max(o.x,s.x),c=Math.min(n.x,r.x),u=Math.max(n.x,r.x);return!(c>l||ul||u=this.size())throw new et;return this.array[t]}},{key:"push",value:function(t){return this.array.push(t),t}},{key:"pop",value:function(){if(0===this.array.length)throw new tt;return this.array.pop()}},{key:"peek",value:function(){if(0===this.array.length)throw new tt;return this.array[this.array.length-1]}},{key:"empty",value:function(){return 0===this.array.length}},{key:"isEmpty",value:function(){return this.empty()}},{key:"search",value:function(t){return this.array.indexOf(t)}},{key:"size",value:function(){return this.array.length}},{key:"toArray",value:function(){return this.array.slice()}}]),o}(it);function rt(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}var ot=function(){function e(i){t(this,e),this.str=i}return i(e,[{key:"append",value:function(t){this.str+=t}},{key:"setCharAt",value:function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)}},{key:"toString",value:function(){return this.str}}]),e}(),st=function(){function e(i){t(this,e),this.value=i}return i(e,[{key:"intValue",value:function(){return this.value}},{key:"compareTo",value:function(t){return this.valuet?1:0}}],[{key:"compare",value:function(t,e){return te?1:0}},{key:"isNan",value:function(t){return Number.isNaN(t)}},{key:"valueOf",value:function(t){return new e(t)}}]),e}(),at=function(){function e(){t(this,e)}return i(e,null,[{key:"isWhitespace",value:function(t){return t<=32&&t>=0||127===t}},{key:"toUpperCase",value:function(t){return t.toUpperCase()}}]),e}(),lt=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"le",value:function(t){return this._hi9?(h=!0,p="9"):p="0"+u,a.append(p),n=n.subtract(e.valueOf(u)).multiply(e.TEN),h&&n.selfAdd(e.TEN);var d=!0,f=e.magnitude(n._hi);if(f<0&&Math.abs(f)>=l-c&&(d=!1),!d)break}return i[0]=r,a.toString()}},{key:"sqr",value:function(){return this.multiply(this)}},{key:"doubleValue",value:function(){return this._hi+this._lo}},{key:"subtract",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){var i=arguments[0];return this.add(-i)}}},{key:"equals",value:function(){if(1===arguments.length&&arguments[0]instanceof e){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}},{key:"isZero",value:function(){return 0===this._hi&&0===this._lo}},{key:"selfSubtract",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){var i=arguments[0];return this.isNaN()?this:this.selfAdd(-i,0)}}},{key:"getSpecialNumberString",value:function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}},{key:"min",value:function(t){return this.le(t)?this:t}},{key:"selfDivide",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){var i=arguments[0];return this.selfDivide(i,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],o=null,s=null,a=null,l=null,c=null,u=null,h=null,p=null;return c=this._hi/n,p=(o=(u=e.SPLIT*c)-(o=u-c))*(a=(p=e.SPLIT*n)-(a=p-n))-(h=c*n)+o*(l=n-a)+(s=c-o)*a+s*l,p=c+(u=(this._hi-h-p+this._lo-c*r)/n),this._hi=p,this._lo=c-p+u,this}}},{key:"dump",value:function(){return"DD<"+this._hi+", "+this._lo+">"}},{key:"divide",value:function(){if(arguments[0]instanceof e){var t=arguments[0],i=null,n=null,r=null,o=null,s=null,a=null,l=null,c=null;return n=(s=this._hi/t._hi)-(i=(a=e.SPLIT*s)-(i=a-s)),c=i*(r=(c=e.SPLIT*t._hi)-(r=c-t._hi))-(l=s*t._hi)+i*(o=t._hi-r)+n*r+n*o,new e(c=s+(a=(this._hi-l-c+this._lo-s*t._lo)/t._hi),s-c+a)}if("number"==typeof arguments[0]){var u=arguments[0];return D.isNaN(u)?e.createNaN():e.copy(this).selfDivide(u,0)}}},{key:"ge",value:function(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}},{key:"pow",value:function(t){if(0===t)return e.valueOf(1);var i=new e(this),n=e.valueOf(1),r=Math.abs(t);if(r>1)for(;r>0;)r%2==1&&n.selfMultiply(i),(r/=2)>0&&(i=i.sqr());else n=i;return t<0?n.reciprocal():n}},{key:"ceil",value:function(){if(this.isNaN())return e.NaN;var t=Math.ceil(this._hi),i=0;return t===this._hi&&(i=Math.ceil(this._lo)),new e(t,i)}},{key:"compareTo",value:function(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}},{key:"rint",value:function(){return this.isNaN()?this:this.add(.5).floor()}},{key:"setValue",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){var i=arguments[0];return this.init(i),this}}},{key:"max",value:function(t){return this.ge(t)?this:t}},{key:"sqrt",value:function(){if(this.isZero())return e.valueOf(0);if(this.isNegative())return e.NaN;var t=1/Math.sqrt(this._hi),i=this._hi*t,n=e.valueOf(i),r=this.subtract(n.sqr())._hi*(.5*t);return n.add(r)}},{key:"selfAdd",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){var i=arguments[0],n=null,r=null,o=null,s=null,a=null,l=null;return s=(o=this._hi+i)-(a=o-this._hi),r=(l=(s=i-a+(this._hi-s))+this._lo)+(o-(n=o+l)),this._hi=n+r,this._lo=r+(n-this._hi),this}}else if(2===arguments.length){var c=arguments[0],u=arguments[1],h=null,p=null,d=null,f=null,m=null,g=null,_=null;f=this._hi+c,p=this._lo+u,m=f-(g=f-this._hi),d=p-(_=p-this._lo);var y=(h=f+(g=(m=c-g+(this._hi-m))+p))+(g=(d=u-_+(this._lo-d))+(g+(f-h))),v=g+(h-y);return this._hi=y,this._lo=v,this}}},{key:"selfMultiply",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){var i=arguments[0];return this.selfMultiply(i,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],o=null,s=null,a=null,l=null,c=null,u=null;o=(c=e.SPLIT*this._hi)-this._hi,u=e.SPLIT*n,o=c-o,s=this._hi-o,a=u-n;var h=(c=this._hi*n)+(u=o*(a=u-a)-c+o*(l=n-a)+s*a+s*l+(this._hi*r+this._lo*n)),p=u+(o=c-h);return this._hi=h,this._lo=p,this}}},{key:"selfSqr",value:function(){return this.selfMultiply(this)}},{key:"floor",value:function(){if(this.isNaN())return e.NaN;var t=Math.floor(this._hi),i=0;return t===this._hi&&(i=Math.floor(this._lo)),new e(t,i)}},{key:"negate",value:function(){return this.isNaN()?this:new e(-this._hi,-this._lo)}},{key:"clone",value:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}},{key:"multiply",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return t.isNaN()?e.createNaN():e.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){var i=arguments[0];return D.isNaN(i)?e.createNaN():e.copy(this).selfMultiply(i,0)}}},{key:"isNaN",value:function(){return D.isNaN(this._hi)}},{key:"intValue",value:function(){return Math.trunc(this._hi)}},{key:"toString",value:function(){var t=e.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}},{key:"toStandardNotation",value:function(){var t=this.getSpecialNumberString();if(null!==t)return t;var i=new Array(1).fill(null),n=this.extractSignificantDigits(!0,i),r=i[0]+1,o=n;if("."===n.charAt(0))o="0"+n;else if(r<0)o="0."+e.stringOfChar("0",-r)+n;else if(-1===n.indexOf(".")){var s=r-n.length;o=n+e.stringOfChar("0",s)+".0"}return this.isNegative()?"-"+o:o}},{key:"reciprocal",value:function(){var t,i,n,r,o=null,s=null,a=null,l=null;t=(n=1/this._hi)-(o=(a=e.SPLIT*n)-(o=a-n)),s=(l=e.SPLIT*this._hi)-this._hi;var c=n+(a=(1-(r=n*this._hi)-(l=o*(s=l-s)-r+o*(i=this._hi-s)+t*s+t*i)-n*this._lo)/this._hi);return new e(c,n-c+a)}},{key:"toSciNotation",value:function(){if(this.isZero())return e.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var i=new Array(1).fill(null),n=this.extractSignificantDigits(!1,i),r=e.SCI_NOT_EXPONENT_CHAR+i[0];if("0"===n.charAt(0))throw new IllegalStateException("Found leading zero: "+n);var o="";n.length>1&&(o=n.substring(1));var s=n.charAt(0)+"."+o;return this.isNegative()?"-"+s+r:s+r}},{key:"abs",value:function(){return this.isNaN()?e.NaN:this.isNegative()?this.negate():new e(this)}},{key:"isPositive",value:function(){return this._hi>0||0===this._hi&&this._lo>0}},{key:"lt",value:function(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}},{key:"isNegative",value:function(){return this._hi<0||0===this._hi&&this._lo<0}},{key:"trunc",value:function(){return this.isNaN()?e.NaN:this.isPositive()?this.floor():this.ceil()}},{key:"signum",value:function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}},{key:"interfaces_",get:function(){return[A,b,w]}}],[{key:"constructor_",value:function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof e){var i=arguments[0];this.init(i)}else if("string"==typeof arguments[0]){var n=arguments[0];e.constructor_.call(this,e.parse(n))}}else if(2===arguments.length){var r=arguments[0],o=arguments[1];this.init(r,o)}}},{key:"determinant",value:function(){if("number"==typeof arguments[3]&&"number"==typeof arguments[2]&&"number"==typeof arguments[0]&&"number"==typeof arguments[1]){var t=arguments[0],i=arguments[1],n=arguments[2],r=arguments[3];return e.determinant(e.valueOf(t),e.valueOf(i),e.valueOf(n),e.valueOf(r))}if(arguments[3]instanceof e&&arguments[2]instanceof e&&arguments[0]instanceof e&&arguments[1]instanceof e){var o=arguments[1],s=arguments[2],a=arguments[3];return arguments[0].multiply(a).selfSubtract(o.multiply(s))}}},{key:"sqr",value:function(t){return e.valueOf(t).selfMultiply(t)}},{key:"valueOf",value:function(){if("string"==typeof arguments[0]){var t=arguments[0];return e.parse(t)}if("number"==typeof arguments[0])return new e(arguments[0])}},{key:"sqrt",value:function(t){return e.valueOf(t).sqrt()}},{key:"parse",value:function(t){for(var i=0,n=t.length;at.isWhitespace(t.charAt(i));)i++;var r=!1;if(i=n);){var h=t.charAt(i);if(i++,at.isDigit(h)){var p=h-"0";s.selfMultiply(e.TEN),s.selfAdd(p),a++}else{if("."!==h){if("e"===h||"E"===h){var d=t.substring(i);try{c=st.parseInt(d)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+d+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+h+"' at position "+i+" in string "+t)}l=a,u=!0}}var f=s;u||(l=a);var m=a-l-c;if(0===m)f=s;else if(m>0){var g=e.TEN.pow(m);f=s.divide(g)}else if(m<0){var _=e.TEN.pow(-m);f=s.multiply(_)}return r?f.negate():f}},{key:"createNaN",value:function(){return new e(D.NaN,D.NaN)}},{key:"copy",value:function(t){return new e(t)}},{key:"magnitude",value:function(t){var e=Math.abs(t),i=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(i));return 10*Math.pow(10,n)<=e&&(n+=1),n}},{key:"stringOfChar",value:function(t,e){for(var i=new ot,n=0;n0){if(s<=0)return e.signum(a);r=o+s}else{if(!(o<0))return e.signum(a);if(s>=0)return e.signum(a);r=-o-s}var l=e.DP_SAFE_EPSILON*r;return a>=l||-a>=l?e.signum(a):2}},{key:"signum",value:function(t){return t>0?1:t<0?-1:0}}]),e}();ct.DP_SAFE_EPSILON=1e-15;var ut=function(){function e(){t(this,e)}return i(e,[{key:"getM",value:function(t){if(this.hasM()){var e=this.getDimension()-this.getMeasures();return this.getOrdinate(t,e)}return D.NaN}},{key:"setOrdinate",value:function(t,e,i){}},{key:"getZ",value:function(t){return this.hasZ()?this.getOrdinate(t,2):D.NaN}},{key:"size",value:function(){}},{key:"getOrdinate",value:function(t,e){}},{key:"getCoordinate",value:function(){}},{key:"getCoordinateCopy",value:function(t){}},{key:"createCoordinate",value:function(){}},{key:"getDimension",value:function(){}},{key:"hasM",value:function(){return this.getMeasures()>0}},{key:"getX",value:function(t){}},{key:"hasZ",value:function(){return this.getDimension()-this.getMeasures()>2}},{key:"getMeasures",value:function(){return 0}},{key:"expandEnvelope",value:function(t){}},{key:"copy",value:function(){}},{key:"getY",value:function(t){}},{key:"toCoordinateArray",value:function(){}},{key:"interfaces_",get:function(){return[w]}}]),e}();ut.X=0,ut.Y=1,ut.Z=2,ut.M=3;var ht=function(){function e(){t(this,e)}return i(e,null,[{key:"index",value:function(t,e,i){return ct.orientationIndex(t,e,i)}},{key:"isCCW",value:function(){if(arguments[0]instanceof Array){var t=arguments[0],i=t.length-1;if(i<3)throw new v("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=t[0],r=0,o=1;o<=i;o++){var s=t[o];s.y>n.y&&(n=s,r=o)}var a=r;do{(a-=1)<0&&(a=i)}while(t[a].equals2D(n)&&a!==r);var l=r;do{l=(l+1)%i}while(t[l].equals2D(n)&&l!==r);var c=t[a],u=t[l];if(c.equals2D(n)||u.equals2D(n)||c.equals2D(u))return!1;var h=e.index(c,n,u);return 0===h?c.x>u.x:h>0}if(rt(arguments[0],ut)){var p=arguments[0],d=p.size()-1;if(d<3)throw new v("Ring has fewer than 4 points, so orientation cannot be determined");for(var f=p.getCoordinate(0),m=0,g=1;g<=d;g++){var _=p.getCoordinate(g);_.y>f.y&&(f=_,m=g)}var y=null,x=m;do{(x-=1)<0&&(x=d),y=p.getCoordinate(x)}while(y.equals2D(f)&&x!==m);var b=null,w=m;do{w=(w+1)%d,b=p.getCoordinate(w)}while(b.equals2D(f)&&w!==m);if(y.equals2D(f)||b.equals2D(f)||y.equals2D(b))return!1;var A=e.index(y,f,b);return 0===A?y.x>b.x:A>0}}}]),e}();ht.CLOCKWISE=-1,ht.RIGHT=ht.CLOCKWISE,ht.COUNTERCLOCKWISE=1,ht.LEFT=ht.COUNTERCLOCKWISE,ht.COLLINEAR=0,ht.STRAIGHT=ht.COLLINEAR;var pt=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getCoordinate",value:function(){return this._minCoord}},{key:"getRightmostSide",value:function(t,e){var i=this.getRightmostSideOfSegment(t,e);return i<0&&(i=this.getRightmostSideOfSegment(t,e-1)),i<0&&(this._minCoord=null,this.checkForRightmostCoordinate(t)),i}},{key:"findRightmostEdgeAtVertex",value:function(){var t=this._minDe.getEdge().getCoordinates();N.isTrue(this._minIndex>0&&this._minIndexthis._minCoord.y&&i.y>this._minCoord.y&&n===ht.CLOCKWISE)&&(r=!0),r&&(this._minIndex=this._minIndex-1)}},{key:"getRightmostSideOfSegment",value:function(t,e){var i=t.getEdge().getCoordinates();if(e<0||e+1>=i.length)return-1;if(i[e].y===i[e+1].y)return-1;var n=Q.LEFT;return i[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=i,this._minCoord=e[i])}},{key:"findRightmostEdgeAtNode",value:function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)}},{key:"findEdge",value:function(t){for(var e=t.iterator();e.hasNext();){var i=e.next();i.isForward()&&this.checkForRightmostCoordinate(i)}N.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===Q.LEFT&&(this._orientedDe=this._minDe.getSym())}}],[{key:"constructor_",value:function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null}}]),e}(),dt=function(e){n(o,e);var r=h(o);function o(e,i){var n;return t(this,o),(n=r.call(this,i?e+" [ "+i+" ]":e)).pt=i?new V(i):void 0,n.name=Object.keys({TopologyException:o})[0],n}return i(o,[{key:"getCoordinate",value:function(){return this.pt}}]),o}(O),ft=function(){function e(){t(this,e),this.array=[]}return i(e,[{key:"addLast",value:function(t){this.array.push(t)}},{key:"removeFirst",value:function(){return this.array.shift()}},{key:"isEmpty",value:function(){return 0===this.array.length}}]),e}(),mt=function(e,r){n(s,e);var o=h(s);function s(e){var i;return t(this,s),(i=o.call(this)).array=[],e instanceof X&&i.addAll(e),i}return i(s,[{key:"interfaces_",get:function(){return[it,X]}},{key:"ensureCapacity",value:function(){}},{key:"add",value:function(t){return 1===arguments.length?this.array.push(t):this.array.splice(arguments[0],0,arguments[1]),!0}},{key:"clear",value:function(){this.array=[]}},{key:"addAll",value:function(t){var e,i=g(t);try{for(i.s();!(e=i.n()).done;){var n=e.value;this.array.push(n)}}catch(t){i.e(t)}finally{i.f()}}},{key:"set",value:function(t,e){var i=this.array[t];return this.array[t]=e,i}},{key:"iterator",value:function(){return new gt(this)}},{key:"get",value:function(t){if(t<0||t>=this.size())throw new et;return this.array[t]}},{key:"isEmpty",value:function(){return 0===this.array.length}},{key:"sort",value:function(t){t?this.array.sort((function(e,i){return t.compare(e,i)})):this.array.sort()}},{key:"size",value:function(){return this.array.length}},{key:"toArray",value:function(){return this.array.slice()}},{key:"remove",value:function(t){for(var e=0,i=this.array.length;e=1&&e.getDepth(Q.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}}},{key:"computeDepths",value:function(t){var e=new K,i=new ft,n=t.getNode();for(i.addLast(n),e.add(n),t.setVisited(!0);!i.isEmpty();){var r=i.removeFirst();e.add(r),this.computeNodeDepth(r);for(var o=r.getEdges().iterator();o.hasNext();){var s=o.next().getSym();if(!s.isVisited()){var a=s.getNode();e.contains(a)||(i.addLast(a),e.add(a))}}}}},{key:"compareTo",value:function(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0}},{key:"getEnvelope",value:function(){if(null===this._env){for(var t=new q,e=this._dirEdgeList.iterator();e.hasNext();)for(var i=e.next().getEdge().getCoordinates(),n=0;ne.x?t.x:e.x,a=t.y>e.y?t.y:e.y,l=i.xn.x?i.x:n.x,h=i.y>n.y?i.y:n.y,p=((r>l?r:l)+(sc?o:c)+(ai?i:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var n=arguments[0],r=arguments[1],o=arguments[2];return no?o:n}}},{key:"wrap",value:function(t,e){return t<0?e- -t%e:t%e}},{key:"max",value:function(){if(3===arguments.length){var t=arguments[1],e=arguments[2],i=arguments[0];return t>i&&(i=t),e>i&&(i=e),i}if(4===arguments.length){var n=arguments[1],r=arguments[2],o=arguments[3],s=arguments[0];return n>s&&(s=n),r>s&&(s=r),o>s&&(s=o),s}}},{key:"average",value:function(t,e){return(t+e)/2}}]),e}();xt.LOG_10=Math.log(10);var bt=function(){function e(){t(this,e)}return i(e,null,[{key:"segmentToSegment",value:function(t,i,n,r){if(t.equals(i))return e.pointToSegment(t,n,r);if(n.equals(r))return e.pointToSegment(r,t,i);var o=!1;if(q.intersects(t,i,n,r)){var s=(i.x-t.x)*(r.y-n.y)-(i.y-t.y)*(r.x-n.x);if(0===s)o=!0;else{var a=(t.y-n.y)*(r.x-n.x)-(t.x-n.x)*(r.y-n.y),l=((t.y-n.y)*(i.x-t.x)-(t.x-n.x)*(i.y-t.y))/s,c=a/s;(c<0||c>1||l<0||l>1)&&(o=!0)}}else o=!0;return o?xt.min(e.pointToSegment(t,n,r),e.pointToSegment(i,n,r),e.pointToSegment(n,t,i),e.pointToSegment(r,t,i)):0}},{key:"pointToSegment",value:function(t,e,i){if(e.x===i.x&&e.y===i.y)return t.distance(e);var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/n;if(r<=0)return t.distance(e);if(r>=1)return t.distance(i);var o=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(o)*Math.sqrt(n)}},{key:"pointToLinePerpendicular",value:function(t,e,i){var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(r)*Math.sqrt(n)}},{key:"pointToSegmentString",value:function(t,i){if(0===i.length)throw new v("Line array must contain at least one vertex");for(var n=t.distance(i[0]),r=0;r0)&&(o=a,r=s)}return r}}},{key:"extend",value:function(t,i,n){var r=t.create(n,i.getDimension()),o=i.size();if(e.copy(i,0,r,0,o),o>0)for(var s=o;s0)&&(e=n)}return e}}]),e}(),kt=function(){function e(){t(this,e)}return i(e,null,[{key:"toDimensionSymbol",value:function(t){switch(t){case e.FALSE:return e.SYM_FALSE;case e.TRUE:return e.SYM_TRUE;case e.DONTCARE:return e.SYM_DONTCARE;case e.P:return e.SYM_P;case e.L:return e.SYM_L;case e.A:return e.SYM_A}throw new v("Unknown dimension value: "+t)}},{key:"toDimensionValue",value:function(t){switch(at.toUpperCase(t)){case e.SYM_FALSE:return e.FALSE;case e.SYM_TRUE:return e.TRUE;case e.SYM_DONTCARE:return e.DONTCARE;case e.SYM_P:return e.P;case e.SYM_L:return e.L;case e.SYM_A:return e.A}throw new v("Unknown dimension symbol: "+t)}}]),e}();kt.P=0,kt.L=1,kt.A=2,kt.FALSE=-1,kt.TRUE=-2,kt.DONTCARE=-3,kt.SYM_FALSE="F",kt.SYM_TRUE="T",kt.SYM_DONTCARE="*",kt.SYM_P="0",kt.SYM_L="1",kt.SYM_A="2";var St=function(){function e(){t(this,e)}return i(e,[{key:"filter",value:function(t){}}]),e}(),It=function(){function e(){t(this,e)}return i(e,[{key:"filter",value:function(t,e){}},{key:"isDone",value:function(){}},{key:"isGeometryChanged",value:function(){}}]),e}(),Mt=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"computeEnvelopeInternal",value:function(){return this.isEmpty()?new q:this._points.expandEnvelope(new q)}},{key:"isRing",value:function(){return this.isClosed()&&this.isSimple()}},{key:"getCoordinates",value:function(){return this._points.toCoordinateArray()}},{key:"copyInternal",value:function(){return new s(this._points.copy(),this._factory)}},{key:"equalsExact",value:function(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof Z){var t=arguments[0],e=arguments[1];if(!this.isEquivalentClass(t))return!1;var i=t;if(this._points.size()!==i._points.size())return!1;for(var n=0;n0){var i=this._points.copy();Tt.reverse(i),this._points=i}return null}}}},{key:"getCoordinate",value:function(){return this.isEmpty()?null:this._points.getCoordinate(0)}},{key:"getBoundaryDimension",value:function(){return this.isClosed()?kt.FALSE:0}},{key:"isClosed",value:function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}},{key:"reverseInternal",value:function(){var t=this._points.copy();return Tt.reverse(t),this.getFactory().createLineString(t)}},{key:"getEndPoint",value:function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}},{key:"getTypeCode",value:function(){return Z.TYPECODE_LINESTRING}},{key:"getDimension",value:function(){return 1}},{key:"getLength",value:function(){return Et.ofLine(this._points)}},{key:"getNumPoints",value:function(){return this._points.size()}},{key:"compareToSameClass",value:function(){if(1===arguments.length){for(var t=arguments[0],e=0,i=0;e= 2)");this._points=t}},{key:"isCoordinate",value:function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")}},{key:"getGeometryType",value:function(){return Z.TYPENAME_LINEARRING}}],[{key:"constructor_",value:function(){var t=arguments[0],e=arguments[1];Mt.constructor_.call(this,t,e),this.validateConstruction()}}]),s}(Mt);Vt.MINIMUM_VALID_SIZE=4;var Gt=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"setOrdinate",value:function(t,e){switch(t){case o.X:this.x=e;break;case o.Y:this.y=e;break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"getZ",value:function(){return V.NULL_ORDINATE}},{key:"getOrdinate",value:function(t){switch(t){case o.X:return this.x;case o.Y:return this.y}throw new v("Invalid ordinate index: "+t)}},{key:"setZ",value:function(t){throw new v("CoordinateXY dimension 2 does not support z-ordinate")}},{key:"copy",value:function(){return new o(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+")"}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ()}}],[{key:"constructor_",value:function(){if(0===arguments.length)V.constructor_.call(this);else if(1===arguments.length){if(arguments[0]instanceof o){var t=arguments[0];V.constructor_.call(this,t.x,t.y)}else if(arguments[0]instanceof V){var e=arguments[0];V.constructor_.call(this,e.x,e.y)}}else if(2===arguments.length){var i=arguments[0],n=arguments[1];V.constructor_.call(this,i,n,V.NULL_ORDINATE)}}}]),o}(V);Gt.X=0,Gt.Y=1,Gt.Z=-1,Gt.M=-1;var qt=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"getM",value:function(){return this._m}},{key:"setOrdinate",value:function(t,e){switch(t){case o.X:this.x=e;break;case o.Y:this.y=e;break;case o.M:this._m=e;break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"setM",value:function(t){this._m=t}},{key:"getZ",value:function(){return V.NULL_ORDINATE}},{key:"getOrdinate",value:function(t){switch(t){case o.X:return this.x;case o.Y:return this.y;case o.M:return this._m}throw new v("Invalid ordinate index: "+t)}},{key:"setZ",value:function(t){throw new v("CoordinateXY dimension 2 does not support z-ordinate")}},{key:"copy",value:function(){return new o(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+" m="+this.getM()+")"}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ(),this._m=t.getM()}}],[{key:"constructor_",value:function(){if(this._m=null,0===arguments.length)V.constructor_.call(this),this._m=0;else if(1===arguments.length){if(arguments[0]instanceof o){var t=arguments[0];V.constructor_.call(this,t.x,t.y),this._m=t._m}else if(arguments[0]instanceof V){var e=arguments[0];V.constructor_.call(this,e.x,e.y),this._m=this.getM()}}else if(3===arguments.length){var i=arguments[0],n=arguments[1],r=arguments[2];V.constructor_.call(this,i,n,V.NULL_ORDINATE),this._m=r}}}]),o}(V);qt.X=0,qt.Y=1,qt.Z=-1,qt.M=2;var Zt=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"getM",value:function(){return this._m}},{key:"setOrdinate",value:function(t,e){switch(t){case V.X:this.x=e;break;case V.Y:this.y=e;break;case V.Z:this.z=e;break;case V.M:this._m=e;break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"setM",value:function(t){this._m=t}},{key:"getOrdinate",value:function(t){switch(t){case V.X:return this.x;case V.Y:return this.y;case V.Z:return this.getZ();case V.M:return this.getM()}throw new v("Invalid ordinate index: "+t)}},{key:"copy",value:function(){return new o(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+", "+this.getZ()+" m="+this.getM()+")"}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ(),this._m=t.getM()}}],[{key:"constructor_",value:function(){if(this._m=null,0===arguments.length)V.constructor_.call(this),this._m=0;else if(1===arguments.length){if(arguments[0]instanceof o){var t=arguments[0];V.constructor_.call(this,t),this._m=t._m}else if(arguments[0]instanceof V){var e=arguments[0];V.constructor_.call(this,e),this._m=this.getM()}}else if(4===arguments.length){var i=arguments[0],n=arguments[1],r=arguments[2],s=arguments[3];V.constructor_.call(this,i,n,r),this._m=s}}}]),o}(V),$t=function(){function e(){t(this,e)}return i(e,null,[{key:"measures",value:function(t){return t instanceof Gt?0:t instanceof qt||t instanceof Zt?1:0}},{key:"dimension",value:function(t){return t instanceof Gt?2:t instanceof qt?3:t instanceof Zt?4:3}},{key:"create",value:function(){if(1===arguments.length){var t=arguments[0];return e.create(t,0)}if(2===arguments.length){var i=arguments[0],n=arguments[1];return 2===i?new Gt:3===i&&0===n?new V:3===i&&1===n?new qt:4===i&&1===n?new Zt:new V}}}]),e}(),Xt=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"getCoordinate",value:function(t){return this.get(t)}},{key:"addAll",value:function(){if(2===arguments.length&&"boolean"==typeof arguments[1]&&rt(arguments[0],X)){for(var t=arguments[1],e=!1,i=arguments[0].iterator();i.hasNext();)this.add(i.next(),t),e=!0;return e}return p(r(s.prototype),"addAll",this).apply(this,arguments)}},{key:"clone",value:function(){for(var t=p(r(s.prototype),"clone",this).call(this),e=0;e=1&&this.get(this.size()-1).equals2D(n))return null;p(r(s.prototype),"add",this).call(this,n)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){var o=arguments[0],a=arguments[1];return this.add(o,a),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var l=arguments[0],c=arguments[1];if(arguments[2])for(var u=0;u=0;h--)this.add(l[h],c);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof V){var d=arguments[0],f=arguments[1];if(!arguments[2]){var m=this.size();if(m>0){if(d>0&&this.get(d-1).equals2D(f))return null;if(dv&&(x=-1);for(var b=y;b!==v;b+=x)this.add(g[b],_);return!0}}},{key:"closeRing",value:function(){if(this.size()>0){var t=this.get(0).copy();this.add(t,!1)}}}],[{key:"constructor_",value:function(){if(0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){var e=arguments[0],i=arguments[1];this.ensureCapacity(e.length),this.add(e,i)}}}]),s}(mt);Xt.coordArrayType=new Array(0).fill(null);var Wt=function(){function e(){t(this,e)}return i(e,null,[{key:"isRing",value:function(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))}},{key:"ptNotInList",value:function(t,i){for(var n=0;n=t?e:[]}},{key:"indexOf",value:function(t,e){for(var i=0;i0)&&(e=t[i]);return e}},{key:"extract",value:function(t,e,i){e=xt.clamp(e,0,t.length);var n=(i=xt.clamp(i,-1,t.length))-e+1;i<0&&(n=0),e>=t.length&&(n=0),in.length)return 1;if(0===i.length)return 0;var r=Wt.compare(i,n);return Wt.isEqualReversed(i,n)?0:r}},{key:"OLDcompare",value:function(t,e){var i=t,n=e;if(i.lengthn.length)return 1;if(0===i.length)return 0;for(var r=Wt.increasingDirection(i),o=Wt.increasingDirection(n),s=r>0?0:i.length-1,a=o>0?0:i.length-1,l=0;l0){var t=new Kt(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(t=3),t<2&&(t=2),new Jt(arguments[0],t)}if(3===arguments.length){var e=arguments[2],i=arguments[1]-e;return e>1&&(e=1),i>3&&(i=3),i<2&&(i=2),new Jt(arguments[0],i+e,e)}}}},{key:"interfaces_",get:function(){return[wt,A]}}],[{key:"instance",value:function(){return e.instanceObject}}]),e}();Qt.instanceObject=new Qt;var te=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"copyInternal",value:function(){for(var t=new Array(this._geometries.length).fill(null),e=0;e=0?t:e}}]),e}(),re=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"readResolve",value:function(){return e.nameToTypeMap.get(this._name)}},{key:"toString",value:function(){return this._name}},{key:"interfaces_",get:function(){return[A]}}],[{key:"constructor_",value:function(){this._name=null;var t=arguments[0];this._name=t,e.nameToTypeMap.put(t,this)}}]),e}();re.nameToTypeMap=new ie,ne.Type=re,ne.FIXED=new re("FIXED"),ne.FLOATING=new re("FLOATING"),ne.FLOATING_SINGLE=new re("FLOATING SINGLE"),ne.maximumPreciseValue=9007199254740992;var oe=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"copyInternal",value:function(){for(var t=new Array(this._geometries.length).fill(null),e=0;e1){if(l instanceof Ot)return this.createMultiPolygon(e.toPolygonArray(t));if(l instanceof Mt)return this.createMultiLineString(e.toLineStringArray(t));if(l instanceof Lt)return this.createMultiPoint(e.toPointArray(t));N.shouldNeverReachHere("Unhandled geometry type: "+l.getGeometryType())}return l}},{key:"createMultiPointFromCoords",value:function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}},{key:"createPoint",value:function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof V){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(rt(arguments[0],ut))return new Lt(arguments[0],this)}}},{key:"getCoordinateSequenceFactory",value:function(){return this._coordinateSequenceFactory}},{key:"createPolygon",value:function(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(rt(arguments[0],ut)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof Vt){var i=arguments[0];return this.createPolygon(i,null)}}else if(2===arguments.length)return new Ot(arguments[0],arguments[1],this)}},{key:"getSRID",value:function(){return this._SRID}},{key:"createGeometryCollection",value:function(){return 0===arguments.length?new Ut(null,this):1===arguments.length?new Ut(arguments[0],this):void 0}},{key:"getPrecisionModel",value:function(){return this._precisionModel}},{key:"createLinearRing",value:function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(rt(arguments[0],ut))return new Vt(arguments[0],this)}}},{key:"createMultiPolygon",value:function(){return 0===arguments.length?new te(null,this):1===arguments.length?new te(arguments[0],this):void 0}},{key:"createMultiPoint",value:function(){if(0===arguments.length)return new jt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new jt(arguments[0],this);if(rt(arguments[0],ut)){var t=arguments[0];if(null===t)return this.createMultiPoint(new Array(0).fill(null));for(var e=new Array(t.size()).fill(null),i=0;i="a"&&t<="z"||t>="A"&&t<="Z"}},{key:"isNumeric_",value:function(t,e){return t>="0"&&t<="9"||"."==t&&!(void 0!==e&&e)}},{key:"isWhiteSpace_",value:function(t){return" "==t||"\t"==t||"\r"==t||"\n"==t}},{key:"nextChar_",value:function(){return this.wkt.charAt(++this.index_)}},{key:"nextToken",value:function(){var t,e=this.nextChar_(),i=this.index_,n=e;if("("==e)t=fe;else if(","==e)t=_e;else if(")"==e)t=me;else if(this.isNumeric_(e)||"-"==e)t=ge,n=this.readNumber_();else if(this.isAlpha_(e))t=de,n=this.readText_();else{if(this.isWhiteSpace_(e))return this.nextToken();if(""!==e)throw new Error("Unexpected character: "+e);t=ye}return{position:i,value:n,type:t}}},{key:"readNumber_",value:function(){var t,e=this.index_,i=!1,n=!1;do{"."==t?i=!0:"e"!=t&&"E"!=t||(n=!0),t=this.nextChar_()}while(this.isNumeric_(t,i)||!n&&("e"==t||"E"==t)||n&&("-"==t||"+"==t));return parseFloat(this.wkt.substring(e,this.index_--))}},{key:"readText_",value:function(){var t,e=this.index_;do{t=this.nextChar_()}while(this.isAlpha_(t));return this.wkt.substring(e,this.index_--).toUpperCase()}}]),e}(),we=function(){function e(i,n){t(this,e),this.lexer_=i,this.token_,this.layout_=ae,this.factory=n}return i(e,[{key:"consume_",value:function(){this.token_=this.lexer_.nextToken()}},{key:"isTokenType",value:function(t){return this.token_.type==t}},{key:"match",value:function(t){var e=this.isTokenType(t);return e&&this.consume_(),e}},{key:"parse",value:function(){return this.consume_(),this.parseGeometry_()}},{key:"parseGeometryLayout_",value:function(){var t=ae,e=this.token_;if(this.isTokenType(de)){var i=e.value;"Z"===i?t=le:"M"===i?t=ce:"ZM"===i&&(t=ue),t!==ae&&this.consume_()}return t}},{key:"parseGeometryCollectionText_",value:function(){if(this.match(fe)){var t=[];do{t.push(this.parseGeometry_())}while(this.match(_e));if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parsePointText_",value:function(){if(this.match(fe)){var t=this.parsePoint_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return null;throw new Error(this.formatErrorMessage_())}},{key:"parseLineStringText_",value:function(){if(this.match(fe)){var t=this.parsePointList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parsePolygonText_",value:function(){if(this.match(fe)){var t=this.parseLineStringTextList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parseMultiPointText_",value:function(){var t;if(this.match(fe)){if(t=this.token_.type==fe?this.parsePointTextList_():this.parsePointList_(),this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parseMultiLineStringText_",value:function(){if(this.match(fe)){var t=this.parseLineStringTextList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parseMultiPolygonText_",value:function(){if(this.match(fe)){var t=this.parsePolygonTextList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parsePoint_",value:function(){for(var t=[],e=this.layout_.length,i=0;i1?t.createPolygon(n[0],n.slice(1)):t.createPolygon(n[0])},n=this.token_;if(this.match(de)){var r=n.value;if(this.layout_=this.parseGeometryLayout_(),"GEOMETRYCOLLECTION"==r){var o=this.parseGeometryCollectionText_();return t.createGeometryCollection(o)}switch(r){case"POINT":var s=this.parsePointText_();return s?t.createPoint(a(V,d(s))):t.createPoint();case"LINESTRING":var l=this.parseLineStringText_().map(e);return t.createLineString(l);case"LINEARRING":var c=this.parseLineStringText_().map(e);return t.createLinearRing(c);case"POLYGON":var u=this.parsePolygonText_();return u&&0!==u.length?i(u):t.createPolygon();case"MULTIPOINT":var h=this.parseMultiPointText_();if(!h||0===h.length)return t.createMultiPoint();var p=h.map(e).map((function(e){return t.createPoint(e)}));return t.createMultiPoint(p);case"MULTILINESTRING":var f=this.parseMultiLineStringText_().map((function(i){return t.createLineString(i.map(e))}));return t.createMultiLineString(f);case"MULTIPOLYGON":var m=this.parseMultiPolygonText_();if(!m||0===m.length)return t.createMultiPolygon();var g=m.map(i);return t.createMultiPolygon(g);default:throw new Error("Invalid geometry type: "+r)}}throw new Error(this.formatErrorMessage_())}}]),e}();function Ae(t){if(t.isEmpty())return"";var e=t.getCoordinate(),i=[e.x,e.y];return void 0===e.z||Number.isNaN(e.z)||i.push(e.z),void 0===e.m||Number.isNaN(e.m)||i.push(e.m),i.join(" ")}function Ee(t){for(var e=t.getCoordinates().map((function(t){var e=[t.x,t.y];return void 0===t.z||Number.isNaN(t.z)||e.push(t.z),void 0===t.m||Number.isNaN(t.m)||e.push(t.m),e})),i=[],n=0,r=e.length;n0&&(e+=" "+n),t.isEmpty()?e+" "+pe:e+" ("+i(t)+")"}var Se=function(){function e(i){t(this,e),this.geometryFactory=i||new se,this.precisionModel=this.geometryFactory.getPrecisionModel()}return i(e,[{key:"read",value:function(t){var e=new be(t);return new we(e,this.geometryFactory).parse()}},{key:"write",value:function(t){return ke(t)}}]),e}(),Ie=function(){function e(i){t(this,e),this.parser=new Se(i)}return i(e,[{key:"write",value:function(t){return this.parser.write(t)}}],[{key:"toLineString",value:function(t,e){if(2!==arguments.length)throw new Error("Not implemented");return"LINESTRING ( "+t.x+" "+t.y+", "+e.x+" "+e.y+" )"}}]),e}(),Me=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getIndexAlongSegment",value:function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}},{key:"getTopologySummary",value:function(){var t=new Kt;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}},{key:"computeIntersection",value:function(t,e,i,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=i,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,i,n)}},{key:"getIntersectionNum",value:function(){return this._result}},{key:"computeIntLineIndex",value:function(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map((function(){return Array(2)})),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){var t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}},{key:"isProper",value:function(){return this.hasIntersection()&&this._isProper}},{key:"setPrecisionModel",value:function(t){this._precisionModel=t}},{key:"isInteriorIntersection",value:function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],e=0;er?n:r;else{var s=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(o=n>r?s:a)||t.equals(e)||(o=Math.max(s,a))}return N.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o}},{key:"nonRobustComputeEdgeDistance",value:function(t,e,i){var n=t.x-e.x,r=t.y-e.y,o=Math.sqrt(n*n+r*r);return N.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o}}]),e}();Me.DONT_INTERSECT=0,Me.DO_INTERSECT=1,Me.COLLINEAR=2,Me.NO_INTERSECTION=0,Me.POINT_INTERSECTION=1,Me.COLLINEAR_INTERSECTION=2;var Pe=function(e){n(s,e);var o=h(s);function s(){return t(this,s),o.call(this)}return i(s,[{key:"isInSegmentEnvelopes",value:function(t){var e=new q(this._inputLines[0][0],this._inputLines[0][1]),i=new q(this._inputLines[1][0],this._inputLines[1][1]);return e.contains(t)&&i.contains(t)}},{key:"computeIntersection",value:function(){if(3!==arguments.length)return p(r(s.prototype),"computeIntersection",this).apply(this,arguments);var t=arguments[0],e=arguments[1],i=arguments[2];if(this._isProper=!1,q.intersects(e,i,t)&&0===ht.index(e,i,t)&&0===ht.index(i,e,t))return this._isProper=!0,(t.equals(e)||t.equals(i))&&(this._isProper=!1),this._result=Me.POINT_INTERSECTION,null;this._result=Me.NO_INTERSECTION}},{key:"intersection",value:function(t,e,i,n){var r=this.intersectionSafe(t,e,i,n);return this.isInSegmentEnvelopes(r)||(r=new V(s.nearestEndpoint(t,e,i,n))),null!==this._precisionModel&&this._precisionModel.makePrecise(r),r}},{key:"checkDD",value:function(t,e,i,n,r){var o=ct.intersection(t,e,i,n),s=this.isInSegmentEnvelopes(o);vt.out.println("DD in env = "+s+" --------------------- "+o),r.distance(o)>1e-4&&vt.out.println("Distance = "+r.distance(o))}},{key:"intersectionSafe",value:function(t,e,i,n){var r=yt.intersection(t,e,i,n);return null===r&&(r=s.nearestEndpoint(t,e,i,n)),r}},{key:"computeCollinearIntersection",value:function(t,e,i,n){var r=q.intersects(t,e,i),o=q.intersects(t,e,n),s=q.intersects(i,n,t),a=q.intersects(i,n,e);return r&&o?(this._intPt[0]=i,this._intPt[1]=n,Me.COLLINEAR_INTERSECTION):s&&a?(this._intPt[0]=t,this._intPt[1]=e,Me.COLLINEAR_INTERSECTION):r&&s?(this._intPt[0]=i,this._intPt[1]=t,!i.equals(t)||o||a?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):r&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||o||s?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):o&&s?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||r||a?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):o&&a?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||r||s?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):Me.NO_INTERSECTION}},{key:"computeIntersect",value:function(t,e,i,n){if(this._isProper=!1,!q.intersects(t,e,i,n))return Me.NO_INTERSECTION;var r=ht.index(t,e,i),o=ht.index(t,e,n);if(r>0&&o>0||r<0&&o<0)return Me.NO_INTERSECTION;var s=ht.index(i,n,t),a=ht.index(i,n,e);return s>0&&a>0||s<0&&a<0?Me.NO_INTERSECTION:0===r&&0===o&&0===s&&0===a?this.computeCollinearIntersection(t,e,i,n):(0===r||0===o||0===s||0===a?(this._isProper=!1,t.equals2D(i)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(i)||e.equals2D(n)?this._intPt[0]=e:0===r?this._intPt[0]=new V(i):0===o?this._intPt[0]=new V(n):0===s?this._intPt[0]=new V(t):0===a&&(this._intPt[0]=new V(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,i,n)),Me.POINT_INTERSECTION)}}],[{key:"nearestEndpoint",value:function(t,e,i,n){var r=t,o=bt.pointToSegment(t,i,n),s=bt.pointToSegment(e,i,n);return sn&&(i=e.x,n=t.x),this._p.x>=i&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var r=ht.index(t,e,this._p);if(r===ht.COLLINEAR)return this._isPointOnSegment=!0,null;e.ythis.location.length){var e=new Array(3).fill(null);e[Q.ON]=this.location[Q.ON],e[Q.LEFT]=$.NONE,e[Q.RIGHT]=$.NONE,this.location=e}for(var i=0;i1&&t.append($.toLocationSymbol(this.location[Q.LEFT])),t.append($.toLocationSymbol(this.location[Q.ON])),this.location.length>1&&t.append($.toLocationSymbol(this.location[Q.RIGHT])),t.toString()}},{key:"setLocations",value:function(t,e,i){this.location[Q.ON]=t,this.location[Q.LEFT]=e,this.location[Q.RIGHT]=i}},{key:"get",value:function(t){return t1}},{key:"isAnyNull",value:function(){for(var t=0;tthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2}},{key:"addPoints",value:function(t,e,i){var n=t.getCoordinates();if(e){var r=1;i&&(r=0);for(var o=r;o=0;a--)this._pts.add(n[a])}}},{key:"isHole",value:function(){return this._isHole}},{key:"setInResult",value:function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)}},{key:"containsPoint",value:function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!ze.isInRing(t,e.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();)if(i.next().containsPoint(t))return!1;return!0}},{key:"addHole",value:function(t){this._holes.add(t)}},{key:"isShell",value:function(){return null===this._shell}},{key:"getLabel",value:function(){return this._label}},{key:"getEdges",value:function(){return this._edges}},{key:"getMaxNodeDegree",value:function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree}},{key:"getShell",value:function(){return this._shell}},{key:"mergeLabel",value:function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[1],i=arguments[0].getLocation(e,Q.RIGHT);if(i===$.NONE)return null;if(this._label.getLocation(e)===$.NONE)return this._label.setLocation(e,i),null}}},{key:"setShell",value:function(t){this._shell=t,null!==t&&t.addHole(this)}},{key:"toPolygon",value:function(t){for(var e=new Array(this._holes.size()).fill(null),i=0;i=2,"found partial label"),this.computeIM(t)}},{key:"isInResult",value:function(){return this._isInResult}},{key:"isVisited",value:function(){return this._isVisited}}],[{key:"constructor_",value:function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._label=t}}}]),e}(),Ue=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"isIncidentEdgeInResult",value:function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();)if(t.next().getEdge().isInResult())return!0;return!1}},{key:"isIsolated",value:function(){return 1===this._label.getGeometryCount()}},{key:"getCoordinate",value:function(){return this._coord}},{key:"print",value:function(t){t.println("node "+this._coord+" lbl: "+this._label)}},{key:"computeIM",value:function(t){}},{key:"computeMergedLocation",value:function(t,e){var i=$.NONE;if(i=this._label.getLocation(e),!t.isNull(e)){var n=t.getLocation(e);i!==$.BOUNDARY&&(i=n)}return i}},{key:"setLabel",value:function(){if(2!==arguments.length||!Number.isInteger(arguments[1])||!Number.isInteger(arguments[0]))return p(r(s.prototype),"setLabel",this).apply(this,arguments);var t=arguments[0],e=arguments[1];null===this._label?this._label=new Re(t,e):this._label.setLocation(t,e)}},{key:"getEdges",value:function(){return this._edges}},{key:"mergeLabel",value:function(){if(arguments[0]instanceof s){var t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof Re)for(var e=arguments[0],i=0;i<2;i++){var n=this.computeMergedLocation(e,i);this._label.getLocation(i)===$.NONE&&this._label.setLocation(i,n)}}},{key:"add",value:function(t){this._edges.insert(t),t.setNode(this)}},{key:"setLabelBoundary",value:function(t){if(null===this._label)return null;var e=$.NONE;null!==this._label&&(e=this._label.getLocation(t));var i=null;switch(e){case $.BOUNDARY:i=$.INTERIOR;break;case $.INTERIOR:default:i=$.BOUNDARY}this._label.setLocation(t,i)}}],[{key:"constructor_",value:function(){this._coord=null,this._edges=null;var t=arguments[0],e=arguments[1];this._coord=t,this._edges=e,this._label=new Re(0,$.NONE)}}]),s}(Fe),je=function(e){n(r,e);var i=h(r);function r(){return t(this,r),i.apply(this,arguments)}return r}(ee);function Ve(t){return null==t?0:t.color}function Ge(t){return null==t?null:t.parent}function qe(t,e){null!==t&&(t.color=e)}function Ze(t){return null==t?null:t.left}function $e(t){return null==t?null:t.right}var Xe=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),(e=r.call(this)).root_=null,e.size_=0,e}return i(o,[{key:"get",value:function(t){for(var e=this.root_;null!==e;){var i=t.compareTo(e.key);if(i<0)e=e.left;else{if(!(i>0))return e.value;e=e.right}}return null}},{key:"put",value:function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var i,n,r=this.root_;do{if(i=r,(n=t.compareTo(r.key))<0)r=r.left;else{if(!(n>0)){var o=r.value;return r.value=e,o}r=r.right}}while(null!==r);var s={key:t,left:null,right:null,value:e,parent:i,color:0,getValue:function(){return this.value},getKey:function(){return this.key}};return n<0?i.left=s:i.right=s,this.fixAfterInsertion(s),this.size_++,null}},{key:"fixAfterInsertion",value:function(t){var e;for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)Ge(t)===Ze(Ge(Ge(t)))?1===Ve(e=$e(Ge(Ge(t))))?(qe(Ge(t),0),qe(e,0),qe(Ge(Ge(t)),1),t=Ge(Ge(t))):(t===$e(Ge(t))&&(t=Ge(t),this.rotateLeft(t)),qe(Ge(t),0),qe(Ge(Ge(t)),1),this.rotateRight(Ge(Ge(t)))):1===Ve(e=Ze(Ge(Ge(t))))?(qe(Ge(t),0),qe(e,0),qe(Ge(Ge(t)),1),t=Ge(Ge(t))):(t===Ze(Ge(t))&&(t=Ge(t),this.rotateRight(t)),qe(Ge(t),0),qe(Ge(Ge(t)),1),this.rotateLeft(Ge(Ge(t))));this.root_.color=0}},{key:"values",value:function(){var t=new mt,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=o.successor(e));)t.add(e.value);return t}},{key:"entrySet",value:function(){var t=new K,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=o.successor(e));)t.add(e);return t}},{key:"rotateLeft",value:function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}}},{key:"rotateRight",value:function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}}},{key:"getFirstEntry",value:function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t}},{key:"size",value:function(){return this.size_}},{key:"containsKey",value:function(t){for(var e=this.root_;null!==e;){var i=t.compareTo(e.key);if(i<0)e=e.left;else{if(!(i>0))return!0;e=e.right}}return!1}}],[{key:"successor",value:function(t){var e;if(null===t)return null;if(null!==t.right){for(e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var i=t;null!==e&&i===e.right;)i=e,e=e.parent;return e}}]),o}(je),We=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"find",value:function(t){return this.nodeMap.get(t)}},{key:"addNode",value:function(){if(arguments[0]instanceof V){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof Ue){var i=arguments[0],n=this.nodeMap.get(i.getCoordinate());return null===n?(this.nodeMap.put(i.getCoordinate(),i),i):(n.mergeLabel(i),n)}}},{key:"print",value:function(t){for(var e=this.iterator();e.hasNext();)e.next().print(t)}},{key:"iterator",value:function(){return this.nodeMap.values().iterator()}},{key:"values",value:function(){return this.nodeMap.values()}},{key:"getBoundaryNodes",value:function(t){for(var e=new mt,i=this.iterator();i.hasNext();){var n=i.next();n.getLabel().getLocation(t)===$.BOUNDARY&&e.add(n)}return e}},{key:"add",value:function(t){var e=t.getCoordinate();this.addNode(e).add(t)}}],[{key:"constructor_",value:function(){this.nodeMap=new Xe,this.nodeFact=null;var t=arguments[0];this.nodeFact=t}}]),e}(),He=function(){function e(){t(this,e)}return i(e,null,[{key:"isNorthern",value:function(t){return t===e.NE||t===e.NW}},{key:"isOpposite",value:function(t,e){return t!==e&&2==(t-e+4)%4}},{key:"commonHalfPlane",value:function(t,e){if(t===e)return t;if(2==(t-e+4)%4)return-1;var i=te?t:e)?3:i}},{key:"isInHalfPlane",value:function(t,i){return i===e.SE?t===e.SE||t===e.SW:t===i||t===i+1}},{key:"quadrant",value:function(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var t=arguments[0],i=arguments[1];if(0===t&&0===i)throw new v("Cannot compute the quadrant for point ( "+t+", "+i+" )");return t>=0?i>=0?e.NE:e.SE:i>=0?e.NW:e.SW}if(arguments[0]instanceof V&&arguments[1]instanceof V){var n=arguments[0],r=arguments[1];if(r.x===n.x&&r.y===n.y)throw new v("Cannot compute the quadrant for two identical points "+n);return r.x>=n.x?r.y>=n.y?e.NE:e.SE:r.y>=n.y?e.NW:e.SW}}}]),e}();He.NE=0,He.NW=1,He.SW=2,He.SE=3;var Ye=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compareDirection",value:function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant2){o.linkDirectedEdgesForMinimalEdgeRings();var s=o.buildMinimalRings(),a=this.findShell(s);null!==a?(this.placePolygonHoles(a,s),e.add(a)):i.addAll(s)}else n.add(o)}return n}},{key:"buildMaximalEdgeRings",value:function(t){for(var e=new mt,i=t.iterator();i.hasNext();){var n=i.next();if(n.isInResult()&&n.getLabel().isArea()&&null===n.getEdgeRing()){var r=new Ne(n,this._geometryFactory);e.add(r),r.setInResult()}}return e}},{key:"placePolygonHoles",value:function(t,e){for(var i=e.iterator();i.hasNext();){var n=i.next();n.isHole()&&n.setShell(t)}}},{key:"getPolygons",value:function(){return this.computePolygons(this._shellList)}},{key:"findShell",value:function(t){for(var e=0,i=null,n=t.iterator();n.hasNext();){var r=n.next();r.isHole()||(i=r,e++)}return N.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),i}},{key:"add",value:function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],i=arguments[1];Qe.linkResultDirectedEdges(i);var n=this.buildMaximalEdgeRings(e),r=new mt,o=this.buildMinimalEdgeRings(n,this._shellList,r);this.sortShellsAndHoles(o,this._shellList,r),this.placeFreeHoles(this._shellList,r)}}}],[{key:"constructor_",value:function(){this._geometryFactory=null,this._shellList=new mt;var t=arguments[0];this._geometryFactory=t}},{key:"findEdgeRingContaining",value:function(t,e){for(var i=t.getLinearRing(),n=i.getEnvelopeInternal(),r=i.getCoordinateN(0),o=null,s=null,a=e.iterator();a.hasNext();){var l=a.next(),c=l.getLinearRing(),u=c.getEnvelopeInternal();if(!u.equals(n)&&u.contains(n)){r=Wt.ptNotInList(i.getCoordinates(),c.getCoordinates());var h=!1;ze.isInRing(r,c.getCoordinates())&&(h=!0),h&&(null===o||s.contains(u))&&(s=(o=l).getLinearRing().getEnvelopeInternal())}}return o}}]),e}(),ei=function(){function e(){t(this,e)}return i(e,[{key:"getBounds",value:function(){}}]),e}(),ii=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getItem",value:function(){return this._item}},{key:"getBounds",value:function(){return this._bounds}},{key:"interfaces_",get:function(){return[ei,A]}}],[{key:"constructor_",value:function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e}}]),e}(),ni=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"poll",value:function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t}},{key:"size",value:function(){return this._size}},{key:"reorder",value:function(t){for(var e=null,i=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(i)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,i)}},{key:"clear",value:function(){this._size=0,this._items.clear()}},{key:"peek",value:function(){return this.isEmpty()?null:this._items.get(1)}},{key:"isEmpty",value:function(){return 0===this._size}},{key:"add",value:function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)}}],[{key:"constructor_",value:function(){this._size=null,this._items=null,this._size=0,this._items=new mt,this._items.add(null)}}]),e}(),ri=function(){function e(){t(this,e)}return i(e,[{key:"insert",value:function(t,e){}},{key:"remove",value:function(t,e){}},{key:"query",value:function(){}}]),e}(),oi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getLevel",value:function(){return this._level}},{key:"size",value:function(){return this._childBoundables.size()}},{key:"getChildBoundables",value:function(){return this._childBoundables}},{key:"addChildBoundable",value:function(t){N.isTrue(null===this._bounds),this._childBoundables.add(t)}},{key:"isEmpty",value:function(){return this._childBoundables.isEmpty()}},{key:"getBounds",value:function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds}},{key:"interfaces_",get:function(){return[ei,A]}}],[{key:"constructor_",value:function(){if(this._childBoundables=new mt,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}}}]),e}(),si={reverseOrder:function(){return{compare:function(t,e){return e.compareTo(t)}}},min:function(t){return si.sort(t),t.get(0)},sort:function(t,e){var i=t.toArray();e?Dt.sort(i,e):Dt.sort(i);for(var n=t.iterator(),r=0,o=i.length;re.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,!1,t,i),null):(this.expand(this._boundable2,this._boundable1,!0,t,i),null);if(n)return this.expand(this._boundable1,this._boundable2,!1,t,i),null;if(r)return this.expand(this._boundable2,this._boundable1,!0,t,i),null;throw new v("neither boundable is composite")}},{key:"isLeaves",value:function(){return!(e.isComposite(this._boundable1)||e.isComposite(this._boundable2))}},{key:"compareTo",value:function(t){var e=t;return this._distancee._distance?1:0}},{key:"expand",value:function(t,i,n,r,o){for(var s=t.getChildBoundables().iterator();s.hasNext();){var a=s.next(),l=null;(l=n?new e(i,a,this._itemDistance):new e(a,i,this._itemDistance)).getDistance()-2),n.getLevel()===i)return r.add(n),null;for(var o=n.getChildBoundables().iterator();o.hasNext();){var s=o.next();s instanceof oi?this.boundablesAtLevel(i,s,r):(N.isTrue(s instanceof ii),-1===i&&r.add(s))}return null}}},{key:"query",value:function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new mt;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.queryInternal(t,this._root,e),e}if(2===arguments.length){var i=arguments[0],n=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),i)&&this.queryInternal(i,this._root,n)}}},{key:"build",value:function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0}},{key:"getRoot",value:function(){return this.build(),this._root}},{key:"remove",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.remove(t,this._root,e)}if(3===arguments.length){var i=arguments[0],n=arguments[1],r=arguments[2],o=this.removeItem(n,r);if(o)return!0;for(var s=null,a=n.getChildBoundables().iterator();a.hasNext();){var l=a.next();if(this.getIntersectsOp().intersects(l.getBounds(),i)&&l instanceof oi&&(o=this.remove(i,l,r))){s=l;break}}return null!==s&&s.getChildBoundables().isEmpty()&&n.getChildBoundables().remove(s),o}}},{key:"createHigherLevels",value:function(t,e){N.isTrue(!t.isEmpty());var i=this.createParentBoundables(t,e+1);return 1===i.size()?i.get(0):this.createHigherLevels(i,e+1)}},{key:"depth",value:function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var i=e.next();if(i instanceof oi){var n=this.depth(i);n>t&&(t=n)}}return t+1}}},{key:"createParentBoundables",value:function(t,e){N.isTrue(!t.isEmpty());var i=new mt;i.add(this.createNode(e));var n=new mt(t);si.sort(n,this.getComparator());for(var r=n.iterator();r.hasNext();){var o=r.next();this.lastNode(i).getChildBoundables().size()===this.getNodeCapacity()&&i.add(this.createNode(e)),this.lastNode(i).addChildBoundable(o)}return i}},{key:"isEmpty",value:function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()}},{key:"interfaces_",get:function(){return[A]}}],[{key:"constructor_",value:function(){if(this._root=null,this._built=!1,this._itemBoundables=new mt,this._nodeCapacity=null,0===arguments.length)e.constructor_.call(this,e.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];N.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}}},{key:"compareDoubles",value:function(t,e){return t>e?1:t0);for(var i=new mt,n=0;n=0;){var l=o.poll(),c=l.getDistance();if(c>=r)break;l.isLeaves()?a.size()c&&(a.poll(),a.add(l)),r=a.peek().getDistance()):l.expandToQueue(o,r)}return s.getItems(a)}}},{key:"createNode",value:function(t){return new di(t)}},{key:"size",value:function(){return 0===arguments.length?p(r(s.prototype),"size",this).call(this):p(r(s.prototype),"size",this).apply(this,arguments)}},{key:"insert",value:function(){if(!(2===arguments.length&&arguments[1]instanceof Object&&arguments[0]instanceof q))return p(r(s.prototype),"insert",this).apply(this,arguments);var t=arguments[0],e=arguments[1];if(t.isNull())return null;p(r(s.prototype),"insert",this).call(this,t,e)}},{key:"getIntersectsOp",value:function(){return s.intersectsOp}},{key:"verticalSlices",value:function(t,e){for(var i=Math.trunc(Math.ceil(t.size()/e)),n=new Array(e).fill(null),r=t.iterator(),o=0;o0;){var s=o.poll(),a=s.getDistance();if(a>=n)break;s.isLeaves()?(n=a,r=s):s.expandToQueue(o,n)}return null===r?null:[r.getBoundable(0).getItem(),r.getBoundable(1).getItem()]}}else{if(2===arguments.length){var l=arguments[0],c=arguments[1];if(this.isEmpty()||l.isEmpty())return null;var u=new li(this.getRoot(),l.getRoot(),c);return this.nearestNeighbour(u)}if(3===arguments.length){var h=arguments[2],p=new ii(arguments[0],arguments[1]),d=new li(this.getRoot(),p,h);return this.nearestNeighbour(d)[0]}if(4===arguments.length){var f=arguments[2],m=arguments[3],g=new ii(arguments[0],arguments[1]),_=new li(this.getRoot(),g,f);return this.nearestNeighbourK(_,m)}}}},{key:"isWithinDistance",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],i=D.POSITIVE_INFINITY,n=new ni;for(n.add(t);!n.isEmpty();){var r=n.poll(),o=r.getDistance();if(o>e)return!1;if(r.maximumDistance()<=e)return!0;if(r.isLeaves()){if((i=o)<=e)return!0}else r.expandToQueue(n,i)}return!1}if(3===arguments.length){var s=arguments[0],a=arguments[1],l=arguments[2],c=new li(this.getRoot(),s.getRoot(),a);return this.isWithinDistance(c,l)}}},{key:"interfaces_",get:function(){return[ri,A]}}],[{key:"constructor_",value:function(){if(0===arguments.length)s.constructor_.call(this,s.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];ui.constructor_.call(this,t)}}},{key:"centreX",value:function(t){return s.avg(t.getMinX(),t.getMaxX())}},{key:"avg",value:function(t,e){return(t+e)/2}},{key:"getItems",value:function(t){for(var e=new Array(t.size()).fill(null),i=0;!t.isEmpty();){var n=t.poll();e[i]=n.getBoundable(0).getItem(),i++}return e}},{key:"centreY",value:function(t){return s.avg(t.getMinY(),t.getMaxY())}}]),s}(ui),di=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"computeBounds",value:function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var i=e.next();null===t?t=new q(i.getBounds()):t.expandToInclude(i.getBounds())}return t}}],[{key:"constructor_",value:function(){var t=arguments[0];oi.constructor_.call(this,t)}}]),o}(oi);pi.STRtreeNode=di,pi.xComparator=new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[R]}},{key:"compare",value:function(t,e){return ui.compareDoubles(pi.centreX(t.getBounds()),pi.centreX(e.getBounds()))}}]),e}()),pi.yComparator=new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[R]}},{key:"compare",value:function(t,e){return ui.compareDoubles(pi.centreY(t.getBounds()),pi.centreY(e.getBounds()))}}]),e}()),pi.intersectsOp=new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[IntersectsOp]}},{key:"intersects",value:function(t,e){return t.intersects(e)}}]),e}()),pi.DEFAULT_NODE_CAPACITY=10;var fi=function(){function e(){t(this,e)}return i(e,null,[{key:"relativeSign",value:function(t,e){return te?1:0}},{key:"compare",value:function(t,i,n){if(i.equals2D(n))return 0;var r=e.relativeSign(i.x,n.x),o=e.relativeSign(i.y,n.y);switch(t){case 0:return e.compareValue(r,o);case 1:return e.compareValue(o,r);case 2:return e.compareValue(o,-r);case 3:return e.compareValue(-r,o);case 4:return e.compareValue(-r,-o);case 5:return e.compareValue(-o,-r);case 6:return e.compareValue(-o,r);case 7:return e.compareValue(r,-o)}return N.shouldNeverReachHere("invalid octant value"),0}},{key:"compareValue",value:function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0}}]),e}(),mi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getCoordinate",value:function(){return this.coord}},{key:"print",value:function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)}},{key:"compareTo",value:function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:this._isInterior?e._isInterior?fi.compare(this._segmentOctant,this.coord,e.coord):1:-1}},{key:"isEndPoint",value:function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t}},{key:"toString",value:function(){return this.segmentIndex+":"+this.coord.toString()}},{key:"isInterior",value:function(){return this._isInterior}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];this._segString=t,this.coord=new V(e),this.segmentIndex=i,this._segmentOctant=n,this._isInterior=!e.equals2D(t.getCoordinate(i))}}]),e}(),gi=function(){function e(){t(this,e)}return i(e,[{key:"hasNext",value:function(){}},{key:"next",value:function(){}},{key:"remove",value:function(){}}]),e}(),_i=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getSplitCoordinates",value:function(){var t=new Xt;this.addEndpoints();for(var e=this.iterator(),i=e.next();e.hasNext();){var n=e.next();this.addEdgeCoordinates(i,n,t),i=n}return t.toCoordinateArray()}},{key:"addCollapsedNodes",value:function(){var t=new mt;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var i=e.next().intValue();this.add(this._edge.getCoordinate(i),i)}}},{key:"createSplitEdgePts",value:function(t,e){var i=e.segmentIndex-t.segmentIndex+2;if(2===i)return[new V(t.coord),new V(e.coord)];var n=this._edge.getCoordinate(e.segmentIndex),r=e.isInterior()||!e.coord.equals2D(n);r||i--;var o=new Array(i).fill(null),s=0;o[s++]=new V(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this._edge.getCoordinate(a);return r&&(o[s]=new V(e.coord)),o}},{key:"print",value:function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}},{key:"findCollapsesFromExistingVertices",value:function(t){for(var e=0;e=0?i>=0?n>=r?0:1:n>=r?7:6:i>=0?n>=r?3:2:n>=r?4:5}if(arguments[0]instanceof V&&arguments[1]instanceof V){var o=arguments[0],s=arguments[1],a=s.x-o.x,l=s.y-o.y;if(0===a&&0===l)throw new v("Cannot compute the octant for two identical points "+o);return e.octant(a,l)}}}]),e}(),vi=function(){function e(){t(this,e)}return i(e,[{key:"getCoordinates",value:function(){}},{key:"size",value:function(){}},{key:"getCoordinate",value:function(t){}},{key:"isClosed",value:function(){}},{key:"setData",value:function(t){}},{key:"getData",value:function(){}}]),e}(),xi=function(){function e(){t(this,e)}return i(e,[{key:"addIntersection",value:function(t,e){}},{key:"interfaces_",get:function(){return[vi]}}]),e}(),bi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getCoordinates",value:function(){return this._pts}},{key:"size",value:function(){return this._pts.length}},{key:"getCoordinate",value:function(t){return this._pts[t]}},{key:"isClosed",value:function(){return this._pts[0].equals(this._pts[this._pts.length-1])}},{key:"getSegmentOctant",value:function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))}},{key:"setData",value:function(t){this._data=t}},{key:"safeOctant",value:function(t,e){return t.equals2D(e)?0:yi.octant(t,e)}},{key:"getData",value:function(){return this._data}},{key:"addIntersection",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var i=arguments[1],n=arguments[3],r=new V(arguments[0].getIntersection(n));this.addIntersection(r,i)}}},{key:"toString",value:function(){return Ie.toLineString(new Jt(this._pts))}},{key:"getNodeList",value:function(){return this._nodeList}},{key:"addIntersectionNode",value:function(t,e){var i=e,n=i+1;if(n=0&&n>=0||i<=0&&n<=0?Math.max(i,n):0}if(arguments[0]instanceof V){var r=arguments[0];return ht.index(this.p0,this.p1,r)}}},{key:"toGeometry",value:function(t){return t.createLineString([this.p0,this.p1])}},{key:"isVertical",value:function(){return this.p0.x===this.p1.x}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;var i=t;return this.p0.equals(i.p0)&&this.p1.equals(i.p1)}},{key:"intersection",value:function(t){var e=new Pe;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}},{key:"project",value:function(){if(arguments[0]instanceof V){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new V(t);var i=this.projectionFactor(t),n=new V;return n.x=this.p0.x+i*(this.p1.x-this.p0.x),n.y=this.p0.y+i*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof e){var r=arguments[0],o=this.projectionFactor(r.p0),s=this.projectionFactor(r.p1);if(o>=1&&s>=1)return null;if(o<=0&&s<=0)return null;var a=this.project(r.p0);o<0&&(a=this.p0),o>1&&(a=this.p1);var l=this.project(r.p1);return s<0&&(l=this.p0),s>1&&(l=this.p1),new e(a,l)}}},{key:"normalize",value:function(){this.p1.compareTo(this.p0)<0&&this.reverse()}},{key:"angle",value:function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}},{key:"getCoordinate",value:function(t){return 0===t?this.p0:this.p1}},{key:"distancePerpendicular",value:function(t){return bt.pointToLinePerpendicular(t,this.p0,this.p1)}},{key:"minY",value:function(){return Math.min(this.p0.y,this.p1.y)}},{key:"midPoint",value:function(){return e.midPoint(this.p0,this.p1)}},{key:"projectionFactor",value:function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,i=this.p1.y-this.p0.y,n=e*e+i*i;return n<=0?D.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*i)/n}},{key:"closestPoints",value:function(t){var e=this.intersection(t);if(null!==e)return[e,e];var i=new Array(2).fill(null),n=D.MAX_VALUE,r=null,o=this.closestPoint(t.p0);n=o.distance(t.p0),i[0]=o,i[1]=t.p0;var s=this.closestPoint(t.p1);(r=s.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||D.isNaN(e))&&(e=1),e}},{key:"toString",value:function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}},{key:"isHorizontal",value:function(){return this.p0.y===this.p1.y}},{key:"reflect",value:function(t){var e=this.p1.getY()-this.p0.getY(),i=this.p0.getX()-this.p1.getX(),n=this.p0.getY()*(this.p1.getX()-this.p0.getX())-this.p0.getX()*(this.p1.getY()-this.p0.getY()),r=e*e+i*i,o=e*e-i*i,s=t.getX(),a=t.getY();return new V((-o*s-2*e*i*a-2*e*n)/r,(o*a-2*e*i*s-2*i*n)/r)}},{key:"distance",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return bt.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof V){var i=arguments[0];return bt.pointToSegment(i,this.p0,this.p1)}}},{key:"pointAlong",value:function(t){var e=new V;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}},{key:"hashCode",value:function(){var t=D.doubleToLongBits(this.p0.x);t^=31*D.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),i=D.doubleToLongBits(this.p1.x);return i^=31*D.doubleToLongBits(this.p1.y),e^Math.trunc(i)^Math.trunc(i>>32)}},{key:"interfaces_",get:function(){return[b,A]}}],[{key:"constructor_",value:function(){if(this.p0=null,this.p1=null,0===arguments.length)e.constructor_.call(this,new V,new V);else if(1===arguments.length){var t=arguments[0];e.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){var i=arguments[0],n=arguments[1];this.p0=i,this.p1=n}else if(4===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];e.constructor_.call(this,new V(r,o),new V(s,a))}}},{key:"midPoint",value:function(t,e){return new V((t.x+e.x)/2,(t.y+e.y)/2)}}]),e}(),Ai=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"overlap",value:function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[1],e=arguments[2],i=arguments[3];arguments[0].getLineSegment(t,this._overlapSeg1),e.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}}],[{key:"constructor_",value:function(){this._overlapSeg1=new wi,this._overlapSeg2=new wi}}]),e}(),Ei=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getLineSegment",value:function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]}},{key:"computeSelect",value:function(t,e,i,n){var r=this._pts[e],o=this._pts[i];if(i-e==1)return n.select(this,e),null;if(!t.intersects(r,o))return null;var s=Math.trunc((e+i)/2);e=t.length-1)return t.length-1;for(var n=He.quadrant(t[i],t[i+1]),r=e+1;ri.getId()&&(i.computeOverlaps(r,t),this._nOverlaps++),this._segInt.isDone())return null}}}],[{key:"constructor_",value:function(){if(this._monoChains=new mt,this._index=new pi,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0,0===arguments.length);else if(1===arguments.length){var t=arguments[0];ki.constructor_.call(this,t)}}}]),o}(ki),Ii=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"overlap",value:function(){if(4!==arguments.length)return p(r(s.prototype),"overlap",this).apply(this,arguments);var t=arguments[1],e=arguments[2],i=arguments[3],n=arguments[0].getContext(),o=e.getContext();this._si.processIntersections(n,t,o,i)}}],[{key:"constructor_",value:function(){this._si=null;var t=arguments[0];this._si=t}}]),s}(Ai);Si.SegmentOverlapAction=Ii;var Mi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"isDeletable",value:function(t,e,i,n){var r=this._inputLine[t],o=this._inputLine[e],s=this._inputLine[i];return!!this.isConcave(r,o,s)&&!!this.isShallow(r,o,s,n)&&this.isShallowSampled(r,o,t,i,n)}},{key:"deleteShallowConcavities",value:function(){for(var t=1,i=this.findNextNonDeletedIndex(t),n=this.findNextNonDeletedIndex(i),r=!1;n=0;n--)this.addPt(t[n])}},{key:"isRedundant",value:function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)Math.PI;)t-=e.PI_TIMES_2;for(;t<=-Math.PI;)t+=e.PI_TIMES_2;return t}},{key:"angle",value:function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],i=arguments[1],n=i.x-e.x,r=i.y-e.y;return Math.atan2(r,n)}}},{key:"isAcute",value:function(t,e,i){var n=t.x-e.x,r=t.y-e.y;return n*(i.x-e.x)+r*(i.y-e.y)>0}},{key:"isObtuse",value:function(t,e,i){var n=t.x-e.x,r=t.y-e.y;return n*(i.x-e.x)+r*(i.y-e.y)<0}},{key:"interiorAngle",value:function(t,i,n){var r=e.angle(i,t),o=e.angle(i,n);return Math.abs(o-r)}},{key:"normalizePositive",value:function(t){if(t<0){for(;t<0;)t+=e.PI_TIMES_2;t>=e.PI_TIMES_2&&(t=0)}else{for(;t>=e.PI_TIMES_2;)t-=e.PI_TIMES_2;t<0&&(t=0)}return t}},{key:"angleBetween",value:function(t,i,n){var r=e.angle(i,t),o=e.angle(i,n);return e.diff(r,o)}},{key:"diff",value:function(t,e){var i=null;return(i=tMath.PI&&(i=2*Math.PI-i),i}},{key:"toRadians",value:function(t){return t*Math.PI/180}},{key:"getTurn",value:function(t,i){var n=Math.sin(i-t);return n>0?e.COUNTERCLOCKWISE:n<0?e.CLOCKWISE:e.NONE}},{key:"angleBetweenOriented",value:function(t,i,n){var r=e.angle(i,t),o=e.angle(i,n)-r;return o<=-Math.PI?o+e.PI_TIMES_2:o>Math.PI?o-e.PI_TIMES_2:o}}]),e}();Li.PI_TIMES_2=2*Math.PI,Li.PI_OVER_2=Math.PI/2,Li.PI_OVER_4=Math.PI/4,Li.COUNTERCLOCKWISE=ht.COUNTERCLOCKWISE,Li.CLOCKWISE=ht.CLOCKWISE,Li.NONE=ht.COLLINEAR;var zi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"addNextSegment",value:function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var i=ht.index(this._s0,this._s1,this._s2),n=i===ht.CLOCKWISE&&this._side===Q.LEFT||i===ht.COUNTERCLOCKWISE&&this._side===Q.RIGHT;0===i?this.addCollinear(e):n?this.addOutsideTurn(i,e):this.addInsideTurn(i,e)}},{key:"addLineEndCap",value:function(t,e){var i=new wi(t,e),n=new wi;this.computeOffsetSegment(i,Q.LEFT,this._distance,n);var r=new wi;this.computeOffsetSegment(i,Q.RIGHT,this._distance,r);var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o);switch(this._bufParams.getEndCapStyle()){case _.CAP_ROUND:this._segList.addPt(n.p1),this.addDirectedFillet(e,a+Math.PI/2,a-Math.PI/2,ht.CLOCKWISE,this._distance),this._segList.addPt(r.p1);break;case _.CAP_FLAT:this._segList.addPt(n.p1),this._segList.addPt(r.p1);break;case _.CAP_SQUARE:var l=new V;l.x=Math.abs(this._distance)*Math.cos(a),l.y=Math.abs(this._distance)*Math.sin(a);var c=new V(n.p1.x+l.x,n.p1.y+l.y),u=new V(r.p1.x+l.x,r.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(u)}}},{key:"getCoordinates",value:function(){return this._segList.getCoordinates()}},{key:"addMitreJoin",value:function(t,e,i,n){var r=yt.intersection(e.p0,e.p1,i.p0,i.p1);if(null!==r&&(n<=0?1:r.distance(t)/Math.abs(n))<=this._bufParams.getMitreLimit())return this._segList.addPt(r),null;this.addLimitedMitreJoin(e,i,n,this._bufParams.getMitreLimit())}},{key:"addOutsideTurn",value:function(t,i){if(this._offset0.p1.distance(this._offset1.p0)=u&&(a-=2*Math.PI),this._segList.addPt(e),this.addDirectedFillet(t,a,u,n,r),this._segList.addPt(i)}},{key:"addLastSegment",value:function(){this._segList.addPt(this._offset1.p1)}},{key:"initSideSegments",value:function(t,e,i){this._s1=t,this._s2=e,this._side=i,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,i,this._distance,this._offset1)}},{key:"addLimitedMitreJoin",value:function(t,e,i,n){var r=this._seg0.p1,o=Li.angle(r,this._seg0.p0),s=Li.angleBetweenOriented(this._seg0.p0,r,this._seg1.p1)/2,a=Li.normalize(o+s),l=Li.normalize(a+Math.PI),c=n*i,u=i-c*Math.abs(Math.sin(s)),h=r.x+c*Math.cos(l),p=r.y+c*Math.sin(l),d=new V(h,p),f=new wi(r,d),m=f.pointAlongOffset(1,u),g=f.pointAlongOffset(1,-u);this._side===Q.LEFT?(this._segList.addPt(m),this._segList.addPt(g)):(this._segList.addPt(g),this._segList.addPt(m))}},{key:"addDirectedFillet",value:function(t,e,i,n,r){var o=n===ht.CLOCKWISE?-1:1,s=Math.abs(e-i),a=Math.trunc(s/this._filletAngleQuantum+.5);if(a<1)return null;for(var l=s/a,c=new V,u=0;u0){var n=new V((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var r=new V((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}}},{key:"createCircle",value:function(t){var e=new V(t.x+this._distance,t.y);this._segList.addPt(e),this.addDirectedFillet(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()}},{key:"addBevelJoin",value:function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)}},{key:"init",value:function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Pi,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*e.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)}},{key:"addCollinear",value:function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===_.JOIN_BEVEL||this._bufParams.getJoinStyle()===_.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addCornerFillet(this._s1,this._offset0.p1,this._offset1.p0,ht.CLOCKWISE,this._distance))}},{key:"closeRing",value:function(){this._segList.closeRing()}},{key:"hasNarrowConcaveAngle",value:function(){return this._hasNarrowConcaveAngle}}],[{key:"constructor_",value:function(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new wi,this._seg1=new wi,this._offset0=new wi,this._offset1=new wi,this._side=0,this._hasNarrowConcaveAngle=!1;var t=arguments[0],i=arguments[1],n=arguments[2];this._precisionModel=t,this._bufParams=i,this._li=new Pe,this._filletAngleQuantum=Math.PI/2/i.getQuadrantSegments(),i.getQuadrantSegments()>=8&&i.getJoinStyle()===_.JOIN_ROUND&&(this._closingSegLengthFactor=e.MAX_CLOSING_SEG_LEN_FACTOR),this.init(n)}}]),e}();zi.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,zi.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,zi.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,zi.MAX_CLOSING_SEG_LEN_FACTOR=80;var Di=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getOffsetCurve",value:function(t,e){if(this._distance=e,0===e)return null;var i=e<0,n=Math.abs(e),r=this.getSegGen(n);t.length<=1?this.computePointCurve(t[0],r):this.computeOffsetCurve(t,i,r);var o=r.getCoordinates();return i&&Wt.reverse(o),o}},{key:"computeSingleSidedBufferCurve",value:function(t,e,i){var n=this.simplifyTolerance(this._distance);if(e){i.addSegments(t,!0);var r=Mi.simplify(t,-n),o=r.length-1;i.initSideSegments(r[o],r[o-1],Q.LEFT),i.addFirstSegment();for(var s=o-2;s>=0;s--)i.addNextSegment(r[s],!0)}else{i.addSegments(t,!1);var a=Mi.simplify(t,n),l=a.length-1;i.initSideSegments(a[0],a[1],Q.LEFT),i.addFirstSegment();for(var c=2;c<=l;c++)i.addNextSegment(a[c],!0)}i.addLastSegment(),i.closeRing()}},{key:"computeRingBufferCurve",value:function(t,e,i){var n=this.simplifyTolerance(this._distance);e===Q.RIGHT&&(n=-n);var r=Mi.simplify(t,n),o=r.length-1;i.initSideSegments(r[o-1],r[0],e);for(var s=1;s<=o;s++){var a=1!==s;i.addNextSegment(r[s],a)}i.closeRing()}},{key:"computeLineBufferCurve",value:function(t,e){var i=this.simplifyTolerance(this._distance),n=Mi.simplify(t,i),r=n.length-1;e.initSideSegments(n[0],n[1],Q.LEFT);for(var o=2;o<=r;o++)e.addNextSegment(n[o],!0);e.addLastSegment(),e.addLineEndCap(n[r-1],n[r]);var s=Mi.simplify(t,-i),a=s.length-1;e.initSideSegments(s[a],s[a-1],Q.LEFT);for(var l=a-2;l>=0;l--)e.addNextSegment(s[l],!0);e.addLastSegment(),e.addLineEndCap(s[1],s[0]),e.closeRing()}},{key:"computePointCurve",value:function(t,e){switch(this._bufParams.getEndCapStyle()){case _.CAP_ROUND:e.createCircle(t);break;case _.CAP_SQUARE:e.createSquare(t)}}},{key:"getLineCurve",value:function(t,e){if(this._distance=e,this.isLineOffsetEmpty(e))return null;var i=Math.abs(e),n=this.getSegGen(i);if(t.length<=1)this.computePointCurve(t[0],n);else if(this._bufParams.isSingleSided()){var r=e<0;this.computeSingleSidedBufferCurve(t,r,n)}else this.computeLineBufferCurve(t,n);return n.getCoordinates()}},{key:"getBufferParameters",value:function(){return this._bufParams}},{key:"simplifyTolerance",value:function(t){return t*this._bufParams.getSimplifyFactor()}},{key:"getRingCurve",value:function(t,i,n){if(this._distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return e.copyCoordinates(t);var r=this.getSegGen(n);return this.computeRingBufferCurve(t,i,r),r.getCoordinates()}},{key:"computeOffsetCurve",value:function(t,e,i){var n=this.simplifyTolerance(this._distance);if(e){var r=Mi.simplify(t,-n),o=r.length-1;i.initSideSegments(r[o],r[o-1],Q.LEFT),i.addFirstSegment();for(var s=o-2;s>=0;s--)i.addNextSegment(r[s],!0)}else{var a=Mi.simplify(t,n),l=a.length-1;i.initSideSegments(a[0],a[1],Q.LEFT),i.addFirstSegment();for(var c=2;c<=l;c++)i.addNextSegment(a[c],!0)}i.addLastSegment()}},{key:"isLineOffsetEmpty",value:function(t){return 0===t||t<0&&!this._bufParams.isSingleSided()}},{key:"getSegGen",value:function(t){return new zi(this._precisionModel,this._bufParams,t)}}],[{key:"constructor_",value:function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e}},{key:"copyCoordinates",value:function(t){for(var e=new Array(t.length).fill(null),i=0;ir.getMaxY()||this.findStabbedSegments(t,n.getDirectedEdges(),e)}return e}if(3===arguments.length)if(rt(arguments[2],it)&&arguments[0]instanceof V&&arguments[1]instanceof Ke){for(var o=arguments[0],s=arguments[1],a=arguments[2],l=s.getEdge().getCoordinates(),c=0;cthis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||ht.index(this._seg.p0,this._seg.p1,o)===ht.RIGHT)){var u=s.getDepth(Q.LEFT);this._seg.p0.equals(l[c])||(u=s.getDepth(Q.RIGHT));var h=new Oi(this._seg,u);a.add(h)}}else if(rt(arguments[2],it)&&arguments[0]instanceof V&&rt(arguments[1],it))for(var p=arguments[0],d=arguments[2],f=arguments[1].iterator();f.hasNext();){var m=f.next();m.isForward()&&this.findStabbedSegments(p,m,d)}}},{key:"getDepth",value:function(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:si.min(e)._leftDepth}}],[{key:"constructor_",value:function(){this._subgraphs=null,this._seg=new wi;var t=arguments[0];this._subgraphs=t}}]),e}(),Oi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compareTo",value:function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var i=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==i||0!=(i=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?i:this._upwardSeg.compareTo(e._upwardSeg)}},{key:"compareX",value:function(t,e){var i=t.p0.compareTo(e.p0);return 0!==i?i:t.p1.compareTo(e.p1)}},{key:"toString",value:function(){return this._upwardSeg.toString()}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new wi(t),this._leftDepth=e}}]),e}();Ri.DepthSegment=Oi;var Bi=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,null,[{key:"constructor_",value:function(){y.constructor_.call(this,"Projective point not representable on the Cartesian plane.")}}]),o}(y),Ni=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getY",value:function(){var t=this.y/this.w;if(D.isNaN(t)||D.isInfinite(t))throw new Bi;return t}},{key:"getX",value:function(){var t=this.x/this.w;if(D.isNaN(t)||D.isInfinite(t))throw new Bi;return t}},{key:"getCoordinate",value:function(){var t=new V;return t.x=this.getX(),t.y=this.getY(),t}}],[{key:"constructor_",value:function(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){var t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var i=arguments[0],n=arguments[1];this.x=i,this.y=n,this.w=1}else if(arguments[0]instanceof e&&arguments[1]instanceof e){var r=arguments[0],o=arguments[1];this.x=r.y*o.w-o.y*r.w,this.y=o.x*r.w-r.x*o.w,this.w=r.x*o.y-o.x*r.y}else if(arguments[0]instanceof V&&arguments[1]instanceof V){var s=arguments[0],a=arguments[1];this.x=s.y-a.y,this.y=a.x-s.x,this.w=s.x*a.y-a.x*s.y}}else if(3===arguments.length){var l=arguments[0],c=arguments[1],u=arguments[2];this.x=l,this.y=c,this.w=u}else if(4===arguments.length){var h=arguments[0],p=arguments[1],d=arguments[2],f=arguments[3],m=h.y-p.y,g=p.x-h.x,_=h.x*p.y-p.x*h.y,y=d.y-f.y,v=f.x-d.x,x=d.x*f.y-f.x*d.y;this.x=g*x-v*_,this.y=y*_-m*x,this.w=m*v-y*g}}}]),e}(),Fi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"area",value:function(){return e.area(this.p0,this.p1,this.p2)}},{key:"signedArea",value:function(){return e.signedArea(this.p0,this.p1,this.p2)}},{key:"interpolateZ",value:function(t){if(null===t)throw new v("Supplied point is null.");return e.interpolateZ(t,this.p0,this.p1,this.p2)}},{key:"longestSideLength",value:function(){return e.longestSideLength(this.p0,this.p1,this.p2)}},{key:"isAcute",value:function(){return e.isAcute(this.p0,this.p1,this.p2)}},{key:"circumcentre",value:function(){return e.circumcentre(this.p0,this.p1,this.p2)}},{key:"area3D",value:function(){return e.area3D(this.p0,this.p1,this.p2)}},{key:"centroid",value:function(){return e.centroid(this.p0,this.p1,this.p2)}},{key:"inCentre",value:function(){return e.inCentre(this.p0,this.p1,this.p2)}}],[{key:"constructor_",value:function(){this.p0=null,this.p1=null,this.p2=null;var t=arguments[0],e=arguments[1],i=arguments[2];this.p0=t,this.p1=e,this.p2=i}},{key:"area",value:function(t,e,i){return Math.abs(((i.x-t.x)*(e.y-t.y)-(e.x-t.x)*(i.y-t.y))/2)}},{key:"signedArea",value:function(t,e,i){return((i.x-t.x)*(e.y-t.y)-(e.x-t.x)*(i.y-t.y))/2}},{key:"det",value:function(t,e,i,n){return t*n-e*i}},{key:"interpolateZ",value:function(t,e,i,n){var r=e.x,o=e.y,s=i.x-r,a=n.x-r,l=i.y-o,c=n.y-o,u=s*c-a*l,h=t.x-r,p=t.y-o,d=(c*h-a*p)/u,f=(-l*h+s*p)/u;return e.getZ()+d*(i.getZ()-e.getZ())+f*(n.getZ()-e.getZ())}},{key:"longestSideLength",value:function(t,e,i){var n=t.distance(e),r=e.distance(i),o=i.distance(t),s=n;return r>s&&(s=r),o>s&&(s=o),s}},{key:"circumcentreDD",value:function(t,e,i){var n=lt.valueOf(t.x).subtract(i.x),r=lt.valueOf(t.y).subtract(i.y),o=lt.valueOf(e.x).subtract(i.x),s=lt.valueOf(e.y).subtract(i.y),a=lt.determinant(n,r,o,s).multiply(2),l=n.sqr().add(r.sqr()),c=o.sqr().add(s.sqr()),u=lt.determinant(r,l,s,c),h=lt.determinant(n,l,o,c),p=lt.valueOf(i.x).subtract(u.divide(a)).doubleValue(),d=lt.valueOf(i.y).add(h.divide(a)).doubleValue();return new V(p,d)}},{key:"isAcute",value:function(t,e,i){return!!Li.isAcute(t,e,i)&&!!Li.isAcute(e,i,t)&&!!Li.isAcute(i,t,e)}},{key:"circumcentre",value:function(t,i,n){var r=n.x,o=n.y,s=t.x-r,a=t.y-o,l=i.x-r,c=i.y-o,u=2*e.det(s,a,l,c),h=e.det(a,s*s+a*a,c,l*l+c*c),p=e.det(s,s*s+a*a,l,l*l+c*c);return new V(r-h/u,o+p/u)}},{key:"perpendicularBisector",value:function(t,e){var i=e.x-t.x,n=e.y-t.y,r=new Ni(t.x+i/2,t.y+n/2,1),o=new Ni(t.x-n+i/2,t.y+i+n/2,1);return new Ni(r,o)}},{key:"angleBisector",value:function(t,e,i){var n=e.distance(t),r=n/(n+e.distance(i)),o=i.x-t.x,s=i.y-t.y;return new V(t.x+r*o,t.y+r*s)}},{key:"area3D",value:function(t,e,i){var n=e.x-t.x,r=e.y-t.y,o=e.getZ()-t.getZ(),s=i.x-t.x,a=i.y-t.y,l=i.getZ()-t.getZ(),c=r*l-o*a,u=o*s-n*l,h=n*a-r*s,p=c*c+u*u+h*h;return Math.sqrt(p)/2}},{key:"centroid",value:function(t,e,i){var n=(t.x+e.x+i.x)/3,r=(t.y+e.y+i.y)/3;return new V(n,r)}},{key:"inCentre",value:function(t,e,i){var n=e.distance(i),r=t.distance(i),o=t.distance(e),s=n+r+o,a=(n*t.x+r*e.x+o*i.x)/s,l=(n*t.y+r*e.y+o*i.y)/s;return new V(a,l)}}]),e}(),Ui=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"addRingSide",value:function(t,e,i,n,r){if(0===e&&t.length=Vt.MINIMUM_VALID_SIZE&&ht.isCCW(t)&&(o=r,s=n,i=Q.opposite(i));var a=this._curveBuilder.getRingCurve(t,i,e);this.addCurve(a,o,s)}},{key:"addRingBothSides",value:function(t,e){this.addRingSide(t,e,Q.LEFT,$.EXTERIOR,$.INTERIOR),this.addRingSide(t,e,Q.RIGHT,$.INTERIOR,$.EXTERIOR)}},{key:"addPoint",value:function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),i=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(i,$.EXTERIOR,$.INTERIOR)}},{key:"addPolygon",value:function(t){var e=this._distance,i=Q.LEFT;this._distance<0&&(e=-this._distance,i=Q.RIGHT);var n=t.getExteriorRing(),r=Wt.removeRepeatedPoints(n.getCoordinates());if(this._distance<0&&this.isErodedCompletely(n,this._distance))return null;if(this._distance<=0&&r.length<3)return null;this.addRingSide(r,e,i,$.EXTERIOR,$.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(s,-this._distance)||this.addRingSide(a,e,Q.opposite(i),$.INTERIOR,$.EXTERIOR)}}},{key:"isTriangleErodedCompletely",value:function(t,e){var i=new Fi(t[0],t[1],t[2]),n=i.inCentre();return bt.pointToSegment(n,i.p0,i.p1)r}},{key:"addCollection",value:function(t){for(var e=0;e=this._max)throw new W;var t=this._parent.getGeometryN(this._index++);return t instanceof Ut?(this._subcollectionIterator=new e(t),this._subcollectionIterator.next()):t}},{key:"remove",value:function(){throw new H(this.getClass().getName())}},{key:"hasNext",value:function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}},{key:"interfaces_",get:function(){return[gi]}}],[{key:"constructor_",value:function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()}},{key:"isAtomic",value:function(t){return!(t instanceof Ut)}}]),e}(),Gi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"locate",value:function(t){return e.locate(t,this._geom)}},{key:"interfaces_",get:function(){return[ji]}}],[{key:"constructor_",value:function(){this._geom=null;var t=arguments[0];this._geom=t}},{key:"locatePointInPolygon",value:function(t,i){if(i.isEmpty())return $.EXTERIOR;var n=i.getExteriorRing(),r=e.locatePointInRing(t,n);if(r!==$.INTERIOR)return r;for(var o=0;o=0;i--){var n=this._edgeList.get(i),r=n.getSym();null===e&&(e=r),null!==t&&r.setNext(t),t=n}e.setNext(t)}},{key:"computeDepths",value:function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),i=t.getDepth(Q.LEFT),n=t.getDepth(Q.RIGHT),r=this.computeDepths(e+1,this._edgeList.size(),i);if(this.computeDepths(0,e,r)!==n)throw new dt("depth mismatch at "+t.getCoordinate())}else if(3===arguments.length){for(var o=arguments[1],s=arguments[2],a=arguments[0];a=0;r--){var o=this._resultAreaEdgeList.get(r),s=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),n){case this._SCANNING_FOR_INCOMING:if(s.getEdgeRing()!==t)continue;i=s,n=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;i.setNextMin(o),n=this._SCANNING_FOR_INCOMING}}n===this._LINKING_TO_OUTGOING&&(N.isTrue(null!==e,"found null for first outgoing dirEdge"),N.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),i.setNextMin(e))}},{key:"getOutgoingDegree",value:function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){for(var i=arguments[0],n=0,r=this.iterator();r.hasNext();)r.next().getEdgeRing()===i&&n++;return n}}},{key:"getLabel",value:function(){return this._label}},{key:"findCoveredLineEdges",value:function(){for(var t=$.NONE,e=this.iterator();e.hasNext();){var i=e.next(),n=i.getSym();if(!i.isLineEdge()){if(i.isInResult()){t=$.INTERIOR;break}if(n.isInResult()){t=$.EXTERIOR;break}}}if(t===$.NONE)return null;for(var r=t,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getSym();s.isLineEdge()?s.getEdge().setCovered(r===$.INTERIOR):(s.isInResult()&&(r=$.EXTERIOR),a.isInResult()&&(r=$.INTERIOR))}}},{key:"computeLabelling",value:function(t){p(r(s.prototype),"computeLabelling",this).call(this,t),this._label=new Re($.NONE);for(var e=this.iterator();e.hasNext();)for(var i=e.next().getEdge().getLabel(),n=0;n<2;n++){var o=i.getLocation(n);o!==$.INTERIOR&&o!==$.BOUNDARY||this._label.setLocation(n,$.INTERIOR)}}}],[{key:"constructor_",value:function(){this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}}]),s}(qi),$i=function(e){n(o,e);var r=h(o);function o(){return t(this,o),r.call(this)}return i(o,[{key:"createNode",value:function(t){return new Ue(t,new Zi)}}]),o}(Je),Xi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compareTo",value:function(t){var i=t;return e.compareOriented(this._pts,this._orientation,i._pts,i._orientation)}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=e.orientation(t)}},{key:"orientation",value:function(t){return 1===Wt.increasingDirection(t)}},{key:"compareOriented",value:function(t,e,i,n){for(var r=e?1:-1,o=n?1:-1,s=e?t.length:-1,a=n?i.length:-1,l=e?0:t.length-1,c=n?0:i.length-1;;){var u=t[l].compareTo(i[c]);if(0!==u)return u;var h=(l+=r)===s,p=(c+=o)===a;if(h&&!p)return-1;if(!h&&p)return 1;if(h&&p)return 0}}}]),e}(),Wi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"print",value:function(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var n=i.getCoordinates(),r=0;r0&&t.print(","),t.print(n[r].x+" "+n[r].y);t.println(")")}t.print(") ")}},{key:"addAll",value:function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())}},{key:"findEdgeIndex",value:function(t){for(var e=0;et?1:this.diste?1:0}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],i=arguments[2];this.coord=new V(t),this.segmentIndex=e,this.dist=i}}]),e}(),Ji=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"print",value:function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}},{key:"iterator",value:function(){return this._nodeMap.values().iterator()}},{key:"addSplitEdges",value:function(t){this.addEndpoints();for(var e=this.iterator(),i=e.next();e.hasNext();){var n=e.next(),r=this.createSplitEdge(i,n);t.add(r),i=n}}},{key:"addEndpoints",value:function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)}},{key:"createSplitEdge",value:function(t,e){var i=e.segmentIndex-t.segmentIndex+2,n=this.edge.pts[e.segmentIndex],r=e.dist>0||!e.coord.equals2D(n);r||i--;var o=new Array(i).fill(null),s=0;o[s++]=new V(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this.edge.pts[a];return r&&(o[s]=e.coord),new on(o,new Re(this.edge._label))}},{key:"add",value:function(t,e,i){var n=new Ki(t,e,i),r=this._nodeMap.get(n);return null!==r?r:(this._nodeMap.put(n,n),n)}},{key:"isIntersection",value:function(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1}}],[{key:"constructor_",value:function(){this._nodeMap=new Xe,this.edge=null;var t=arguments[0];this.edge=t}}]),e}(),Qi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"isIntersects",value:function(){return!this.isDisjoint()}},{key:"isCovers",value:function(){return(e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])||e.isTrue(this._matrix[$.INTERIOR][$.BOUNDARY])||e.isTrue(this._matrix[$.BOUNDARY][$.INTERIOR])||e.isTrue(this._matrix[$.BOUNDARY][$.BOUNDARY]))&&this._matrix[$.EXTERIOR][$.INTERIOR]===kt.FALSE&&this._matrix[$.EXTERIOR][$.BOUNDARY]===kt.FALSE}},{key:"isCoveredBy",value:function(){return(e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])||e.isTrue(this._matrix[$.INTERIOR][$.BOUNDARY])||e.isTrue(this._matrix[$.BOUNDARY][$.INTERIOR])||e.isTrue(this._matrix[$.BOUNDARY][$.BOUNDARY]))&&this._matrix[$.INTERIOR][$.EXTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.EXTERIOR]===kt.FALSE}},{key:"set",value:function(){if(1===arguments.length)for(var t=arguments[0],e=0;e=0&&e>=0&&this.setAtLeast(t,e,i)}},{key:"isWithin",value:function(){return e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&this._matrix[$.INTERIOR][$.EXTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.EXTERIOR]===kt.FALSE}},{key:"isTouches",value:function(t,i){return t>i?this.isTouches(i,t):(t===kt.A&&i===kt.A||t===kt.L&&i===kt.L||t===kt.L&&i===kt.A||t===kt.P&&i===kt.A||t===kt.P&&i===kt.L)&&this._matrix[$.INTERIOR][$.INTERIOR]===kt.FALSE&&(e.isTrue(this._matrix[$.INTERIOR][$.BOUNDARY])||e.isTrue(this._matrix[$.BOUNDARY][$.INTERIOR])||e.isTrue(this._matrix[$.BOUNDARY][$.BOUNDARY]))}},{key:"isOverlaps",value:function(t,i){return t===kt.P&&i===kt.P||t===kt.A&&i===kt.A?e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&e.isTrue(this._matrix[$.INTERIOR][$.EXTERIOR])&&e.isTrue(this._matrix[$.EXTERIOR][$.INTERIOR]):t===kt.L&&i===kt.L&&1===this._matrix[$.INTERIOR][$.INTERIOR]&&e.isTrue(this._matrix[$.INTERIOR][$.EXTERIOR])&&e.isTrue(this._matrix[$.EXTERIOR][$.INTERIOR])}},{key:"isEquals",value:function(t,i){return t===i&&e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&this._matrix[$.INTERIOR][$.EXTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.EXTERIOR]===kt.FALSE&&this._matrix[$.EXTERIOR][$.INTERIOR]===kt.FALSE&&this._matrix[$.EXTERIOR][$.BOUNDARY]===kt.FALSE}},{key:"toString",value:function(){for(var t=new Kt("123456789"),e=0;e<3;e++)for(var i=0;i<3;i++)t.setCharAt(3*e+i,kt.toDimensionSymbol(this._matrix[e][i]));return t.toString()}},{key:"setAll",value:function(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this._matrix[e][i]=t}},{key:"get",value:function(t,e){return this._matrix[t][e]}},{key:"transpose",value:function(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}},{key:"matches",value:function(t){if(9!==t.length)throw new v("Should be length 9: "+t);for(var i=0;i<3;i++)for(var n=0;n<3;n++)if(!e.matches(this._matrix[i][n],t.charAt(3*i+n)))return!1;return!0}},{key:"add",value:function(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this.setAtLeast(e,i,t.get(e,i))}},{key:"isDisjoint",value:function(){return this._matrix[$.INTERIOR][$.INTERIOR]===kt.FALSE&&this._matrix[$.INTERIOR][$.BOUNDARY]===kt.FALSE&&this._matrix[$.BOUNDARY][$.INTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.BOUNDARY]===kt.FALSE}},{key:"isCrosses",value:function(t,i){return t===kt.P&&i===kt.L||t===kt.P&&i===kt.A||t===kt.L&&i===kt.A?e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&e.isTrue(this._matrix[$.INTERIOR][$.EXTERIOR]):t===kt.L&&i===kt.P||t===kt.A&&i===kt.P||t===kt.A&&i===kt.L?e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&e.isTrue(this._matrix[$.EXTERIOR][$.INTERIOR]):t===kt.L&&i===kt.L&&0===this._matrix[$.INTERIOR][$.INTERIOR]}},{key:"interfaces_",get:function(){return[w]}}],[{key:"constructor_",value:function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map((function(){return Array(3)})),this.setAll(kt.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){var t=arguments[0];e.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof e){var i=arguments[0];e.constructor_.call(this),this._matrix[$.INTERIOR][$.INTERIOR]=i._matrix[$.INTERIOR][$.INTERIOR],this._matrix[$.INTERIOR][$.BOUNDARY]=i._matrix[$.INTERIOR][$.BOUNDARY],this._matrix[$.INTERIOR][$.EXTERIOR]=i._matrix[$.INTERIOR][$.EXTERIOR],this._matrix[$.BOUNDARY][$.INTERIOR]=i._matrix[$.BOUNDARY][$.INTERIOR],this._matrix[$.BOUNDARY][$.BOUNDARY]=i._matrix[$.BOUNDARY][$.BOUNDARY],this._matrix[$.BOUNDARY][$.EXTERIOR]=i._matrix[$.BOUNDARY][$.EXTERIOR],this._matrix[$.EXTERIOR][$.INTERIOR]=i._matrix[$.EXTERIOR][$.INTERIOR],this._matrix[$.EXTERIOR][$.BOUNDARY]=i._matrix[$.EXTERIOR][$.BOUNDARY],this._matrix[$.EXTERIOR][$.EXTERIOR]=i._matrix[$.EXTERIOR][$.EXTERIOR]}}},{key:"matches",value:function(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){var t=arguments[0],i=arguments[1];return i===kt.SYM_DONTCARE||i===kt.SYM_TRUE&&(t>=0||t===kt.TRUE)||i===kt.SYM_FALSE&&t===kt.FALSE||i===kt.SYM_P&&t===kt.P||i===kt.SYM_L&&t===kt.L||i===kt.SYM_A&&t===kt.A}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){var n=arguments[1];return new e(arguments[0]).matches(n)}}},{key:"isTrue",value:function(t){return t>=0||t===kt.TRUE}}]),e}(),tn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"size",value:function(){return this._size}},{key:"addAll",value:function(t){return null===t||0===t.length?null:(this.ensureCapacity(this._size+t.length),vt.arraycopy(t,0,this._data,this._size,t.length),void(this._size+=t.length))}},{key:"ensureCapacity",value:function(t){if(t<=this._data.length)return null;var e=Math.max(t,2*this._data.length);this._data=Dt.copyOf(this._data,e)}},{key:"toArray",value:function(){var t=new Array(this._size).fill(null);return vt.arraycopy(this._data,0,t,0,this._size),t}},{key:"add",value:function(t){this.ensureCapacity(this._size+1),this._data[this._size]=t,++this._size}}],[{key:"constructor_",value:function(){if(this._data=null,this._size=0,0===arguments.length)e.constructor_.call(this,10);else if(1===arguments.length){var t=arguments[0];this._data=new Array(t).fill(null)}}}]),e}(),en=function(){function e(){t(this,e)}return i(e,[{key:"getChainStartIndices",value:function(t){var e=0,i=new tn(Math.trunc(t.length/2));i.add(e);do{var n=this.findChainEnd(t,e);i.add(n),e=n}while(ei?e:i}},{key:"getMinX",value:function(t){var e=this.pts[this.startIndex[t]].x,i=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][i]=n}}}},{key:"getDelta",value:function(t){return this._depth[t][Q.RIGHT]-this._depth[t][Q.LEFT]}},{key:"getLocation",value:function(t,e){return this._depth[t][e]<=0?$.EXTERIOR:$.INTERIOR}},{key:"toString",value:function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}},{key:"add",value:function(){if(1===arguments.length)for(var t=arguments[0],i=0;i<2;i++)for(var n=1;n<3;n++){var r=t.getLocation(i,n);r!==$.EXTERIOR&&r!==$.INTERIOR||(this.isNull(i,n)?this._depth[i][n]=e.depthAtLocation(r):this._depth[i][n]+=e.depthAtLocation(r))}else if(3===arguments.length){var o=arguments[0],s=arguments[1];arguments[2]===$.INTERIOR&&this._depth[o][s]++}}}],[{key:"constructor_",value:function(){this._depth=Array(2).fill().map((function(){return Array(3)}));for(var t=0;t<2;t++)for(var i=0;i<3;i++)this._depth[t][i]=e.NULL_VALUE}},{key:"depthAtLocation",value:function(t){return t===$.EXTERIOR?0:t===$.INTERIOR?1:e.NULL_VALUE}}]),e}();rn.NULL_VALUE=-1;var on=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"getDepth",value:function(){return this._depth}},{key:"getCollapsedEdge",value:function(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new s(t,Re.toLineLabel(this._label))}},{key:"isIsolated",value:function(){return this._isIsolated}},{key:"getCoordinates",value:function(){return this.pts}},{key:"setIsolated",value:function(t){this._isIsolated=t}},{key:"setName",value:function(t){this._name=t}},{key:"equals",value:function(t){if(!(t instanceof s))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var i=!0,n=!0,r=this.pts.length,o=0;o0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}}},{key:"print",value:function(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}},{key:"computeIM",value:function(t){s.updateIM(this._label,t)}},{key:"isCollapsed",value:function(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])}},{key:"isClosed",value:function(){return this.pts[0].equals(this.pts[this.pts.length-1])}},{key:"getMaximumSegmentIndex",value:function(){return this.pts.length-1}},{key:"getDepthDelta",value:function(){return this._depthDelta}},{key:"getNumPoints",value:function(){return this.pts.length}},{key:"printReverse",value:function(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}},{key:"getMonotoneChainEdge",value:function(){return null===this._mce&&(this._mce=new nn(this)),this._mce}},{key:"getEnvelope",value:function(){if(null===this._env){this._env=new q;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}},{key:"isPointwiseEqual",value:function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;en||this._maxyo;if(s)return!1;var a=this.intersectsToleranceSquare(t,e);return N.isTrue(!(s&&a),"Found bad envelope test"),a}},{key:"initCorners",value:function(t){var e=.5;this._minx=t.x-e,this._maxx=t.x+e,this._miny=t.y-e,this._maxy=t.y+e,this._corner[0]=new V(this._maxx,this._maxy),this._corner[1]=new V(this._minx,this._maxy),this._corner[2]=new V(this._minx,this._miny),this._corner[3]=new V(this._maxx,this._miny)}},{key:"intersects",value:function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))}},{key:"scale",value:function(t){return Math.round(t*this._scaleFactor)}},{key:"getCoordinate",value:function(){return this._originalPt}},{key:"copyScaled",value:function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)}},{key:"getSafeEnvelope",value:function(){if(null===this._safeEnv){var t=e.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new q(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv}},{key:"intersectsPixelClosure",value:function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))))}},{key:"intersectsToleranceSquare",value:function(t,e){var i=!1,n=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper()||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper()||i&&n||t.equals(this._pt)||e.equals(this._pt)))))}},{key:"addSnappedNode",value:function(t,e){var i=t.getCoordinate(e),n=t.getCoordinate(e+1);return!!this.intersects(i,n)&&(t.addIntersection(this.getCoordinate(),e),!0)}}],[{key:"constructor_",value:function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var t=arguments[0],e=arguments[1],i=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=i,e<=0)throw new v("Scale factor must be non-zero");1!==e&&(this._pt=new V(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new V,this._p1Scaled=new V),this.initCorners(this._pt)}}]),e}();cn.SAFE_ENV_EXPANSION_FACTOR=.75;var un=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"select",value:function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}}],[{key:"constructor_",value:function(){this.selectedSegment=new wi}}]),e}(),hn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"snap",value:function(){if(1===arguments.length){var e=arguments[0];return this.snap(e,null,-1)}if(3===arguments.length){var n=arguments[0],r=arguments[1],o=arguments[2],s=n.getSafeEnvelope(),a=new pn(n,r,o);return this._index.query(s,new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[ci]}},{key:"visitItem",value:function(t){t.select(s,a)}}]),e}())),a.isNodeAdded()}}}],[{key:"constructor_",value:function(){this._index=null;var t=arguments[0];this._index=t}}]),e}(),pn=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"isNodeAdded",value:function(){return this._isNodeAdded}},{key:"select",value:function(){if(!(2===arguments.length&&Number.isInteger(arguments[1])&&arguments[0]instanceof Ei))return p(r(s.prototype),"select",this).apply(this,arguments);var t=arguments[1],e=arguments[0].getContext();if(this._parentEdge===e&&(t===this._hotPixelVertexIndex||t+1===this._hotPixelVertexIndex))return null;this._isNodeAdded|=this._hotPixel.addSnappedNode(e,t)}}],[{key:"constructor_",value:function(){this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],e=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=e,this._hotPixelVertexIndex=i}}]),s}(un);hn.HotPixelSnapAction=pn;var dn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"processIntersections",value:function(t,e,i,n){if(t===i&&e===n)return null;var r=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=i.getCoordinates()[n],a=i.getCoordinates()[n+1];if(this._li.computeIntersection(r,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var l=0;l=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof dt))throw t;this._saveException=t}if(null!==this._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var i=arguments[0],n=e.precisionScaleFactor(this._argGeom,this._distance,i),r=new ne(n);this.bufferFixedPrecision(r)}}},{key:"computeGeometry",value:function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===ne.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()}},{key:"setQuadrantSegments",value:function(t){this._bufParams.setQuadrantSegments(t)}},{key:"bufferOriginalPrecision",value:function(){try{var t=new sn(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof O))throw t;this._saveException=t}}},{key:"getResultGeometry",value:function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry}},{key:"setEndCapStyle",value:function(t){this._bufParams.setEndCapStyle(t)}}],[{key:"constructor_",value:function(){if(this._argGeom=null,this._distance=null,this._bufParams=new _,this._resultGeometry=null,this._saveException=null,1===arguments.length){var t=arguments[0];this._argGeom=t}else if(2===arguments.length){var e=arguments[0],i=arguments[1];this._argGeom=e,this._bufParams=i}}},{key:"bufferOp",value:function(){if(2===arguments.length){var t=arguments[1];return new e(arguments[0]).getResultGeometry(t)}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof Z&&"number"==typeof arguments[1]){var i=arguments[1],n=arguments[2],r=new e(arguments[0]);return r.setQuadrantSegments(n),r.getResultGeometry(i)}if(arguments[2]instanceof _&&arguments[0]instanceof Z&&"number"==typeof arguments[1]){var o=arguments[1];return new e(arguments[0],arguments[2]).getResultGeometry(o)}}else if(4===arguments.length){var s=arguments[1],a=arguments[2],l=arguments[3],c=new e(arguments[0]);return c.setQuadrantSegments(a),c.setEndCapStyle(l),c.getResultGeometry(s)}}},{key:"precisionScaleFactor",value:function(t,e,i){var n=t.getEnvelopeInternal(),r=xt.max(Math.abs(n.getMaxX()),Math.abs(n.getMaxY()),Math.abs(n.getMinX()),Math.abs(n.getMinY()))+2*(e>0?e:0),o=i-Math.trunc(Math.log(r)/Math.log(10)+1);return Math.pow(10,o)}}]),e}();mn.CAP_ROUND=_.CAP_ROUND,mn.CAP_BUTT=_.CAP_FLAT,mn.CAP_FLAT=_.CAP_FLAT,mn.CAP_SQUARE=_.CAP_SQUARE,mn.MAX_PRECISION_DIGITS=12;var gn=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],_n=function(){function e(i){t(this,e),this.geometryFactory=i||new se}return i(e,[{key:"read",value:function(t){var e,i=(e="string"==typeof t?JSON.parse(t):t).type;if(!yn[i])throw new Error("Unknown GeoJSON type: "+e.type);return-1!==gn.indexOf(i)?yn[i].call(this,e.coordinates):"GeometryCollection"===i?yn[i].call(this,e.geometries):yn[i].call(this,e)}},{key:"write",value:function(t){var e=t.getGeometryType();if(!vn[e])throw new Error("Geometry is not supported");return vn[e].call(this,t)}}]),e}(),yn={Feature:function(t){var e={};for(var i in t)e[i]=t[i];if(t.geometry){var n=t.geometry.type;if(!yn[n])throw new Error("Unknown GeoJSON type: "+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=yn.bbox.call(this,t.bbox)),e},FeatureCollection:function(t){var e={};if(t.features){e.features=[];for(var i=0;i{"use strict";var n=i(8075)("ArrayBuffer.prototype.byteLength",!0),r=i(4670);t.exports=function(t){return r(t)?n?n(t):t.byteLength:NaN}},8075:(t,e,i)=>{"use strict";var n=i(453),r=i(487),o=r(n("String.prototype.indexOf"));t.exports=function(t,e){var i=n(t,!!e);return"function"==typeof i&&o(t,".prototype.")>-1?r(i):i}},487:(t,e,i)=>{"use strict";var n=i(6743),r=i(453),o=i(6897),s=i(9675),a=r("%Function.prototype.apply%"),l=r("%Function.prototype.call%"),c=r("%Reflect.apply%",!0)||n.call(l,a),u=i(655),h=r("%Math.max%");t.exports=function(t){if("function"!=typeof t)throw new s("a function is required");var e=c(n,l,arguments);return o(e,1+h(0,t.length-(arguments.length-1)),!0)};var p=function(){return c(n,a,arguments)};u?u(t.exports,"apply",{value:p}):t.exports.apply=p},9887:(t,e,i)=>{"use strict";i.d(e,{A:()=>a});var n=i(4991),r=i.n(n),o=i(6314),s=i.n(o)()(r());s.push([t.id,".mapboxgl-ctrl-geocoder,.mapboxgl-ctrl-geocoder *,.mapboxgl-ctrl-geocoder :after,.mapboxgl-ctrl-geocoder :before{box-sizing:border-box}.mapboxgl-ctrl-geocoder{background-color:#fff;border-radius:4px;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,Helvetica,sans-serif;font-size:18px;line-height:24px;min-width:240px;position:relative;transition:width .25s,min-width .25s;width:100%;z-index:1}.mapboxgl-ctrl-geocoder--input{background-color:transparent;border:0;color:#404040;color:rgba(0,0,0,.75);font:inherit;height:50px;margin:0;overflow:hidden;padding:6px 45px;text-overflow:ellipsis;white-space:nowrap;width:100%}.mapboxgl-ctrl-geocoder--input::-ms-clear{display:none}.mapboxgl-ctrl-geocoder--input:focus{box-shadow:none;color:#404040;color:rgba(0,0,0,.75);outline:0;outline:thin dotted}.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right>*{display:none;position:absolute;right:8px;top:7px;z-index:2}.mapboxgl-ctrl-geocoder,.mapboxgl-ctrl-geocoder .suggestions{box-shadow:0 0 10px 2px rgba(0,0,0,.1)}.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed{min-width:50px;transition:width .25s,min-width .25s;width:50px}.mapboxgl-ctrl-geocoder .suggestions{background-color:#fff;border-radius:4px;font-size:15px;left:0;list-style:none;margin:0;overflow:hidden;padding:0;position:absolute;top:110%;top:calc(100% + 6px);width:100%;z-index:1000}.mapboxgl-ctrl-bottom-left .suggestions,.mapboxgl-ctrl-bottom-right .suggestions{bottom:100%;top:auto}.mapboxgl-ctrl-geocoder .suggestions>li>a{color:#404040;cursor:default;display:block;padding:6px 12px}.mapboxgl-ctrl-geocoder .suggestions>.active>a,.mapboxgl-ctrl-geocoder .suggestions>li>a:hover{background-color:#f3f3f3;color:#404040;cursor:pointer;text-decoration:none}.mapboxgl-ctrl-geocoder--suggestion-title{font-weight:700}.mapboxgl-ctrl-geocoder--suggestion-address,.mapboxgl-ctrl-geocoder--suggestion-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapboxgl-ctrl-geocoder--icon{speak:none;fill:#757575;display:inline-block;top:15px;vertical-align:middle}.mapboxgl-ctrl-geocoder--icon-search{height:23px;left:12px;position:absolute;top:13px;width:23px}.mapboxgl-ctrl-geocoder--button{background:#fff;border:none;cursor:pointer;line-height:1;margin:0;padding:0}.mapboxgl-ctrl-geocoder--icon-close{height:20px;margin-right:3px;margin-top:8px;width:20px}.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close{fill:#909090}.mapboxgl-ctrl-geocoder--icon-geolocate{height:22px;margin-right:3px;margin-top:6px;width:22px}.mapboxgl-ctrl-geocoder--icon-loading{animation:rotate .8s cubic-bezier(.45,.05,.55,.95) infinite;height:26px;margin-right:0;margin-top:5px;width:26px}.mapboxgl-ctrl-geocoder--powered-by{display:block;float:left;font-size:13px;padding:6px 12px 9px}.mapboxgl-ctrl-geocoder--powered-by a{color:#909090}.mapboxgl-ctrl-geocoder--powered-by a:not(:hover){text-decoration:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media screen and (min-width:640px){.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed{min-width:36px;width:36px}.mapboxgl-ctrl-geocoder{font-size:15px;line-height:20px;max-width:360px;width:33.3333%}.mapboxgl-ctrl-geocoder .suggestions{font-size:13px}.mapboxgl-ctrl-geocoder--icon{top:8px}.mapboxgl-ctrl-geocoder--icon-close{height:16px;margin-right:0;margin-top:3px;width:16px}.mapboxgl-ctrl-geocoder--icon-geolocate{height:18px;margin-right:0;margin-top:2px;width:18px}.mapboxgl-ctrl-geocoder--icon-search{height:20px;left:7px;width:20px}.mapboxgl-ctrl-geocoder--input{height:36px;padding:6px 35px}.mapboxgl-ctrl-geocoder--icon-loading{height:26px;margin-right:-5px;margin-top:-2px;width:26px}.mapbox-gl-geocoder--error{color:#909090;font-size:16px;padding:6px 12px;text-align:center}.mapboxgl-ctrl-geocoder--powered-by{font-size:11px!important}}","",{version:3,sources:["webpack://./node_modules/@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css"],names:[],mappings:"AACA,iHAIE,qBACF,CAEA,wBAKE,qBAAsB,CAItB,iBAAkB,CANlB,gGAA2G,CAF3G,cAAe,CACf,gBAAiB,CAKjB,eAAgB,CAHhB,iBAAkB,CAMlB,oCAAsC,CAJtC,UAAW,CAEX,SAGF,CAEA,+BAIE,4BAA6B,CAD7B,QAAS,CAIT,aAAc,CACd,qBAA0B,CAP1B,YAAa,CAKb,WAAY,CADZ,QAAS,CAOT,eAAgB,CAHhB,gBAAiB,CACjB,sBAAuB,CACvB,kBAAmB,CATnB,UAWF,CAEA,0CACE,YACF,CAEA,qCAIE,eAAgB,CAHhB,aAAc,CACd,qBAA0B,CAC1B,SAAU,CAEV,mBACF,CAEA,6DAKE,YAAa,CAHb,iBAAkB,CAClB,SAAU,CACV,OAAQ,CAHR,SAKF,CAEA,6DAEE,sCACF,CAGA,0DAEE,cAAe,CACf,oCAAsC,CAFtC,UAGF,CAGA,qCACE,qBAAsB,CACtB,iBAAkB,CAWlB,cAAe,CAVf,MAAO,CACP,eAAgB,CAChB,QAAS,CAOT,eAAgB,CANhB,SAAU,CACV,iBAAkB,CAElB,QAAS,CACT,oBAAqB,CAFrB,UAAW,CAGX,YAGF,CAEA,iFAGE,WAAY,CADZ,QAEF,CAEA,0CAIE,aAAc,CAHd,cAAe,CACf,aAAc,CACd,gBAEF,CAEA,+FAGE,wBAAyB,CADzB,aAAc,CAGd,cAAe,CADf,oBAEF,CAEA,0CACE,eACF,CAEA,sFAGE,eAAgB,CADhB,sBAAuB,CAEvB,kBACF,CAGA,8BAGE,UAAW,CACX,YAAa,CAHb,oBAAqB,CAIrB,QAAS,CAHT,qBAIF,CAEA,qCAKE,WAAY,CAFZ,SAAU,CAFV,iBAAkB,CAClB,QAAS,CAET,UAEF,CAEA,gCAKE,eAAgB,CAFhB,WAAY,CACZ,cAAe,CAEf,aAAc,CAJd,QAAS,CADT,SAMF,CAEA,oCAEE,WAAY,CAEZ,gBAAiB,CADjB,cAAe,CAFf,UAIF,CAEA,0EACE,YACF,CAEA,wCAEE,WAAY,CAEZ,gBAAiB,CADjB,cAAe,CAFf,UAIF,CAEA,sCAOE,2DAAoE,CALpE,WAAY,CAEZ,cAAiB,CADjB,cAAe,CAFf,UAOF,CAEA,oCACE,aAAc,CACd,UAAW,CAGX,cAAe,CADf,oBAEF,CAEA,sCACE,aACF,CAEA,kDACE,oBACF,CAcA,kBACE,GAEE,mBACF,CACA,GAEE,uBACF,CACF,CAGA,oCAEE,0DAEE,cAAe,CADf,UAEF,CAEA,wBAEE,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAHhB,cAIF,CACA,qCACE,cACF,CAEA,8BACE,OACF,CAEA,oCAEE,WAAY,CAEZ,cAAe,CADf,cAAe,CAFf,UAIF,CAEA,wCAEE,WAAY,CAEZ,cAAe,CADf,cAAe,CAFf,UAIF,CAEA,qCAGE,WAAY,CAFZ,QAAS,CACT,UAEF,CAEA,+BACE,WAAY,CACZ,gBACF,CAEA,sCAEE,WAAY,CAEZ,iBAAkB,CADlB,eAAgB,CAFhB,UAIF,CAEA,2BACE,aAAa,CAEb,cAAe,CADf,gBAAiB,CAEjB,iBACF,CAEA,oCACE,wBACF,CACF",sourcesContent:['/* Basics */\n.mapboxgl-ctrl-geocoder,\n.mapboxgl-ctrl-geocoder *,\n.mapboxgl-ctrl-geocoder *:after,\n.mapboxgl-ctrl-geocoder *:before {\n box-sizing: border-box;\n}\n\n.mapboxgl-ctrl-geocoder {\n font-size: 18px;\n line-height: 24px;\n font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, Helvetica, sans-serif;\n position: relative;\n background-color: #fff;\n width: 100%;\n min-width: 240px;\n z-index: 1;\n border-radius: 4px;\n transition: width .25s, min-width .25s;\n}\n\n.mapboxgl-ctrl-geocoder--input {\n font: inherit;\n width: 100%;\n border: 0;\n background-color: transparent;\n margin: 0;\n height: 50px;\n color: #404040; /* fallback */\n color: rgba(0, 0, 0, 0.75);\n padding: 6px 45px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.mapboxgl-ctrl-geocoder--input::-ms-clear {\n display: none; /* hide input clear button in IE */\n}\n\n.mapboxgl-ctrl-geocoder--input:focus {\n color: #404040; /* fallback */\n color: rgba(0, 0, 0, 0.75);\n outline: 0;\n box-shadow: none;\n outline: thin dotted;\n}\n\n.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right > * {\n z-index: 2;\n position: absolute;\n right: 8px;\n top: 7px;\n display: none;\n}\n\n.mapboxgl-ctrl-geocoder,\n.mapboxgl-ctrl-geocoder .suggestions {\n box-shadow: 0 0 10px 2px rgba(0,0,0,.1);\n}\n\n/* Collapsed */\n.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {\n width: 50px;\n min-width: 50px;\n transition: width .25s, min-width .25s;\n}\n\n/* Suggestions */\n.mapboxgl-ctrl-geocoder .suggestions {\n background-color: #fff;\n border-radius: 4px;\n left: 0;\n list-style: none;\n margin: 0;\n padding: 0;\n position: absolute;\n width: 100%;\n top: 110%; /* fallback */\n top: calc(100% + 6px);\n z-index: 1000;\n overflow: hidden;\n font-size: 15px;\n}\n\n.mapboxgl-ctrl-bottom-left .suggestions,\n.mapboxgl-ctrl-bottom-right .suggestions {\n top: auto;\n bottom: 100%;\n}\n\n.mapboxgl-ctrl-geocoder .suggestions > li > a {\n cursor: default;\n display: block;\n padding: 6px 12px;\n color: #404040;\n}\n\n.mapboxgl-ctrl-geocoder .suggestions > .active > a,\n.mapboxgl-ctrl-geocoder .suggestions > li > a:hover {\n color: #404040;\n background-color: #f3f3f3;\n text-decoration: none;\n cursor: pointer;\n}\n\n.mapboxgl-ctrl-geocoder--suggestion-title {\n font-weight: bold;\n}\n\n.mapboxgl-ctrl-geocoder--suggestion-title,\n.mapboxgl-ctrl-geocoder--suggestion-address {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n/* Icons */\n.mapboxgl-ctrl-geocoder--icon {\n display: inline-block;\n vertical-align: middle;\n speak: none;\n fill: #757575;\n top: 15px;\n}\n\n.mapboxgl-ctrl-geocoder--icon-search {\n position: absolute;\n top: 13px;\n left: 12px;\n width: 23px;\n height: 23px;\n}\n\n.mapboxgl-ctrl-geocoder--button {\n padding: 0;\n margin: 0;\n border: none;\n cursor: pointer;\n background: #fff;\n line-height: 1;\n}\n\n.mapboxgl-ctrl-geocoder--icon-close {\n width: 20px;\n height: 20px;\n margin-top: 8px;\n margin-right: 3px;\n}\n\n.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close {\n fill: #909090;\n}\n\n.mapboxgl-ctrl-geocoder--icon-geolocate {\n width: 22px;\n height: 22px;\n margin-top: 6px;\n margin-right: 3px;\n}\n\n.mapboxgl-ctrl-geocoder--icon-loading {\n width: 26px;\n height: 26px;\n margin-top: 5px;\n margin-right: 0px;\n -moz-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n -webkit-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n}\n\n.mapboxgl-ctrl-geocoder--powered-by {\n display: block;\n float: left;\n padding: 6px 12px;\n padding-bottom: 9px;\n font-size: 13px;\n}\n\n.mapboxgl-ctrl-geocoder--powered-by a {\n color: #909090;\n}\n\n.mapboxgl-ctrl-geocoder--powered-by a:not(:hover) {\n text-decoration: none; \n}\n\n/* Animation */\n@-webkit-keyframes rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* Media queries*/\n@media screen and (min-width: 640px) {\n\n .mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {\n width: 36px;\n min-width: 36px;\n }\n\n .mapboxgl-ctrl-geocoder {\n width: 33.3333%;\n font-size: 15px;\n line-height: 20px;\n max-width: 360px;\n }\n .mapboxgl-ctrl-geocoder .suggestions {\n font-size: 13px;\n }\n\n .mapboxgl-ctrl-geocoder--icon {\n top: 8px;\n }\n\n .mapboxgl-ctrl-geocoder--icon-close {\n width: 16px;\n height: 16px;\n margin-top: 3px;\n margin-right: 0;\n }\n\n .mapboxgl-ctrl-geocoder--icon-geolocate {\n width: 18px;\n height: 18px;\n margin-top: 2px;\n margin-right: 0;\n }\n\n .mapboxgl-ctrl-geocoder--icon-search {\n left: 7px;\n width: 20px;\n height: 20px;\n }\n\n .mapboxgl-ctrl-geocoder--input {\n height: 36px;\n padding: 6px 35px;\n }\n\n .mapboxgl-ctrl-geocoder--icon-loading {\n width: 26px;\n height: 26px;\n margin-top: -2px;\n margin-right: -5px;\n }\n\n .mapbox-gl-geocoder--error{\n color:#909090;\n padding: 6px 12px;\n font-size: 16px;\n text-align: center;\n }\n\n .mapboxgl-ctrl-geocoder--powered-by {\n font-size: 11px !important;\n }\n}\n'],sourceRoot:""}]);const a=s},7121:(t,e,i)=>{"use strict";i.d(e,{A:()=>a});var n=i(4991),r=i.n(n),o=i(6314),s=i.n(o)()(r());s.push([t.id,".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}","",{version:3,sources:["webpack://./node_modules/mapbox-gl/dist/mapbox-gl.css"],names:[],mappings:"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",sourcesContent:[".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}"],sourceRoot:""}]);const a=s},6314:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=t(e);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i,n){"string"==typeof t&&(t=[[null,t,""]]);var r={};if(n)for(var o=0;o{"use strict";function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==i)return;var n,r,o=[],s=!0,a=!1;try{for(i=i.call(t);!(s=(n=i.next()).done)&&(o.push(n.value),!e||o.length!==e);s=!0);}catch(t){a=!0,r=t}finally{try{s||null==i.return||i.return()}finally{if(a)throw r}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i{"use strict";var n=i(6525),r=i(8075),o=i(1589),s=i(453),a=i(4552),l=i(920),c=i(7653),u=i(7244),h=i(1451),p=i(4670),d=i(2120),f=i(4035),m=i(7070),g=i(1189),_=i(1539),y=i(593),v=i(5767),x=i(9511),b=r("SharedArrayBuffer.prototype.byteLength",!0),w=r("Date.prototype.getTime"),A=Object.getPrototypeOf,E=r("Object.prototype.toString"),C=s("%Set%",!0),T=r("Map.prototype.has",!0),k=r("Map.prototype.get",!0),S=r("Map.prototype.size",!0),I=r("Set.prototype.add",!0),M=r("Set.prototype.delete",!0),P=r("Set.prototype.has",!0),L=r("Set.prototype.size",!0);function z(t,e,i,n){for(var r,o=a(t);(r=o.next())&&!r.done;)if(N(e,r.value,i,n))return M(t,r.value),!0;return!1}function D(t){return void 0===t?null:"object"!=typeof t?"symbol"!=typeof t&&("string"!=typeof t&&"number"!=typeof t||+t==+t):void 0}function R(t,e,i,r,o,s){var a=D(i);if(null!=a)return a;var l=k(e,a),c=n({},o,{strict:!1});return!(void 0===l&&!T(e,a)||!N(r,l,c,s))&&(!T(t,a)&&N(r,l,c,s))}function O(t,e,i){var n=D(i);return null!=n?n:P(e,n)&&!P(t,n)}function B(t,e,i,n,r,o){for(var s,l,c=a(t);(s=c.next())&&!s.done;)if(N(i,l=s.value,r,o)&&N(n,k(e,l),r,o))return M(t,l),!0;return!1}function N(t,e,i,r){var s=i||{};if(s.strict?c(t,e):t===e)return!0;if(_(t)!==_(e))return!1;if(!t||!e||"object"!=typeof t&&"object"!=typeof e)return s.strict?c(t,e):t==e;var l,M=r.has(t),D=r.has(e);if(M&&D){if(r.get(t)===r.get(e))return!0}else l={};return M||r.set(t,l),D||r.set(e,l),function(t,e,i,r){var s,l;if(typeof t!=typeof e)return!1;if(null==t||null==e)return!1;if(E(t)!==E(e))return!1;if(u(t)!==u(e))return!1;var c=h(t),_=h(e);if(c!==_)return!1;var M=t instanceof Error,D=e instanceof Error;if(M!==D)return!1;if((M||D)&&(t.name!==e.name||t.message!==e.message))return!1;var U=f(t),j=f(e);if(U!==j)return!1;if((U||j)&&(t.source!==e.source||o(t)!==o(e)))return!1;var V=d(t),G=d(e);if(V!==G)return!1;if((V||G)&&w(t)!==w(e))return!1;if(i.strict&&A&&A(t)!==A(e))return!1;var q=v(t),Z=v(e);if(q!==Z)return!1;if(q||Z){if(t.length!==e.length)return!1;for(s=0;s=0;s--)if(J[s]!=Q[s])return!1;for(s=J.length-1;s>=0;s--)if(!N(t[l=J[s]],e[l],i,r))return!1;var tt=y(t),et=y(e);if(tt!==et)return!1;if("Set"===tt||"Set"===et)return function(t,e,i,n){if(L(t)!==L(e))return!1;var r,o,s,l=a(t),c=a(e);for(;(r=l.next())&&!r.done;)if(r.value&&"object"==typeof r.value)s||(s=new C),I(s,r.value);else if(!P(e,r.value)){if(i.strict)return!1;if(!O(t,e,r.value))return!1;s||(s=new C),I(s,r.value)}if(s){for(;(o=c.next())&&!o.done;)if(o.value&&"object"==typeof o.value){if(!z(s,o.value,i.strict,n))return!1}else if(!i.strict&&!P(t,o.value)&&!z(s,o.value,i.strict,n))return!1;return 0===L(s)}return!0}(t,e,i,r);if("Map"===tt)return function(t,e,i,r){if(S(t)!==S(e))return!1;var o,s,l,c,u,h,p=a(t),d=a(e);for(;(o=p.next())&&!o.done;)if(c=o.value[0],u=o.value[1],c&&"object"==typeof c)l||(l=new C),I(l,c);else if(void 0===(h=k(e,c))&&!T(e,c)||!N(u,h,i,r)){if(i.strict)return!1;if(!R(t,e,c,u,i,r))return!1;l||(l=new C),I(l,c)}if(l){for(;(s=d.next())&&!s.done;)if(c=s.value[0],h=s.value[1],c&&"object"==typeof c){if(!B(l,t,c,h,i,r))return!1}else if(!(i.strict||t.has(c)&&N(k(t,c),h,i,r)||B(l,t,c,h,n({},i,{strict:!1}),r)))return!1;return 0===L(l)}return!0}(t,e,i,r);return!0}(t,e,s,r)}function F(t){return!(!t||"object"!=typeof t||"number"!=typeof t.length)&&("function"==typeof t.copy&&"function"==typeof t.slice&&(!(t.length>0&&"number"!=typeof t[0])&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))))}t.exports=function(t,e,i){return N(t,e,i,l())}},1451:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},41:(t,e,i)=>{"use strict";var n=i(655),r=i(8068),o=i(9675),s=i(5795);t.exports=function(t,e,i){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new o("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new o("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new o("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new o("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new o("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!s&&s(t,e);if(n)n(t,e,{configurable:null===c&&h?h.configurable:!c,enumerable:null===a&&h?h.enumerable:!a,value:i,writable:null===l&&h?h.writable:!l});else{if(!u&&(a||l||c))throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=i}}},8452:(t,e,i)=>{"use strict";var n=i(1189),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),o=Object.prototype.toString,s=Array.prototype.concat,a=i(41),l=i(592)(),c=function(t,e,i,n){if(e in t)if(!0===n){if(t[e]===i)return}else if("function"!=typeof(r=n)||"[object Function]"!==o.call(r)||!n())return;var r;l?a(t,e,i,!0):a(t,e,i)},u=function(t,e){var i=arguments.length>2?arguments[2]:{},o=n(e);r&&(o=s.call(o,Object.getOwnPropertySymbols(e)));for(var a=0;a{"use strict";var n=i(453)("%Object.defineProperty%",!0)||!1;if(n)try{n({},"a",{value:1})}catch(t){n=!1}t.exports=n},1237:t=>{"use strict";t.exports=EvalError},9383:t=>{"use strict";t.exports=Error},9290:t=>{"use strict";t.exports=RangeError},7157:t=>{"use strict";t.exports=ReferenceError},8068:t=>{"use strict";t.exports=SyntaxError},9675:t=>{"use strict";t.exports=TypeError},5345:t=>{"use strict";t.exports=URIError},7738:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},2682:(t,e,i)=>{"use strict";var n=i(9600),r=Object.prototype.toString,o=Object.prototype.hasOwnProperty;t.exports=function(t,e,i){if(!n(e))throw new TypeError("iterator must be a function");var s;arguments.length>=3&&(s=i),"[object Array]"===r.call(t)?function(t,e,i){for(var n=0,r=t.length;n{"use strict";var e=Object.prototype.toString,i=Math.max,n=function(t,e){for(var i=[],n=0;n{"use strict";var n=i(9353);t.exports=Function.prototype.bind||n},4462:t=>{"use strict";var e=function(){return"string"==typeof function(){}.name},i=Object.getOwnPropertyDescriptor;if(i)try{i([],"length")}catch(t){i=null}e.functionsHaveConfigurableNames=function(){if(!e()||!i)return!1;var t=i((function(){}),"name");return!!t&&!!t.configurable};var n=Function.prototype.bind;e.boundFunctionsHaveNames=function(){return e()&&"function"==typeof n&&""!==function(){}.bind().name},t.exports=e},453:(t,e,i)=>{"use strict";var n,r=i(9383),o=i(1237),s=i(9290),a=i(7157),l=i(8068),c=i(9675),u=i(5345),h=Function,p=function(t){try{return h('"use strict"; return ('+t+").constructor;")()}catch(t){}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch(t){d=null}var f=function(){throw new c},m=d?function(){try{return f}catch(t){try{return d(arguments,"callee").get}catch(t){return f}}}():f,g=i(4039)(),_=i(24)(),y=Object.getPrototypeOf||(_?function(t){return t.__proto__}:null),v={},x="undefined"!=typeof Uint8Array&&y?y(Uint8Array):n,b={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":g&&y?y([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?n:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":o,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":h,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&y?y(y([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&g&&y?y((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":s,"%ReferenceError%":a,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&g&&y?y((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&y?y(""[Symbol.iterator]()):n,"%Symbol%":g?Symbol:n,"%SyntaxError%":l,"%ThrowTypeError%":m,"%TypedArray%":x,"%TypeError%":c,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":u,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet};if(y)try{null.error}catch(t){var w=y(y(t));b["%Error.prototype%"]=w}var A=function t(e){var i;if("%AsyncFunction%"===e)i=p("async function () {}");else if("%GeneratorFunction%"===e)i=p("function* () {}");else if("%AsyncGeneratorFunction%"===e)i=p("async function* () {}");else if("%AsyncGenerator%"===e){var n=t("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if("%AsyncIteratorPrototype%"===e){var r=t("%AsyncGenerator%");r&&y&&(i=y(r.prototype))}return b[e]=i,i},E={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=i(6743),T=i(9957),k=C.call(Function.call,Array.prototype.concat),S=C.call(Function.apply,Array.prototype.splice),I=C.call(Function.call,String.prototype.replace),M=C.call(Function.call,String.prototype.slice),P=C.call(Function.call,RegExp.prototype.exec),L=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,z=/\\(\\)?/g,D=function(t,e){var i,n=t;if(T(E,n)&&(n="%"+(i=E[n])[0]+"%"),T(b,n)){var r=b[n];if(r===v&&(r=A(n)),void 0===r&&!e)throw new c("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:r}}throw new l("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new c('"allowMissing" argument must be a boolean');if(null===P(/^%?[^%]*%?$/,t))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=function(t){var e=M(t,0,1),i=M(t,-1);if("%"===e&&"%"!==i)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===i&&"%"!==e)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return I(t,L,(function(t,e,i,r){n[n.length]=i?I(r,z,"$1"):e||t})),n}(t),n=i.length>0?i[0]:"",r=D("%"+n+"%",e),o=r.name,s=r.value,a=!1,u=r.alias;u&&(n=u[0],S(i,k([0,1],u)));for(var h=1,p=!0;h=i.length){var _=d(s,f);s=(p=!!_)&&"get"in _&&!("originalValue"in _.get)?_.get:s[f]}else p=T(s,f),s=s[f];p&&!a&&(b[o]=s)}}return s}},5795:(t,e,i)=>{"use strict";var n=i(453)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(t){n=null}t.exports=n},9790:t=>{"use strict";var e="undefined"!=typeof BigInt&&BigInt;t.exports=function(){return"function"==typeof e&&"function"==typeof BigInt&&"bigint"==typeof e(42)&&"bigint"==typeof BigInt(42)}},592:(t,e,i)=>{"use strict";var n=i(655),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return 1!==n([],"length",{value:1}).length}catch(t){return!0}},t.exports=r},24:t=>{"use strict";var e={__proto__:null,foo:{}},i=Object;t.exports=function(){return{__proto__:e}.foo===e.foo&&!(e instanceof i)}},4039:(t,e,i)=>{"use strict";var n="undefined"!=typeof Symbol&&Symbol,r=i(1333);t.exports=function(){return"function"==typeof n&&("function"==typeof Symbol&&("symbol"==typeof n("foo")&&("symbol"==typeof Symbol("bar")&&r())))}},1333:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),i=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(t,e);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},9092:(t,e,i)=>{"use strict";var n=i(1333);t.exports=function(){return n()&&!!Symbol.toStringTag}},9957:(t,e,i)=>{"use strict";var n=Function.prototype.call,r=Object.prototype.hasOwnProperty,o=i(6743);t.exports=o.call(n,r)},63:(t,e,i)=>{"use strict";var n=i(9957),r=i(920)(),o=i(9675),s={assert:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");if(r.assert(t),!s.has(t,e))throw new o("`"+e+"` is not present on `O`")},get:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");var i=r.get(t);return i&&i["$"+e]},has:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");var i=r.get(t);return!!i&&n(i,"$"+e)},set:function(t,e,i){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");var n=r.get(t);n||(n={},r.set(t,n)),n["$"+e]=i}};Object.freeze&&Object.freeze(s),t.exports=s},7244:(t,e,i)=>{"use strict";var n=i(9092)(),r=i(8075)("Object.prototype.toString"),o=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===r(t)},s=function(t){return!!o(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==r(t)&&"[object Function]"===r(t.callee)},a=function(){return o(arguments)}();o.isLegacyArguments=s,t.exports=a?o:s},4670:(t,e,i)=>{"use strict";var n=i(487),r=i(8075),o=i(453)("%ArrayBuffer%",!0),s=r("ArrayBuffer.prototype.byteLength",!0),a=r("Object.prototype.toString"),l=!!o&&!s&&new o(0).slice,c=!!l&&n(l);t.exports=s||c?function(t){if(!t||"object"!=typeof t)return!1;try{return s?s(t):c(t,0),!0}catch(t){return!1}}:o?function(t){return"[object ArrayBuffer]"===a(t)}:function(t){return!1}},9803:(t,e,i)=>{"use strict";if(i(9790)()){var n=BigInt.prototype.valueOf;t.exports=function(t){return null!=t&&"boolean"!=typeof t&&"string"!=typeof t&&"number"!=typeof t&&"symbol"!=typeof t&&"function"!=typeof t&&("bigint"==typeof t||function(t){try{return n.call(t),!0}catch(t){}return!1}(t))}}else t.exports=function(t){return!1}},5128:(t,e,i)=>{"use strict";var n=i(8075),r=n("Boolean.prototype.toString"),o=n("Object.prototype.toString"),s=i(9092)();t.exports=function(t){return"boolean"==typeof t||null!==t&&"object"==typeof t&&(s&&Symbol.toStringTag in t?function(t){try{return r(t),!0}catch(t){return!1}}(t):"[object Boolean]"===o(t))}},9600:t=>{"use strict";var e,i,n=Function.prototype.toString,r="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof r&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw i}}),i={},r((function(){throw 42}),null,e)}catch(t){t!==i&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(t){try{var e=n.call(t);return o.test(e)}catch(t){return!1}},a=function(t){try{return!s(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,c="function"==typeof Symbol&&!!Symbol.toStringTag,u=!(0 in[,]),h=function(){return!1};if("object"==typeof document){var p=document.all;l.call(p)===l.call(document.all)&&(h=function(t){if((u||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=r?function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{r(t,null,e)}catch(t){if(t!==i)return!1}return!s(t)&&a(t)}:function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(c)return a(t);if(s(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&a(t)}},2120:(t,e,i)=>{"use strict";var n=Date.prototype.getDay,r=Object.prototype.toString,o=i(9092)();t.exports=function(t){return"object"==typeof t&&null!==t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object Date]"===r.call(t))}},3802:t=>{"use strict";var e,i="function"==typeof Map&&Map.prototype?Map:null,n="function"==typeof Set&&Set.prototype?Set:null;i||(e=function(t){return!1});var r=i?Map.prototype.has:null,o=n?Set.prototype.has:null;e||r||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(r.call(t),o)try{o.call(t)}catch(t){return!0}return t instanceof i}catch(t){}return!1}},1703:(t,e,i)=>{"use strict";var n=Number.prototype.toString,r=Object.prototype.toString,o=i(9092)();t.exports=function(t){return"number"==typeof t||"object"==typeof t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object Number]"===r.call(t))}},4035:(t,e,i)=>{"use strict";var n,r,o,s,a=i(8075),l=i(9092)();if(l){n=a("Object.prototype.hasOwnProperty"),r=a("RegExp.prototype.exec"),o={};var c=function(){throw o};s={toString:c,valueOf:c},"symbol"==typeof Symbol.toPrimitive&&(s[Symbol.toPrimitive]=c)}var u=a("Object.prototype.toString"),h=Object.getOwnPropertyDescriptor;t.exports=l?function(t){if(!t||"object"!=typeof t)return!1;var e=h(t,"lastIndex");if(!(e&&n(e,"value")))return!1;try{r(t,s)}catch(t){return t===o}}:function(t){return!(!t||"object"!=typeof t&&"function"!=typeof t)&&"[object RegExp]"===u(t)}},256:t=>{"use strict";var e,i="function"==typeof Map&&Map.prototype?Map:null,n="function"==typeof Set&&Set.prototype?Set:null;n||(e=function(t){return!1});var r=i?Map.prototype.has:null,o=n?Set.prototype.has:null;e||o||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(o.call(t),r)try{r.call(t)}catch(t){return!0}return t instanceof n}catch(t){}return!1}},7070:(t,e,i)=>{"use strict";var n=i(8075)("SharedArrayBuffer.prototype.byteLength",!0);t.exports=n?function(t){if(!t||"object"!=typeof t)return!1;try{return n(t),!0}catch(t){return!1}}:function(t){return!1}},4761:(t,e,i)=>{"use strict";var n=String.prototype.valueOf,r=Object.prototype.toString,o=i(9092)();t.exports=function(t){return"string"==typeof t||"object"==typeof t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object String]"===r.call(t))}},3612:(t,e,i)=>{"use strict";var n=Object.prototype.toString;if(i(4039)()){var r=Symbol.prototype.toString,o=/^Symbol\(.*\)$/;t.exports=function(t){if("symbol"==typeof t)return!0;if("[object Symbol]"!==n.call(t))return!1;try{return function(t){return"symbol"==typeof t.valueOf()&&o.test(r.call(t))}(t)}catch(t){return!1}}}else t.exports=function(t){return!1}},7842:t=>{"use strict";var e,i="function"==typeof WeakMap&&WeakMap.prototype?WeakMap:null,n="function"==typeof WeakSet&&WeakSet.prototype?WeakSet:null;i||(e=function(t){return!1});var r=i?i.prototype.has:null,o=n?n.prototype.has:null;e||r||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(r.call(t,r),o)try{o.call(t,o)}catch(t){return!0}return t instanceof i}catch(t){}return!1}},2648:(t,e,i)=>{"use strict";var n=i(453),r=i(8075),o=n("%WeakSet%",!0),s=r("WeakSet.prototype.has",!0);if(s){var a=r("WeakMap.prototype.has",!0);t.exports=function(t){if(!t||"object"!=typeof t)return!1;try{if(s(t,s),a)try{a(t,a)}catch(t){return!0}return t instanceof o}catch(t){}return!1}}else t.exports=function(t){return!1}},842:function(t,e,i){var n=i(5606);t.exports=function(){"use strict";var t,e,i;function r(n,r){if(t)if(e){var o="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk); self.onerror = null;",s={};t(s),i=r(s),"undefined"!=typeof window&&window&&window.URL&&window.URL.createObjectURL&&(i.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}else e=r;else t=r}return r(["exports"],(function(t){var e="undefined"!=typeof self?self:{},i="2.15.0";let r;const o={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==r){const t=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{r=null!=n.env.API_URL_REGEX?new RegExp(n.env.API_URL_REGEX):t}catch(e){r=t}}return r},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!o.API_URL)return null;try{const t=new URL(o.API_URL);return"api.mapbox.cn"===t.hostname?"https://events.mapbox.cn/events/v2":"api.mapbox.com"===t.hostname?"https://events.mapbox.com/events/v2":null}catch(t){return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},s={supported:!1,testSupport:function(t){!c&&l&&(u?h(t):a=t)}};let a,l,c=!1,u=!1;function h(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,l),t.isContextLost())return;s.supported=!0}catch(t){}t.deleteTexture(e),c=!0}e.document&&(l=e.document.createElement("img"),l.onload=function(){a&&h(a),a=null,u=!0},l.onerror=function(){c=!0,a=null},l.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const p="01";function d(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var f=m;function m(t,e,i,n){this.cx=3*t,this.bx=3*(i-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=i,this.p2y=n}m.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var i=t,n=0;n<8;n++){var r=this.sampleCurveX(i)-t;if(Math.abs(r)r?s=i:a=i,i=.5*(a-s)+s;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var g=d(f),_=y;function y(t,e){this.x=t,this.y=e}y.prototype={clone:function(){return new y(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),i=Math.sin(t),n=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=n,this},_rotateAround:function(t,e){var i=Math.cos(t),n=Math.sin(t),r=e.y+n*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-n*(this.y-e.y),this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},y.convert=function(t){return t instanceof y?t:Array.isArray(t)?new y(t[0],t[1]):t};var v=d(_);const x=Math.PI/180,b=180/Math.PI;function w(t){return t*x}function A(t){return t*b}const E=[[0,0],[1,0],[1,1],[0,1]];function C(t){if(t<=0)return 0;if(t>=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}function T(t,e,i,n){const r=new g(t,e,i,n);return function(t){return r.solve(t)}}const k=T(.25,.1,.25,1);function S(t,e,i){return Math.min(i,Math.max(e,t))}function I(t,e,i){return(i=S((i-t)/(e-t),0,1))*i*(3-2*i)}function M(t,e,i){const n=i-e,r=((t-e)%n+n)%n+e;return r===e?i:r}function P(t,e,i){if(!t.length)return i(null,[]);let n=t.length;const r=new Array(t.length);let o=null;t.forEach(((t,s)=>{e(t,((t,e)=>{t&&(o=t),r[s]=e,0==--n&&i(o,r)}))}))}function L(t){const e=[];for(const i in t)e.push(t[i]);return e}function z(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let D=1;function R(){return D++}function O(){return function t(e){return e?(e^Math.random()*(16>>e/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function B(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function N(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function F(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e))}))}function U(t,e){return-1!==t.indexOf(e,t.length-e.length)}function j(t,e,i){const n={};for(const r in t)n[r]=e.call(i||this,t[r],r,t);return n}function V(t,e,i){const n={};for(const r in t)e.call(i||this,t[r],r,t)&&(n[r]=t[r]);return n}function G(t){return Array.isArray(t)?t.map(G):"object"==typeof t&&t?j(t,G):t}const q={};function Z(t){q[t]||("undefined"!=typeof console&&console.warn(t),q[t]=!0)}function $(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function X(t){let e=0;for(let i,n,r=0,o=t.length,s=o-1;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,n,r)=>{const o=n||r;return e[i]=!o||o.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e}let Y=null;function K(t){if(null==Y){const e=t.navigator?t.navigator.userAgent:null;Y=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return Y}function J(t){try{const i=e[t];return i.setItem("_mapbox_test_",1),i.removeItem("_mapbox_test_"),!0}catch(t){return!1}}function Q(t,e){return[t[4*e],t[4*e+1],t[4*e+2],t[4*e+3]]}const tt="mapbox-tiles";let et,it,nt=500,rt=50;function ot(){try{return e.caches}catch(t){}}function st(){ot()&&!et&&(et=e.caches.open(tt))}function at(t){const e=t.indexOf("?");if(e<0)return t;const i=function(t){const e=t.indexOf("?");return e>0?t.slice(e+1).split("&"):[]}(t),n=i.filter((t=>{const e=t.split("=");return"language"===e[0]||"worldview"===e[0]}));return n.length?`${t.slice(0,e)}?${n.join("&")}`:t.slice(0,e)}let lt=1/0;const ct={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ct);class ut extends Error{constructor(t,e,i){401===e&&bt(i)&&(t+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(t),this.status=e,this.url=i}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const ht=W()?()=>self.worker&&self.worker.referrer:()=>("blob:"===e.location.protocol?e.parent:e).location.href,pt=function(t,i){if(!(/^file:/.test(n=t.url)||/^file:/.test(ht())&&!/^\w+:/.test(n))){if(e.fetch&&e.Request&&e.AbortController&&e.Request.prototype.hasOwnProperty("signal"))return function(t,i){const n=new e.AbortController,r=new e.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ht(),referrerPolicy:t.referrerPolicy,signal:n.signal});let o=!1,s=!1;const a=(l=r.url).indexOf("sku=")>0&&bt(l);var l;"json"===t.type&&r.headers.set("Accept","application/json");const c=(n,o,l)=>{if(s)return;if(n&&"SecurityError"!==n.message&&Z(n.toString()),o&&l)return u(o);const c=Date.now();e.fetch(r).then((e=>{if(e.ok){const t=a?e.clone():null;return u(e,t,c)}return i(new ut(e.statusText,e.status,t.url))})).catch((e=>{"AbortError"!==e.name&&i(new Error(`${e.message} ${t.url}`))}))},u=(n,a,l)=>{("arrayBuffer"===t.type?n.arrayBuffer():"json"===t.type?n.json():n.text()).then((t=>{s||(a&&l&&function(t,i,n){if(st(),!et)return;const r={status:i.status,statusText:i.statusText,headers:new e.Headers};i.headers.forEach(((t,e)=>r.headers.set(e,t)));const o=H(i.headers.get("Cache-Control")||"");if(o["no-store"])return;o["max-age"]&&r.headers.set("Expires",new Date(n+1e3*o["max-age"]).toUTCString());const s=r.headers.get("Expires");s&&(new Date(s).getTime()-n<42e4||function(t,e){if(void 0===it)try{new Response(new ReadableStream),it=!0}catch(t){it=!1}it?e(t.body):t.blob().then(e)}(i,(i=>{const n=new e.Response(i,r);st(),et&&et.then((e=>e.put(at(t.url),n))).catch((t=>Z(t.message)))})))}(r,a,l),o=!0,i(null,t,n.headers.get("Cache-Control"),n.headers.get("Expires")))})).catch((t=>{s||i(new Error(t.message))}))};return a?function(t,e){if(st(),!et)return e(null);const i=at(t.url);et.then((t=>{t.match(i).then((n=>{const r=function(t){if(!t)return!1;const e=new Date(t.headers.get("Expires")||0),i=H(t.headers.get("Cache-Control")||"");return e>Date.now()&&!i["no-cache"]}(n);t.delete(i),r&&t.put(i,n.clone()),e(null,n,r)})).catch(e)})).catch(e)}(r,c):c(null,null),{cancel:()=>{s=!0,o||n.abort()}}}(t,i);if(W()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,i,void 0,!0)}var n;return function(t,i){const n=new e.XMLHttpRequest;n.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(n.responseType="arraybuffer");for(const e in t.headers)n.setRequestHeader(e,t.headers[e]);return"json"===t.type&&(n.responseType="text",n.setRequestHeader("Accept","application/json")),n.withCredentials="include"===t.credentials,n.onerror=()=>{i(new Error(n.statusText))},n.onload=()=>{if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let e=n.response;if("json"===t.type)try{e=JSON.parse(n.response)}catch(t){return i(t)}i(null,e,n.getResponseHeader("Cache-Control"),n.getResponseHeader("Expires"))}else i(new ut(n.statusText,n.status,t.url))},n.send(t.body),{cancel:()=>n.abort()}}(t,i)},dt=function(t,e){return pt(z(t,{type:"arrayBuffer"}),e)};function ft(t){const i=e.document.createElement("a");return i.href=t,i.protocol===e.document.location.protocol&&i.host===e.document.location.host}const mt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let gt,_t;gt=[],_t=0;const yt=function(t,i){if(s.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),_t>=o.MAX_PARALLEL_IMAGE_REQUESTS){const e={requestParameters:t,callback:i,cancelled:!1,cancel(){this.cancelled=!0}};return gt.push(e),e}_t++;let n=!1;const r=()=>{if(!n)for(n=!0,_t--;gt.length&&_t{r(),t?i(t):n&&(e.createImageBitmap?function(t,i){const n=new e.Blob([new Uint8Array(t)],{type:"image/png"});e.createImageBitmap(n).then((t=>{i(null,t)})).catch((t=>{i(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(n,((t,e)=>i(t,e,o,s))):function(t,i){const n=new e.Image,r=e.URL;n.onload=()=>{i(null,n),r.revokeObjectURL(n.src),n.onload=null,e.requestAnimationFrame((()=>{n.src=mt}))},n.onerror=()=>i(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const o=new e.Blob([new Uint8Array(t)],{type:"image/png"});n.src=t.byteLength?r.createObjectURL(o):mt}(n,((t,e)=>i(t,e,o,s))))}));return{cancel:()=>{a.cancel(),r()}}},vt="NO_ACCESS_TOKEN";function xt(t){return 0===t.indexOf("mapbox:")}function bt(t){return o.API_URL_REGEX.test(t)}function wt(t){return o.API_CDN_URL_REGEX.test(t)}function At(t){return o.API_STYLE_REGEX.test(t)&&!Et(t)}function Et(t){return o.API_SPRITE_REGEX.test(t)}const Ct=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function Tt(t){const e=t.match(Ct);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function kt(t){const e=t.params.length?`?${t.params.join("&")}`:"";return`${t.protocol}://${t.authority}${t.path}${e}`}const St="mapbox.eventData";function It(t){if(!t)return null;const i=t.split(".");if(!i||3!==i.length)return null;try{return JSON.parse(decodeURIComponent(e.atob(i[1]).split("").map((t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(t){return null}}class Mt{constructor(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(t){const i=It(o.ACCESS_TOKEN);let n="";return n=i&&i.u?e.btoa(encodeURIComponent(i.u).replace(/%([0-9A-F]{2})/g,((t,e)=>String.fromCharCode(Number("0x"+e))))):o.ACCESS_TOKEN||"",t?`${St}.${t}:${n}`:`${St}:${n}`}fetchEventData(){const t=J("localStorage"),i=this.getStorageKey(),n=this.getStorageKey("uuid");if(t)try{const t=e.localStorage.getItem(i);t&&(this.eventData=JSON.parse(t));const r=e.localStorage.getItem(n);r&&(this.anonId=r)}catch(t){Z("Unable to read from LocalStorage")}}saveEventData(){const t=J("localStorage"),i=this.getStorageKey(),n=this.getStorageKey("uuid");if(t)try{e.localStorage.setItem(n,this.anonId),Object.keys(this.eventData).length>=1&&e.localStorage.setItem(i,JSON.stringify(this.eventData))}catch(t){Z("Unable to write to LocalStorage")}}processRequests(t){}postEvent(t,e,i,n){if(!o.EVENTS_URL)return;const r=Tt(o.EVENTS_URL);r.params.push(`access_token=${n||o.ACCESS_TOKEN||""}`);const s={event:this.type,created:new Date(t).toISOString()},a=e?z(s,e):s,l={url:kt(r),headers:{"Content-Type":"text/plain"},body:JSON.stringify([a])};this.pendingRequest=function(t,e){return pt(z(t,{method:"POST"}),e)}(l,(t=>{this.pendingRequest=null,i(t),this.saveEventData(),this.processRequests(n)}))}queueRequest(t,e){this.queue.push(t),this.processRequests(e)}}const Pt=new class extends Mt{constructor(t){super("appUserTurnstile"),this._customAccessToken=t}postTurnstileEvent(t,e){o.EVENTS_URL&&o.ACCESS_TOKEN&&Array.isArray(t)&&t.some((t=>xt(t)||bt(t)))&&this.queueRequest(Date.now(),e)}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const e=It(o.ACCESS_TOKEN),n=e?e.u:o.ACCESS_TOKEN;let r=n!==this.eventData.tokenU;N(this.anonId)||(this.anonId=O(),r=!0);const s=this.queue.shift();if(this.eventData.lastSuccess){const t=new Date(this.eventData.lastSuccess),e=new Date(s),i=(s-this.eventData.lastSuccess)/864e5;r=r||i>=1||i<-1||t.getDate()!==e.getDate()}else r=!0;r?this.postEvent(s,{sdkIdentifier:"mapbox-gl-js",sdkVersion:i,skuId:p,"enabled.telemetry":!1,userId:this.anonId},(t=>{t||(this.eventData.lastSuccess=s,this.eventData.tokenU=n)}),t):this.processRequests()}},Lt=Pt.postTurnstileEvent.bind(Pt),zt=new class extends Mt{constructor(){super("map.load"),this.success={},this.skuToken=""}postMapLoadEvent(t,e,i,n){this.skuToken=e,this.errorCb=n,o.EVENTS_URL&&(i||o.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},i):this.errorCb(new Error(vt)))}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:n}=this.queue.shift();e&&this.success[e]||(this.anonId||this.fetchEventData(),N(this.anonId)||(this.anonId=O()),this.postEvent(n,{sdkIdentifier:"mapbox-gl-js",sdkVersion:i,skuId:p,skuToken:this.skuToken,userId:this.anonId},(t=>{t?this.errorCb(t):e&&(this.success[e]=!0)}),t))}},Dt=zt.postMapLoadEvent.bind(zt),Rt=new class extends Mt{constructor(){super("gljs.performance")}postPerformanceEvent(t,e){o.EVENTS_URL&&(t||o.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:e},t)}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:n,performanceData:r}=this.queue.shift(),o=function(t){const n=e.performance.getEntriesByType("resource"),r=e.performance.getEntriesByType("mark"),o=function(t){const e={};if(t)for(const i in t)if("other"!==i)for(const n of t[i]){const t=`${i}ResolveRangeMin`,r=`${i}ResolveRangeMax`,o=`${i}RequestCount`,s=`${i}RequestCachedCount`;e[t]=Math.min(e[t]||1/0,n.startTime),e[r]=Math.max(e[r]||-1/0,n.responseEnd);const a=t=>{void 0===e[t]&&(e[t]=0),++e[t]};void 0!==n.transferSize&&0===n.transferSize&&a(s),a(o)}return e}(function(t,e){const i={};if(t)for(const n of t){const t=e(n);void 0===i[t]&&(i[t]=[]),i[t].push(n)}return i}(n,Vt)),s=e.devicePixelRatio,a=e.navigator.connection||e.navigator.mozConnection||e.navigator.webkitConnection,l={counters:[],metadata:[],attributes:[]},c=(t,e,i)=>{null!=i&&t.push({name:e,value:i.toString()})};for(const t in o)c(l.counters,t,o[t]);if(t.interactionRange[0]!==1/0&&t.interactionRange[1]!==-1/0&&(c(l.counters,"interactionRangeMin",t.interactionRange[0]),c(l.counters,"interactionRangeMax",t.interactionRange[1])),r)for(const t of Object.keys(Ut)){const e=Ut[t],i=r.find((t=>t.name===e));i&&c(l.counters,e,i.startTime)}return c(l.counters,"visibilityHidden",t.visibilityHidden),c(l.attributes,"style",function(t){if(t)for(const e of t){const t=e.name.split("?")[0];if(At(t)){const e=t.split("/").slice(-2);if(2===e.length)return`mapbox://styles/${e[0]}/${e[1]}`}}}(n)),c(l.attributes,"terrainEnabled",t.terrainEnabled?"true":"false"),c(l.attributes,"fogEnabled",t.fogEnabled?"true":"false"),c(l.attributes,"projection",t.projection),c(l.attributes,"zoom",t.zoom),c(l.metadata,"devicePixelRatio",s),c(l.metadata,"connectionEffectiveType",a?a.effectiveType:void 0),c(l.metadata,"navigatorUserAgent",e.navigator.userAgent),c(l.metadata,"screenWidth",e.screen.width),c(l.metadata,"screenHeight",e.screen.height),c(l.metadata,"windowWidth",e.innerWidth),c(l.metadata,"windowHeight",e.innerHeight),c(l.metadata,"mapWidth",t.width/s),c(l.metadata,"mapHeight",t.height/s),c(l.metadata,"webglRenderer",t.renderer),c(l.metadata,"webglVendor",t.vendor),c(l.metadata,"sdkVersion",i),c(l.metadata,"sdkIdentifier","mapbox-gl-js"),l}(r);for(const t of o.metadata);for(const t of o.counters);for(const t of o.attributes);this.postEvent(n,o,(()=>{}),t)}},Ot=Rt.postPerformanceEvent.bind(Rt),Bt=new class extends Mt{constructor(){super("map.auth"),this.success={},this.skuToken=""}getSession(t,e,i,n){if(!o.API_URL||!o.SESSION_PATH)return;const r=Tt(o.API_URL+o.SESSION_PATH);r.params.push(`sku=${e||""}`),r.params.push(`access_token=${n||o.ACCESS_TOKEN||""}`);const s={url:kt(r),headers:{"Content-Type":"text/plain"}};this.pendingRequest=function(t,e){return pt(z(t,{method:"GET"}),e)}(s,(t=>{this.pendingRequest=null,i(t),this.saveEventData(),this.processRequests(n)}))}getSessionAPI(t,e,i,n){this.skuToken=e,this.errorCb=n,o.SESSION_PATH&&o.API_URL&&(i||o.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},i):this.errorCb(new Error(vt)))}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:i}=this.queue.shift();e&&this.success[e]||this.getSession(i,this.skuToken,(t=>{t?this.errorCb(t):e&&(this.success[e]=!0)}),t)}},Nt=Bt.getSessionAPI.bind(Bt),Ft=new Set,Ut={create:"create",load:"load",fullLoad:"fullLoad"},jt={mark(t){e.performance.mark(t)},measure(t,i,n){e.performance.measure(t,i,n)}};function Vt(t){const e=t.name.split("?")[0];return wt(e)&&e.includes("mapbox-gl.js")?"javascript":wt(e)&&e.includes("mapbox-gl.css")?"css":function(t){return o.API_FONTS_REGEX.test(t)}(e)?"fontRange":Et(e)?"sprite":At(e)?"style":function(t){return o.API_TILEJSON_REGEX.test(t)}(e)?"tilejson":"other"}const Gt=e.performance;function qt(t){const e=t?t.url.toString():void 0;return Gt.getEntriesByName(e)}let Zt,$t,Xt,Wt;const Ht={now:()=>void 0!==Xt?Xt:e.performance.now(),setNow(t){Xt=t},restoreNow(){Xt=void 0},frame(t){const i=e.requestAnimationFrame(t);return{cancel:()=>e.cancelAnimationFrame(i)}},getImageData(t,i=0){const{width:n,height:r}=t;Wt||(Wt=e.document.createElement("canvas"));const o=Wt.getContext("2d",{willReadFrequently:!0});if(!o)throw new Error("failed to create canvas 2d context");return(n>Wt.width||r>Wt.height)&&(Wt.width=n,Wt.height=r),o.clearRect(-i,-i,n+2*i,r+2*i),o.drawImage(t,0,0,n,r),o.getImageData(-i,-i,n+2*i,r+2*i)},resolveURL:t=>(Zt||(Zt=e.document.createElement("a")),Zt.href=t,Zt.href),get devicePixelRatio(){return e.devicePixelRatio},get prefersReducedMotion(){return!!e.matchMedia&&(null==$t&&($t=e.matchMedia("(prefers-reduced-motion: reduce)")),$t.matches)}};function Yt(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function Kt(t,e,i){if(i&&i[t]){const n=i[t].indexOf(e);-1!==n&&i[t].splice(n,1)}}class Jt{constructor(t,e={}){z(this,e),this.type=t}}class Qt extends Jt{constructor(t,e={}){super("error",z({error:t},e))}}class te{on(t,e){return this._listeners=this._listeners||{},Yt(t,e,this._listeners),this}off(t,e){return Kt(t,e,this._listeners),Kt(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},Yt(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new Jt(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const e of n)Kt(i,e,this._oneTimeListeners),e.call(this,t);const r=this._eventedParent;r&&(z(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),r.fire(t))}else t instanceof Qt&&console.error(t.error);return this}listens(t){return!!(this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t))}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var ee=JSON.parse('{"$version":8,"$root":{"version":{"required":true,"type":"enum","values":[8]},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360,"units":"degrees"},"pitch":{"type":"number","default":0,"units":"degrees"},"light":{"type":"light"},"terrain":{"type":"terrain"},"fog":{"type":"fog"},"sources":{"required":true,"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"required":true,"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":true,"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":false},"*":{"type":"*"}},"source_raster":{"type":{"required":true,"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":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"required":true,"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":{}},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"required":true,"type":"enum","values":{"geojson":{}}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"}},"source_video":{"type":{"required":true,"type":"enum","values":{"video":{}}},"urls":{"required":true,"type":"array","value":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"required":true,"type":"enum","values":{"image":{}}},"url":{"required":true,"type":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"layer":{"id":{"type":"string","required":true},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"raster":{},"hillshade":{},"background":{},"sky":{}},"required":true},"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_background","layout_sky"],"layout_background":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"},"fill-extrusion-edge-radius":{"type":"number","private":true,"default":0,"minimum":0,"maximum":1,"property-type":"constant"}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":{},"round":{},"square":{}},"default":"butt","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":{},"round":{},"miter":{}},"default":"miter","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"requires":[{"line-join":"miter"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-round-limit":{"type":"number","default":1.05,"requires":[{"line-join":"round"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":{},"line":{},"line-center":{}},"default":"point","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-spacing":{"type":"number","default":250,"minimum":1,"units":"pixels","requires":[{"symbol-placement":"line"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":{},"viewport-y":{},"source":{}},"default":"auto","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-optional":{"type":"boolean","default":false,"requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-size":{"type":"number","default":1,"minimum":0,"units":"factor of the original icon size","requires":["icon-image"],"expression":{"interpolated":true,"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":false,"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":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-image":{"type":"resolvedImage","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{"type":"boolean","default":false,"requires":["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"requires":["icon-image"],"expression":{"interpolated":true,"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":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"interpolated":false,"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":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{"type":"number","default":10,"minimum":0,"units":"ems","requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":{},"left":{},"center":{},"right":{}},"default":"center","requires":["text-field"],"expression":{"interpolated":false,"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":true,"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":false,"parameters":["zoom"]},"property-type":"data-constant"},"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":false,"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":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":{},"vertical":{}},"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-keep-upright":{"type":"boolean","default":true,"requires":["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-transform":{"type":"enum","values":{"none":{},"uppercase":{},"lowercase":{}},"default":"none","requires":["text-field"],"expression":{"interpolated":false,"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":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-optional":{"type":"boolean","default":false,"requires":["text-field","icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{},"within":{}}},"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":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"high-color":{"type":"color","property-type":"data-constant","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"space-color":{"type":"color","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"star-intensity":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"property-type":"data-constant","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":{},"equalEarth":{},"equirectangular":{},"lambertConformalConic":{},"mercator":{},"naturalEarth":{},"winkelTripel":{},"globe":{}},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-180,-90],"maximum":[180,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-90,-90],"maximum":[90,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["source"]}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-extrusion-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant","type":"number","private":true,"default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant","type":"number","private":true,"default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["fill-extrusion-edge-radius"]},"fill-extrusion-rounded-roof":{"type":"boolean","default":true,"requires":["fill-extrusion-edge-radius"],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"line-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"transition":false,"units":"line widths","requires":[{"!":"line-pattern"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{"type":"color","transition":false,"requires":[{"!":"line-pattern"},{"source":"geojson","has":{"lineMetrics":true}}],"expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"transition":false,"requires":[{"source":"geojson","has":{"lineMetrics":true}}],"property-type":"constant"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"transition":false,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"transition":false,"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"units":"degrees","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":{},"nearest":{}},"default":"linear","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"transition":false,"units":"milliseconds","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"transition":false,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"background-pattern"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":{},"atmosphere":{}},"default":"atmosphere","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"requires":[{"sky-type":"atmosphere"}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","requires":[{"sky-type":"atmosphere"}],"default":10,"minimum":0,"maximum":100,"transition":false,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","requires":[{"sky-type":"gradient"}],"value":"number","default":[0,0],"length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","requires":[{"sky-type":"gradient"}],"default":90,"minimum":0,"maximum":180,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"transition":false,"requires":[{"sky-type":"gradient"}],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"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"},"color-ramp":{"type":"property-type"},"data-constant":{"type":"property-type"},"constant":{"type":"property-type"}},"promoteId":{"*":{"type":"string"}}}');function ie(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}function ne(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function re(t){if(Array.isArray(t))return t.map(re);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const i in t)e[i]=re(t[i]);return e}return ne(t)}class oe extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}var se=oe;class ae{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,i]of e)this.bindings[t]=i}concat(t){return new ae(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}var le=ae;const ce={kind:"null"},ue={kind:"number"},he={kind:"string"},pe={kind:"boolean"},de={kind:"color"},fe={kind:"object"},me={kind:"value"},ge={kind:"collator"},_e={kind:"formatted"},ye={kind:"resolvedImage"};function ve(t,e){return{kind:"array",itemType:t,N:e}}function xe(t){if("array"===t.kind){const e=xe(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const be=[ce,ue,he,pe,de,_e,fe,ve(me),ye];function we(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!we(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of be)if(!we(t,e))return null}return`Expected ${xe(t)} but found ${xe(e)} instead.`}function Ae(t,e){return e.some((e=>e.kind===t.kind))}function Ee(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var Ce,Te={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function ke(t){return(t=Math.round(t))<0?0:t>255?255:t}function Se(t){return ke("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Ie(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function Me(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}try{Ce={}.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in Te)return Te[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=i.indexOf("("),r=i.indexOf(")");if(-1!==n&&r+1===i.length){var o=i.substr(0,n),s=i.substr(n+1,r-(n+1)).split(","),a=1;switch(o){case"rgba":if(4!==s.length)return null;a=Ie(s.pop());case"rgb":return 3!==s.length?null:[Se(s[0]),Se(s[1]),Se(s[2]),a];case"hsla":if(4!==s.length)return null;a=Ie(s.pop());case"hsl":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,c=Ie(s[1]),u=Ie(s[2]),h=u<=.5?u*(c+1):u+c-u*c,p=2*u-h;return[ke(255*Me(p,h,l+1/3)),ke(255*Me(p,h,l)),ke(255*Me(p,h,l-1/3)),a];default:return null}}return null}}catch(t){}class Pe{constructor(t,e,i,n=1){this.r=t,this.g=e,this.b=i,this.a=n}static parse(t){if(!t)return;if(t instanceof Pe)return t;if("string"!=typeof t)return;const e=Ce(t);return e?new Pe(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,i,n]=this.toArray();return`rgba(${Math.round(t)},${Math.round(e)},${Math.round(i)},${n})`}toArray(){const{r:t,g:e,b:i,a:n}=this;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*i/n,n]}toArray01(){const{r:t,g:e,b:i,a:n}=this;return 0===n?[0,0,0,0]:[t/n,e/n,i/n,n]}toArray01PremultipliedAlpha(){const{r:t,g:e,b:i,a:n}=this;return[t,e,i,n]}}Pe.black=new Pe(0,0,0,1),Pe.white=new Pe(1,1,1,1),Pe.transparent=new Pe(0,0,0,0),Pe.red=new Pe(1,0,0,1),Pe.blue=new Pe(0,0,1,1);var Le=Pe;class ze{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class De{constructor(t,e,i,n,r){this.text=t.normalize?t.normalize():t,this.image=e,this.scale=i,this.fontStack=n,this.textColor=r}}class Re{constructor(t){this.sections=t}static fromString(t){return new Re([new De(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Re?t:Re.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}serialize(){const t=["format"];for(const e of this.sections){if(e.image){t.push(["image",e.image.name]);continue}t.push(e.text);const i={};e.fontStack&&(i["text-font"]=["literal",e.fontStack.split(",")]),e.scale&&(i["font-scale"]=e.scale),e.textColor&&(i["text-color"]=["rgba"].concat(e.textColor.toArray())),t.push(i)}return t}}class Oe{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Oe({name:t,available:!1}):null}serialize(){return["image",this.name]}}function Be(t,e,i,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,i,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[t,e,i,n]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Ne(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Le)return!0;if(t instanceof ze)return!0;if(t instanceof Re)return!0;if(t instanceof Oe)return!0;if(Array.isArray(t)){for(const e of t)if(!Ne(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Ne(t[e]))return!1;return!0}return!1}function Fe(t){if(null===t)return ce;if("string"==typeof t)return he;if("boolean"==typeof t)return pe;if("number"==typeof t)return ue;if(t instanceof Le)return de;if(t instanceof ze)return ge;if(t instanceof Re)return _e;if(t instanceof Oe)return ye;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=Fe(e);if(i){if(i===t)continue;i=me;break}i=t}return ve(i||me,e)}return fe}function Ue(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Le||t instanceof Re||t instanceof Oe?t.toString():JSON.stringify(t)}class je{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Ne(t[1]))return e.error("invalid value");const i=t[1];let n=Fe(i);const r=e.expectedType;return"array"!==n.kind||0!==n.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(n=r),new je(n,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Le?["rgba"].concat(this.value.toArray()):this.value instanceof Re?this.value.serialize():this.value}}var Ve=je,Ge=class{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}};const qe={string:he,number:ue,boolean:pe,object:fe};class Ze{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,n=1;const r=t[0];if("array"===r){let r,o;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in qe)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=qe[i],n++}else r=me;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}i=ve(r,o)}else i=qe[r];const o=[];for(;nt.outputDefined()))}serialize(){const t=this.type,e=[t.kind];if("array"===t.kind){const i=t.itemType;if("string"===i.kind||"number"===i.kind||"boolean"===i.kind){e.push(i.kind);const n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((t=>t.serialize())))}}var $e=Ze;class Xe{constructor(t){this.type=_e,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const n=[];let r=!1;for(let i=1;i<=t.length-1;++i){const o=t[i];if(r&&"object"==typeof o&&!Array.isArray(o)){r=!1;let t=null;if(o["font-scale"]&&(t=e.parse(o["font-scale"],1,ue),!t))return null;let i=null;if(o["text-font"]&&(i=e.parse(o["text-font"],1,ve(he)),!i))return null;let s=null;if(o["text-color"]&&(s=e.parse(o["text-color"],1,de),!s))return null;const a=n[n.length-1];a.scale=t,a.font=i,a.textColor=s}else{const o=e.parse(t[i],1,me);if(!o)return null;const s=o.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,n.push({content:o,scale:null,font:null,textColor:null})}}return new Xe(n)}evaluate(t){return new Re(this.sections.map((e=>{const i=e.content.evaluate(t);return Fe(i)===ye?new De("",i,null,null,null):new De(Ue(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}serialize(){const t=["format"];for(const e of this.sections){t.push(e.content.serialize());const i={};e.scale&&(i["font-scale"]=e.scale.serialize()),e.font&&(i["text-font"]=e.font.serialize()),e.textColor&&(i["text-color"]=e.textColor.serialize()),t.push(i)}return t}}class We{constructor(t){this.type=ye,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,he);return i?new We(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Oe.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}serialize(){return["image",this.input.serialize()]}}const He={"to-boolean":pe,"to-color":de,"to-number":ue,"to-string":he};class Ye{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const n=He[i],r=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Be(e[0],e[1],e[2],e[3]),!i))return new Le(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Ge(i||`Could not parse color from value '${"string"==typeof e?e:String(JSON.stringify(e))}'`)}if("number"===this.type.kind){let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new Ge(`Could not convert ${JSON.stringify(e)} to number.`)}return"formatted"===this.type.kind?Re.fromString(Ue(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Oe.fromString(Ue(this.args[0].evaluate(t))):Ue(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new Xe([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new We(this.args[0]).serialize();const t=[`to-${this.type.kind}`];return this.eachChild((e=>{t.push(e.serialize())})),t}}var Ke=Ye;const Je=["Unknown","Point","LineString","Polygon"];var Qe=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Je[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||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const t=this.featureDistanceData.center,e=this.featureDistanceData.scale,{x:i,y:n}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(i*e-t[0])+this.featureDistanceData.bearing[1]*(n*e-t[1])}return 0}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Le.parse(t)),e}};class ti{constructor(t,e,i,n){this.name=t,this.type=e,this._evaluate=i,this.args=n}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((t=>t.serialize())))}static parse(t,e){const i=t[0],n=ti.definitions[i];if(!n)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(n)?n[0]:n.type,o=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,s=o.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let a=null;for(const[n,o]of s){a=new ki(e.registry,e.path,null,e.scope);const s=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(xe).join(", ")})`:`(${xe(e.type)}...)`;var e})).join(" | "),n=[];for(let i=1;i=e[2]||t[1]<=e[1]||t[3]>=e[3])}function si(t,e){const i=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,r=Math.pow(2,e.z);return[Math.round(i*r*ni),Math.round(n*r*ni)]}function ai(t,e,i){const n=t[0]-e[0],r=t[1]-e[1],o=t[0]-i[0],s=t[1]-i[1];return n*s-o*r==0&&n*o<=0&&r*s<=0}function li(t,e){let i=!1;for(let s=0,a=e.length;s(n=t)[1]!=(o=a[e+1])[1]>n[1]&&n[0]<(o[0]-r[0])*(n[1]-r[1])/(o[1]-r[1])+r[0]&&(i=!i)}}var n,r,o;return i}function ci(t,e){for(let i=0;i0&&a<0||s<0&&a>0}function hi(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*n;let r=t[0]-i[0]>e?-n:i[0]-t[0]>e?n:0;0===r&&(r=t[0]-i[2]>e?-n:i[2]-t[0]>e?n:0),t[0]+=r}ri(e,t)}function _i(t,e,i,n){const r=Math.pow(2,n.z)*ni,o=[n.x*ni,n.y*ni],s=[];if(!t)return s;for(const n of t)for(const t of n){const n=[t.x+o[0],t.y+o[1]];gi(n,e,i,r),s.push(n)}return s}function yi(t,e,i,n){const r=Math.pow(2,n.z)*ni,o=[n.x*ni,n.y*ni],s=[];if(!t)return s;for(const i of t){const t=[];for(const n of i){const i=[n.x+o[0],n.y+o[1]];ri(e,i),t.push(i)}s.push(t)}if(e[2]-e[0]<=r/2){(a=e)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const t of s)for(const n of t)gi(n,e,i,r)}var a;return s}class vi{constructor(t,e){this.type=pe,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Ne(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!bi(t)&&(e=!1)})),e}function wi(t){if(t instanceof ei&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!wi(t)&&(e=!1)})),e}function Ai(t,e){if(t instanceof ei&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!Ai(t,e)&&(i=!1)})),i}class Ei{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const i=t[1];return e.scope.has(i)?new Ei(i,e.scope.get(i)):e.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}serialize(){return["var",this.name]}}var Ci=Ei;class Ti{constructor(t,e=[],i,n=new le,r=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=n,this.errors=r,this.expectedType=i}parse(t,e,i,n,r={}){return e?this.concat(e,i,n)._parse(t,r):this._parse(t,r)}_parse(t,e){function i(t,e,i){return"assert"===i?new $e(e,[t]):"coerce"===i?new Ke(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const n=t[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const r=this.registry[n];if(r){let n=r.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,r=n.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==r.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==r.kind&&"string"!==r.kind){if(this.checkSubtype(t,r))return null}else n=i(n,t,e.typeAnnotation||"coerce");else n=i(n,t,e.typeAnnotation||"assert")}if(!(n instanceof Ve)&&"resolvedImage"!==n.type.kind&&Si(n)){const e=new Qe;try{n=new Ve(n.type,n.evaluate(e))}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,i){const n="number"==typeof t?this.path.concat(t):this.path,r=i?this.scope.concat(i):this.scope;return new Ti(this.registry,n,e||null,r,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new se(i,t))}checkSubtype(t,e){const i=we(t,e);return i&&this.error(i),i}}var ki=Ti;function Si(t){if(t instanceof Ci)return Si(t.boundExpression);if(t instanceof ei&&"error"===t.name)return!1;if(t instanceof ii)return!1;if(t instanceof xi)return!1;const e=t instanceof Ke||t instanceof $e;let i=!0;return t.eachChild((t=>{i=e?i&&Si(t):i&&t instanceof Ve})),!!i&&bi(t)&&Ai(t,["zoom","heatmap-density","line-progress","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center"])}function Ii(t,e){const i=t.length-1;let n,r,o=0,s=i,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),n=t[a],r=t[a+1],n<=e){if(a===i||ee))throw new Ge("Input is not a number.");s=a-1}return 0}class Mi{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const i=e.parse(t[1],1,ue);if(!i)return null;const n=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let i=1;i=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=e.parse(s,l,r);if(!c)return null;r=r||c.type,n.push([o,c])}return new Mi(r,i,n)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return i[0].evaluate(t);const r=e.length;return n>=e[r-1]?i[r-1].evaluate(t):i[Ii(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){const t=["step",this.input.serialize()];for(let e=0;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t}}var Pi=Mi;function Li(t,e,i){return t*(1-i)+e*i}var zi=Object.freeze({__proto__:null,array:function(t,e,i){return t.map(((t,n)=>Li(t,e[n],i)))},color:function(t,e,i){return new Le(Li(t.r,e.r,i),Li(t.g,e.g,i),Li(t.b,e.b,i),Li(t.a,e.a,i))},number:Li});const Di=.95047,Ri=1.08883,Oi=4/29,Bi=6/29,Ni=3*Bi*Bi,Fi=Bi*Bi*Bi,Ui=Math.PI/180,ji=180/Math.PI;function Vi(t){return t>Fi?Math.pow(t,1/3):t/Ni+Oi}function Gi(t){return t>Bi?t*t*t:Ni*(t-Oi)}function qi(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Zi(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function $i(t){const e=Zi(t.r),i=Zi(t.g),n=Zi(t.b),r=Vi((.4124564*e+.3575761*i+.1804375*n)/Di),o=Vi((.2126729*e+.7151522*i+.072175*n)/1);return{l:116*o-16,a:500*(r-o),b:200*(o-Vi((.0193339*e+.119192*i+.9503041*n)/Ri)),alpha:t.a}}function Xi(t){let e=(t.l+16)/116,i=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Gi(e),i=Di*Gi(i),n=Ri*Gi(n),new Le(qi(3.2404542*i-1.5371385*e-.4985314*n),qi(-.969266*i+1.8760108*e+.041556*n),qi(.0556434*i-.2040259*e+1.0572252*n),t.alpha)}function Wi(t,e,i){const n=e-t;return t+i*(n>180||n<-180?n-360*Math.round(n/360):n)}const Hi={forward:$i,reverse:Xi,interpolate:function(t,e,i){return{l:Li(t.l,e.l,i),a:Li(t.a,e.a,i),b:Li(t.b,e.b,i),alpha:Li(t.alpha,e.alpha,i)}}},Yi={forward:function(t){const{l:e,a:i,b:n}=$i(t),r=Math.atan2(n,i)*ji;return{h:r<0?r+360:r,c:Math.sqrt(i*i+n*n),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Ui,i=t.c;return Xi({l:t.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:t.alpha})},interpolate:function(t,e,i){return{h:Wi(t.h,e.h,i),c:Li(t.c,e.c,i),l:Li(t.l,e.l,i),alpha:Li(t.alpha,e.alpha,i)}}};var Ki=Object.freeze({__proto__:null,hcl:Yi,lab:Hi});class Ji{constructor(t,e,i,n,r){this.type=t,this.operator=e,this.interpolation=i,this.input=n,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e)}static interpolationFactor(t,e,i,n){let r=0;if("exponential"===t.name)r=Qi(e,t.base,i,n);else if("linear"===t.name)r=Qi(e,1,i,n);else if("cubic-bezier"===t.name){const o=t.controlPoints;r=new g(o[0],o[1],o[2],o[3]).solve(Qi(e,1,i,n))}return r}static parse(t,e){let[i,n,r,...o]=t;if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){const t=n[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:t}}else{if("cubic-bezier"!==n[0])return e.error(`Unknown interpolation type ${String(n[0])}`,1,0);{const t=n.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,ue),!r)return null;const s=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=de:e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(let t=0;t=i)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=e.parse(n,l,a);if(!c)return null;a=a||c.type,s.push([i,c])}return"number"===a.kind||"color"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new Ji(a,i,n,r,s):e.error(`Type ${xe(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return i[0].evaluate(t);const r=e.length;if(n>=e[r-1])return i[r-1].evaluate(t);const o=Ii(e,n),s=Ji.interpolationFactor(this.interpolation,n,e[o],e[o+1]),a=i[o].evaluate(t),l=i[o+1].evaluate(t);return"interpolate"===this.operator?zi[this.type.kind.toLowerCase()](a,l,s):"interpolate-hcl"===this.operator?Yi.reverse(Yi.interpolate(Yi.forward(a),Yi.forward(l),s)):Hi.reverse(Hi.interpolate(Hi.forward(a),Hi.forward(l),s))}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){let t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const e=[this.operator,t,this.input.serialize()];for(let t=0;twe(n,t.type)));return new en(o?me:i,r)}evaluate(t){let e,i=null,n=0;for(const r of this.args){if(n++,i=r.evaluate(t),i&&i instanceof Oe&&!i.available&&(e||(e=i),i=null,n===this.args.length))return e;if(null!==i)break}return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){const t=["coalesce"];return this.eachChild((e=>{t.push(e.serialize())})),t}}var nn=en;class rn{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new Ge(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new Ge(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}var an=sn;class ln{constructor(t,e){this.type=pe,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,me),n=e.parse(t[2],2,me);return i&&n?Ae(i.type,[pe,he,ue,ce,me])?new ln(i,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${xe(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(null==i)return!1;if(!Ee(e,["boolean","string","number","null"]))throw new Ge(`Expected first argument to be of type boolean, string, number or null, but found ${xe(Fe(e))} instead.`);if(!Ee(i,["string","array"]))throw new Ge(`Expected second argument to be of type array or string, but found ${xe(Fe(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}var cn=ln;class un{constructor(t,e,i){this.type=ue,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,me),n=e.parse(t[2],2,me);if(!i||!n)return null;if(!Ae(i.type,[pe,he,ue,ce,me]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${xe(i.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,ue);return r?new un(i,n,r):null}return new un(i,n)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!Ee(e,["boolean","string","number","null"]))throw new Ge(`Expected first argument to be of type boolean, string, number or null, but found ${xe(Fe(e))} instead.`);if(!Ee(i,["string","array"]))throw new Ge(`Expected second argument to be of type array or string, but found ${xe(Fe(i))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return i.indexOf(e,n)}return i.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}var hn=un;class pn{constructor(t,e,i,n,r,o){this.inputType=t,this.type=e,this.input=i,this.cases=n,this.outputs=r,this.otherwise=o}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let i,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const r={},o=[];for(let s=2;sNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,Fe(t)))return null}else i=Fe(t);if(void 0!==r[String(t)])return c.error("Branch labels must be unique.");r[String(t)]=o.length}const u=e.parse(l,s,n);if(!u)return null;n=n||u.type,o.push(u)}const s=e.parse(t[1],1,me);if(!s)return null;const a=e.parse(t[t.length-1],t.length-1,n);return a?"value"!==s.type.kind&&e.concat(1).checkSubtype(i,s.type)?null:new pn(i,n,s,r,o,a):null}evaluate(t){const e=this.input.evaluate(t);return(Fe(e)===this.inputType&&this.outputs[this.cases[e]]||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()}serialize(){const t=["match",this.input.serialize()],e=Object.keys(this.cases).sort(),i=[],n={};for(const t of e){const e=n[this.cases[t]];void 0===e?(n[this.cases[t]]=i.length,i.push([this.cases[t],[t]])):i[e][1].push(t)}const r=t=>"number"===this.inputType.kind?Number(t):t;for(const[e,n]of i)t.push(1===n.length?r(n[0]):n.map(r)),t.push(this.outputs[e].serialize());return t.push(this.otherwise.serialize()),t}}var dn=pn;class fn{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const n=[];for(let r=1;re.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const t=["case"];return this.eachChild((e=>{t.push(e.serialize())})),t}}var mn=fn;class gn{constructor(t,e,i,n){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,me),n=e.parse(t[2],2,ue);if(!i||!n)return null;if(!Ae(i.type,[ve(me),he,me]))return e.error(`Expected first argument to be of type array or string, but found ${xe(i.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,ue);return r?new gn(i.type,i,n,r):null}return new gn(i.type,i,n)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!Ee(e,["string","array"]))throw new Ge(`Expected first argument to be of type array or string, but found ${xe(Fe(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(i,n)}return e.slice(i)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}var _n=gn;function yn(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function vn(t,e,i,n){return 0===n.compare(e,i)}function xn(t,e,i){const n="=="!==t&&"!="!==t;return class r{constructor(t,e,i){this.type=pe,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let o=e.parse(t[1],1,me);if(!o)return null;if(!yn(i,o.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${xe(o.type)}'.`);let s=e.parse(t[2],2,me);if(!s)return null;if(!yn(i,s.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${xe(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return e.error(`Cannot compare types '${xe(o.type)}' and '${xe(s.type)}'.`);n&&("value"===o.type.kind&&"value"!==s.type.kind?o=new $e(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new $e(o.type,[s])));let a=null;if(4===t.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,ge),!a)return null}return new r(o,s,a)}evaluate(r){const o=this.lhs.evaluate(r),s=this.rhs.evaluate(r);if(n&&this.hasUntypedArgument){const e=Fe(o),i=Fe(s);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new Ge(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=Fe(o),i=Fe(s);if("string"!==t.kind||"string"!==i.kind)return e(r,o,s)}return this.collator?i(r,o,s,this.collator.evaluate(r)):e(r,o,s)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}serialize(){const e=[t];return this.eachChild((t=>{e.push(t.serialize())})),e}}}const bn=xn("==",(function(t,e,i){return e===i}),vn),wn=xn("!=",(function(t,e,i){return e!==i}),(function(t,e,i,n){return!vn(0,e,i,n)})),An=xn("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,n){return n.compare(e,i)>0})),Cn=xn("<=",(function(t,e,i){return e<=i}),(function(t,e,i,n){return n.compare(e,i)<=0})),Tn=xn(">=",(function(t,e,i){return e>=i}),(function(t,e,i,n){return n.compare(e,i)>=0}));class kn{constructor(t,e,i,n,r,o){this.type=he,this.number=t,this.locale=e,this.currency=i,this.unit=n,this.minFractionDigits=r,this.maxFractionDigits=o}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,ue);if(!i)return null;const n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");let r=null;if(n.locale&&(r=e.parse(n.locale,1,he),!r))return null;let o=null;if(n.currency&&(o=e.parse(n.currency,1,he),!o))return null;let s=null;if(n.unit&&(s=e.parse(n.unit,1,he),!s))return null;let a=null;if(n["min-fraction-digits"]&&(a=e.parse(n["min-fraction-digits"],1,ue),!a))return null;let l=null;return n["max-fraction-digits"]&&(l=e.parse(n["max-fraction-digits"],1,ue),!l)?null:new kn(i,r,o,s,a,l)}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}serialize(){const t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.unit&&(t.unit=this.unit.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]}}class Sn{constructor(t){this.type=ue,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${xe(i.type)} instead.`):new Sn(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Ge(`Expected value to be of type string or array, but found ${xe(Fe(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}serialize(){const t=["length"];return this.eachChild((e=>{t.push(e.serialize())})),t}}const In={"==":bn,"!=":wn,">":En,"<":An,">=":Tn,"<=":Cn,array:$e,at:an,boolean:$e,case:mn,coalesce:nn,collator:ii,format:Xe,image:We,in:cn,"index-of":hn,interpolate:tn,"interpolate-hcl":tn,"interpolate-lab":tn,length:Sn,let:on,literal:Ve,match:dn,number:$e,"number-format":kn,object:$e,slice:_n,step:Pi,string:$e,"to-boolean":Ke,"to-color":Ke,"to-number":Ke,"to-string":Ke,var:Ci,within:xi};function Mn(t,[e,i,n,r]){e=e.evaluate(t),i=i.evaluate(t),n=n.evaluate(t);const o=r?r.evaluate(t):1,s=Be(e,i,n,o);if(s)throw new Ge(s);return new Le(e/255*o,i/255*o,n/255*o,o)}function Pn(t,e){return t in e}function Ln(t,e){const i=e[t];return void 0===i?null:i}function zn(t){return{type:t}}ei.register(In,{error:[{kind:"error"},[he],(t,[e])=>{throw new Ge(e.evaluate(t))}],typeof:[he,[me],(t,[e])=>xe(Fe(e.evaluate(t)))],"to-rgba":[ve(ue,4),[de],(t,[e])=>e.evaluate(t).toArray()],rgb:[de,[ue,ue,ue],Mn],rgba:[de,[ue,ue,ue,ue],Mn],has:{type:pe,overloads:[[[he],(t,[e])=>Pn(e.evaluate(t),t.properties())],[[he,fe],(t,[e,i])=>Pn(e.evaluate(t),i.evaluate(t))]]},get:{type:me,overloads:[[[he],(t,[e])=>Ln(e.evaluate(t),t.properties())],[[he,fe],(t,[e,i])=>Ln(e.evaluate(t),i.evaluate(t))]]},"feature-state":[me,[he],(t,[e])=>Ln(e.evaluate(t),t.featureState||{})],properties:[fe,[],t=>t.properties()],"geometry-type":[he,[],t=>t.geometryType()],id:[me,[],t=>t.id()],zoom:[ue,[],t=>t.globals.zoom],pitch:[ue,[],t=>t.globals.pitch||0],"distance-from-center":[ue,[],t=>t.distanceFromCenter()],"heatmap-density":[ue,[],t=>t.globals.heatmapDensity||0],"line-progress":[ue,[],t=>t.globals.lineProgress||0],"sky-radial-progress":[ue,[],t=>t.globals.skyRadialProgress||0],accumulated:[me,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ue,zn(ue),(t,e)=>{let i=0;for(const n of e)i+=n.evaluate(t);return i}],"*":[ue,zn(ue),(t,e)=>{let i=1;for(const n of e)i*=n.evaluate(t);return i}],"-":{type:ue,overloads:[[[ue,ue],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[ue],(t,[e])=>-e.evaluate(t)]]},"/":[ue,[ue,ue],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[ue,[ue,ue],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[ue,[],()=>Math.LN2],pi:[ue,[],()=>Math.PI],e:[ue,[],()=>Math.E],"^":[ue,[ue,ue],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[ue,[ue],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))],log2:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ue,[ue],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ue,[ue],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ue,[ue],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ue,[ue],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ue,[ue],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ue,[ue],(t,[e])=>Math.atan(e.evaluate(t))],min:[ue,zn(ue),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ue,zn(ue),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ue,[ue],(t,[e])=>Math.abs(e.evaluate(t))],round:[ue,[ue],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[ue,[ue],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ue,[ue],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[pe,[he,me],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[pe,[me],(t,[e])=>t.id()===e.value],"filter-type-==":[pe,[he],(t,[e])=>t.geometryType()===e.value],"filter-<":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n{const i=t.id(),n=e.value;return typeof i==typeof n&&i":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n>r}],"filter-id->":[pe,[me],(t,[e])=>{const i=t.id(),n=e.value;return typeof i==typeof n&&i>n}],"filter-<=":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n<=r}],"filter-id-<=":[pe,[me],(t,[e])=>{const i=t.id(),n=e.value;return typeof i==typeof n&&i<=n}],"filter->=":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n>=r}],"filter-id->=":[pe,[me],(t,[e])=>{const i=t.id(),n=e.value;return typeof i==typeof n&&i>=n}],"filter-has":[pe,[me],(t,[e])=>e.value in t.properties()],"filter-has-id":[pe,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[pe,[ve(he)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[pe,[ve(me)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[pe,[he,ve(me)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[pe,[he,ve(me)],(t,[e,i])=>function(t,e,i,n){for(;i<=n;){const r=i+n>>1;if(e[r]===t)return!0;e[r]>t?n=r-1:i=r+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:pe,overloads:[[[pe,pe],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[zn(pe),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:pe,overloads:[[[pe,pe],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[zn(pe),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[pe,[pe],(t,[e])=>!e.evaluate(t)],"is-supported-script":[pe,[he],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[he,[he],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[he,[he],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[he,zn(me),(t,e)=>e.map((e=>Ue(e.evaluate(t)))).join("")],"resolved-locale":[he,[ge],(t,[e])=>e.evaluate(t).resolvedLocale()]});var Dn=In;function Rn(t){return{result:"success",value:t}}function On(t){return{result:"error",value:t}}function Bn(t){return"data-driven"===t["property-type"]}function Nn(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Fn(t){return!!t.expression&&t.expression.interpolated}function Un(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function jn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Vn(t){return t}function Gn(t,e){const i="color"===e.type,n=t.stops&&"object"==typeof t.stops[0][0],r=n||!(n||void 0!==t.property),o=t.type||(Fn(e)?"exponential":"interval");if(i&&((t=ie({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],Le.parse(t[1])]))),t.default=Le.parse(t.default?t.default:e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!Ki[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let s,a,l;if("exponential"===o)s=Xn;else if("interval"===o)s=$n;else if("categorical"===o){s=Zn,a=Object.create(null);for(const e of t.stops)a[e[0]]=e[1];l=typeof t.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);s=Wn}if(n){const i={},n=[];for(let e=0;et[0])),evaluate:({zoom:i},n)=>Xn({stops:r,base:t.base},e,i).evaluate(i,n)}}if(r){const i="exponential"===o?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:tn.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>s(t,e,i,a,l)}}return{kind:"source",evaluate(i,n){const r=n&&n.properties?n.properties[t.property]:void 0;return void 0===r?qn(t.default,e.default):s(t,e,r,a,l)}}}function qn(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function Zn(t,e,i,n,r){return qn(typeof i===r?n[i]:void 0,t.default,e.default)}function $n(t,e,i){if("number"!==Un(i))return qn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const r=Ii(t.stops.map((t=>t[0])),i);return t.stops[r][1]}function Xn(t,e,i){const n=void 0!==t.base?t.base:1;if("number"!==Un(i))return qn(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const o=Ii(t.stops.map((t=>t[0])),i),s=function(t,e,i,n){const r=n-i,o=t-i;return 0===r?0:1===e?o/r:(Math.pow(e,o)-1)/(Math.pow(e,r)-1)}(i,n,t.stops[o][0],t.stops[o+1][0]),a=t.stops[o][1],l=t.stops[o+1][1];let c=zi[e.type]||Vn;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=Ki[t.colorSpace];c=(t,i)=>e.reverse(e.interpolate(e.forward(t),e.forward(i),s))}return"function"==typeof a.evaluate?{evaluate(...t){const e=a.evaluate.apply(void 0,t),i=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==i)return c(e,i,s)}}:c(a,l,s)}function Wn(t,e,i){return"color"===e.type?i=Le.parse(i):"formatted"===e.type?i=Re.fromString(i.toString()):"resolvedImage"===e.type?i=Oe.fromString(i.toString()):Un(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0),qn(i,t.default,e.default)}class Hn{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Qe,this._defaultValue=e?function(t){return"color"===t.type&&(jn(t.default)||Array.isArray(t.default))?new Le(0,0,0,0):"color"===t.type?Le.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,n,r,o,s,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=n||null,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o,this._evaluator.featureTileCoord=s||null,this._evaluator.featureDistanceData=a||null,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,n,r,o,s,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=n||null,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o||null,this._evaluator.featureTileCoord=s||null,this._evaluator.featureDistanceData=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Ge(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Yn(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Dn}function Kn(t,e){const i=new ki(Dn,[],e?function(t){const e={color:de,string:he,number:ue,enum:he,boolean:pe,formatted:_e,resolvedImage:ye};return"array"===t.type?ve(e[t.value]||me,t.length):e[t.type]}(e):void 0),n=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Rn(new Hn(n,e)):On(i.errors)}class Jn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!wi(e.expression)}evaluateWithoutErrorHandling(t,e,i,n,r,o){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,n,r,o)}evaluate(t,e,i,n,r,o){return this._styleExpression.evaluate(t,e,i,n,r,o)}}class Qn{constructor(t,e,i,n){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!wi(e.expression),this.interpolationType=n}evaluateWithoutErrorHandling(t,e,i,n,r,o){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,n,r,o)}evaluate(t,e,i,n,r,o){return this._styleExpression.evaluate(t,e,i,n,r,o)}interpolationFactor(t,e,i){return this.interpolationType?tn.interpolationFactor(this.interpolationType,t,e,i):0}}function tr(t,e){if("error"===(t=Kn(t,e)).result)return t;const i=t.value.expression,n=bi(i);if(!n&&!Bn(e))return On([new se("","data expressions not supported")]);const r=Ai(i,["zoom","pitch","distance-from-center"]);if(!r&&!Nn(e))return On([new se("","zoom expressions not supported")]);const o=ir(i);return o||r?o instanceof se?On([o]):o instanceof tn&&!Fn(e)?On([new se("",'"interpolate" expressions cannot be used with this property')]):Rn(o?new Qn(n?"camera":"composite",t.value,o.labels,o instanceof tn?o.interpolation:void 0):new Jn(n?"constant":"source",t.value)):On([new se("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class er{constructor(t,e){this._parameters=t,this._specification=e,ie(this,Gn(this._parameters,this._specification))}static deserialize(t){return new er(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function ir(t){let e=null;if(t instanceof on)e=ir(t.result);else if(t instanceof nn){for(const i of t.args)if(e=ir(i),e)break}else(t instanceof Pi||t instanceof tn)&&t.input instanceof ei&&"zoom"===t.input.name&&(e=t);return e instanceof se||t.eachChild((t=>{const i=ir(t);i instanceof se?e=i:!e&&i?e=new se("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new se("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}class nr{constructor(t,e,i,n){this.message=(t?`${t}: `:"")+i,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)}}function rr(t){const e=t.key,i=t.value,n=t.valueSpec||{},r=t.objectElementValidators||{},o=t.style,s=t.styleSpec;let a=[];const l=Un(i);if("object"!==l)return[new nr(e,i,`object expected, ${l} found`)];for(const t in i){const l=t.split(".")[0];let c;r[l]?c=r[l]:n[l]?c=Nr:r["*"]?c=r["*"]:n["*"]&&(c=Nr),c?a=a.concat(c({key:(e?`${e}.`:e)+t,value:i[t],valueSpec:n[l]||n["*"],style:o,styleSpec:s,object:i,objectKey:t},i)):a.push(new nr(e,i[t],`unknown property "${t}"`))}for(const t in n)r[t]||n[t].required&&void 0===n[t].default&&void 0===i[t]&&a.push(new nr(e,i,`missing required property "${t}"`));return a}function or(t){const e=t.value,i=t.valueSpec,n=t.style,r=t.styleSpec,o=t.key,s=t.arrayElementValidator||Nr;if("array"!==Un(e))return[new nr(o,e,`array expected, ${Un(e)} found`)];if(i.length&&e.length!==i.length)return[new nr(o,e,`array length ${i.length} expected, length ${e.length} found`)];if(i["min-length"]&&e.lengthr)return[new nr(e,i,`${i} is greater than the maximum value ${r}`)]}return[]}function ar(t){const e=t.valueSpec,i=ne(t.value.type);let n,r,o,s={};const a="categorical"!==i&&void 0===t.value.property,l=!a,c="array"===Un(t.value.stops)&&"array"===Un(t.value.stops[0])&&"object"===Un(t.value.stops[0][0]),u=rr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nr(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const n=t.value;return e=e.concat(or({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===Un(n)&&0===n.length&&e.push(new nr(t.key,n,"array must have at least one stop")),e},default:function(t){return Nr({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&a&&u.push(new nr(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new nr(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!Fn(t.valueSpec)&&u.push(new nr(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Bn(t.valueSpec)?u.push(new nr(t.key,t.value,"property functions not supported")):a&&!Nn(t.valueSpec)&&u.push(new nr(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new nr(t.key,t.value,'"property" property is required')),u;function h(t){let i=[];const n=t.value,a=t.key;if("array"!==Un(n))return[new nr(a,n,`array expected, ${Un(n)} found`)];if(2!==n.length)return[new nr(a,n,`array length 2 expected, length ${n.length} found`)];if(c){if("object"!==Un(n[0]))return[new nr(a,n,`object expected, ${Un(n[0])} found`)];if(void 0===n[0].zoom)return[new nr(a,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new nr(a,n,"object stop key must have value")];const e=ne(n[0].zoom);if("number"!=typeof e)return[new nr(a,n[0].zoom,"stop zoom values must be numbers")];if(o&&o>e)return[new nr(a,n[0].zoom,"stop zoom values must appear in ascending order")];e!==o&&(o=e,r=void 0,s={}),i=i.concat(rr({key:`${a}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:sr,value:p}}))}else i=i.concat(p({key:`${a}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return Yn(re(n[1]))?i.concat([new nr(`${a}[1]`,n[1],"expressions are not allowed in function stops.")]):i.concat(Nr({key:`${a}[1]`,value:n[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,o){const a=Un(t.value),l=ne(t.value),c=null!==t.value?t.value:o;if(n){if(a!==n)return[new nr(t.key,c,`${a} stop domain type must match previous stop domain type ${n}`)]}else n=a;if("number"!==a&&"string"!==a&&"boolean"!==a&&"number"!=typeof l&&"string"!=typeof l&&"boolean"!=typeof l)return[new nr(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==a&&"categorical"!==i){let n=`number expected, ${a} found`;return Bn(e)&&void 0===i&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nr(t.key,c,n)]}return"categorical"!==i||"number"!==a||"number"==typeof l&&isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===a&&"number"==typeof l&&"number"==typeof r&&void 0!==r&&lnew nr(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nr(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!wi(i))return[new nr(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext)return cr(i,t);if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!Ai(i,["zoom","feature-state"]))return[new nr(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!bi(i))return[new nr(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function cr(t,e){const i=new Set(["zoom","feature-state","pitch","distance-from-center"]);if(e.valueSpec&&e.valueSpec.expression)for(const t of e.valueSpec.expression.parameters)i.delete(t);if(0===i.size)return[];const n=[];return t instanceof ei&&i.has(t.name)?[new nr(e.key,e.value,`["${t.name}"] expression is not supported in a filter for a ${e.object.type} layer with id: ${e.object.id}`)]:(t.eachChild((t=>{n.push(...cr(t,e))})),n)}function ur(t){const e=t.key,i=t.value,n=t.valueSpec,r=[];return Array.isArray(n.values)?-1===n.values.indexOf(ne(i))&&r.push(new nr(e,i,`expected one of [${n.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(n.values).indexOf(ne(i))&&r.push(new nr(e,i,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(i)} found`)),r}function hr(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!hr(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}function pr(t,e="fill"){if(null==t)return{filter:()=>!0,needGeometry:!1,needFeature:!1};hr(t)||(t=vr(t));const i=t;let n=!0;try{n=function(t){if(!mr(t))return t;let e=re(t);return fr(e),e=dr(e),e}(i)}catch(t){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(i,null,2)}\n `)}const r=ee[`filter_${e}`],o=Kn(n,r);let s=null;if("error"===o.result)throw new Error(o.value.map((t=>`${t.key}: ${t.message}`)).join(", "));s=(t,e,i)=>o.value.evaluate(t,e,{},i);let a=null,l=null;if(n!==i){const t=Kn(i,r);if("error"===t.result)throw new Error(t.value.map((t=>`${t.key}: ${t.message}`)).join(", "));a=(e,i,n,r,o)=>t.value.evaluate(e,i,{},n,void 0,void 0,r,o),l=!bi(t.value.expression)}return{filter:s,dynamicFilter:a||void 0,needGeometry:yr(n),needFeature:!!l}}function dr(t){if(!Array.isArray(t))return t;const e=function(t){if(gr.has(t[0]))for(let e=1;edr(t)))}function fr(t){let e=!1;const i=[];if("case"===t[0]){for(let n=1;n",">=","<","<=","to-boolean"]);function _r(t,e){return te?1:0}function yr(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?xr(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(vr))):"all"===e?["all"].concat(t.slice(1).map(vr)):"none"===e?["all"].concat(t.slice(1).map(vr).map(Ar)):"in"===e?br(t[1],t.slice(2)):"!in"===e?Ar(br(t[1],t.slice(2))):"has"===e?wr(t[1]):"!has"===e?Ar(wr(t[1])):"within"!==e||t;var i}function xr(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function br(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(_r)]]:["filter-in-small",t,["literal",e]]}}function wr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Ar(t){return["!",t]}function Er(t){return hr(re(t.value))?lr(ie({},t,{expressionContext:"filter",valueSpec:t.styleSpec[`filter_${t.layerType||"fill"}`]})):Cr(t)}function Cr(t){const e=t.value,i=t.key;if("array"!==Un(e))return[new nr(i,e,`array expected, ${Un(e)} found`)];const n=t.styleSpec;let r,o=[];if(e.length<1)return[new nr(i,e,"filter array must have at least 1 element")];switch(o=o.concat(ur({key:`${i}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),ne(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===ne(e[1])&&o.push(new nr(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&o.push(new nr(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(r=Un(e[1]),"string"!==r&&o.push(new nr(`${i}[1]`,e[1],`string expected, ${r} found`)));for(let s=2;s{t in i&&e.push(new nr(n,i[t],`"${t}" is prohibited for ref layers`))})),r.layers.forEach((e=>{ne(e.id)===a&&(t=e)})),t?t.ref?e.push(new nr(n,i.ref,"ref cannot reference another ref layer")):s=ne(t.type):"string"==typeof a&&e.push(new nr(n,i.ref,`ref layer "${a}" not found`))}else if("background"!==s&&"sky"!==s)if(i.source){const t=r.sources&&r.sources[i.source],o=t&&ne(t.type);t?"vector"===o&&"raster"===s?e.push(new nr(n,i.source,`layer "${i.id}" requires a raster source`)):"raster"===o&&"raster"!==s?e.push(new nr(n,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==o||i["source-layer"]?"raster-dem"===o&&"hillshade"!==s?e.push(new nr(n,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!i.paint||!i.paint["line-gradient"]&&!i.paint["line-trim-offset"]||"geojson"===o&&t.lineMetrics||e.push(new nr(n,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nr(n,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nr(n,i.source,`source "${i.source}" not found`))}else e.push(new nr(n,i,'missing required property "source"'));return e=e.concat(rr({key:n,value:i,valueSpec:o.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>Nr({key:`${n}.type`,value:i.type,valueSpec:o.layer.type,style:t.style,styleSpec:t.styleSpec,object:i,objectKey:"type"}),filter:t=>Er(ie({layerType:s},t)),layout:t=>rr({layer:i,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>Sr(ie({layerType:s},t))}}),paint:t=>rr({layer:i,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>kr(ie({layerType:s},t))}})}})),e}function Mr(t){const e=t.value,i=t.key,n=Un(e);return"string"!==n?[new nr(i,e,`string expected, ${n} found`)]:[]}const Pr={promoteId:function({key:t,value:e}){if("string"===Un(e))return Mr({key:t,value:e});{const i=[];for(const n in e)i.push(...Mr({key:`${t}.${n}`,value:e[n]}));return i}}};function Lr(t){const e=t.value,i=t.key,n=t.styleSpec,r=t.style;if(!e.type)return[new nr(i,e,'"type" is required')];const o=ne(e.type);let s;switch(o){case"vector":case"raster":case"raster-dem":return s=rr({key:i,value:e,valueSpec:n[`source_${o.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:Pr}),s;case"geojson":if(s=rr({key:i,value:e,valueSpec:n.source_geojson,style:r,styleSpec:n,objectElementValidators:Pr}),e.cluster)for(const t in e.clusterProperties){const[n,r]=e.clusterProperties[t],o="string"==typeof n?[n,["accumulated"],["get",t]]:n;s.push(...lr({key:`${i}.${t}.map`,value:r,expressionContext:"cluster-map"})),s.push(...lr({key:`${i}.${t}.reduce`,value:o,expressionContext:"cluster-reduce"}))}return s;case"video":return rr({key:i,value:e,valueSpec:n.source_video,style:r,styleSpec:n});case"image":return rr({key:i,value:e,valueSpec:n.source_image,style:r,styleSpec:n});case"canvas":return[new nr(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ur({key:`${i}.type`,value:e.type,valueSpec:{values:zr(n)},style:r,styleSpec:n})}}function zr(t){return t.source.reduce(((e,i)=>{const n=t[i];return"enum"===n.type.type&&(e=e.concat(Object.keys(n.type.values))),e}),[])}function Dr(t){const e=t.value,i=t.styleSpec,n=i.light,r=t.style;let o=[];const s=Un(e);if(void 0===e)return o;if("object"!==s)return o=o.concat([new nr("light",e,`object expected, ${s} found`)]),o;for(const t in e){const s=t.match(/^(.*)-transition$/);o=o.concat(s&&n[s[1]]&&n[s[1]].transition?Nr({key:t,value:e[t],valueSpec:i.transition,style:r,styleSpec:i}):n[t]?Nr({key:t,value:e[t],valueSpec:n[t],style:r,styleSpec:i}):[new nr(t,e[t],`unknown property "${t}"`)])}return o}function Rr(t){const e=t.value,i=t.key,n=t.style,r=t.styleSpec,o=r.terrain;let s=[];const a=Un(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new nr("terrain",e,`object expected, ${a} found`)]),s;for(const t in e){const i=t.match(/^(.*)-transition$/);s=s.concat(i&&o[i[1]]&&o[i[1]].transition?Nr({key:t,value:e[t],valueSpec:r.transition,style:n,styleSpec:r}):o[t]?Nr({key:t,value:e[t],valueSpec:o[t],style:n,styleSpec:r}):[new nr(t,e[t],`unknown property "${t}"`)])}if(e.source){const t=n.sources&&n.sources[e.source],r=t&&ne(t.type);t?"raster-dem"!==r&&s.push(new nr(i,e.source,`terrain cannot be used with a source of type ${String(r)}, it only be used with a "raster-dem" source type`)):s.push(new nr(i,e.source,`source "${e.source}" not found`))}else s.push(new nr(i,e,'terrain is missing required property "source"'));return s}function Or(t){const e=t.value,i=t.style,n=t.styleSpec,r=n.fog;let o=[];const s=Un(e);if(void 0===e)return o;if("object"!==s)return o=o.concat([new nr("fog",e,`object expected, ${s} found`)]),o;for(const t in e){const s=t.match(/^(.*)-transition$/);o=o.concat(s&&r[s[1]]&&r[s[1]].transition?Nr({key:t,value:e[t],valueSpec:n.transition,style:i,styleSpec:n}):r[t]?Nr({key:t,value:e[t],valueSpec:r[t],style:i,styleSpec:n}):[new nr(t,e[t],`unknown property "${t}"`)])}return o}const Br={"*":()=>[],array:or,boolean:function(t){const e=t.value,i=t.key,n=Un(e);return"boolean"!==n?[new nr(i,e,`boolean expected, ${n} found`)]:[]},number:sr,color:function(t){const e=t.key,i=t.value,n=Un(i);return"string"!==n?[new nr(e,i,`color expected, ${n} found`)]:null===Ce(i)?[new nr(e,i,`color expected, "${i}" found`)]:[]},enum:ur,filter:Er,function:ar,layer:Ir,object:rr,source:Lr,light:Dr,terrain:Rr,fog:Or,string:Mr,formatted:function(t){return 0===Mr(t).length?[]:lr(t)},resolvedImage:function(t){return 0===Mr(t).length?[]:lr(t)},projection:function(t){const e=t.value,i=t.styleSpec,n=i.projection,r=t.style;let o=[];const s=Un(e);if("object"===s)for(const t in e)o=o.concat(Nr({key:t,value:e[t],valueSpec:n[t],style:r,styleSpec:i}));else"string"!==s&&(o=o.concat([new nr("projection",e,`object or string expected, ${s} found`)]));return o}};function Nr(t){const e=t.value,i=t.valueSpec,n=t.styleSpec;return i.expression&&jn(ne(e))?ar(t):i.expression&&Yn(re(e))?lr(t):i.type&&Br[i.type]?Br[i.type](t):rr(ie({},t,{valueSpec:i.type?n[i.type]:i}))}function Fr(t){const e=t.value,i=t.key,n=Mr(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new nr(i,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new nr(i,e,'"glyphs" url must include a "{range}" token'))),n}function Ur(t,e=ee){return Gr(Nr({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Fr,"*":()=>[]}}))}const jr=t=>Gr(kr(t)),Vr=t=>Gr(Sr(t));function Gr(t){return t.slice().sort(((t,e)=>t.line&&e.line?t.line-e.line:0))}function qr(t,e){let i=!1;if(e&&e.length)for(const n of e)t.fire(new Qt(new Error(n.message))),i=!0;return i}var Zr=Xr,$r=3;function Xr(t,e,i){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var r=new Int32Array(this.arrayBuffer);t=r[0],this.d=(e=r[1])+2*(i=r[2]);for(var o=0;o=u[d+0]&&n>=u[d+1])?(s[p]=!0,o.push(c[p])):s[p]=!1}}},Xr.prototype._forEachCell=function(t,e,i,n,r,o,s,a){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(i),h=this._convertToCellCoord(n),p=l;p<=u;p++)for(var d=c;d<=h;d++){var f=this.d*d+p;if((!a||a(this._convertFromCellCoord(p),this._convertFromCellCoord(d),this._convertFromCellCoord(p+1),this._convertFromCellCoord(d+1)))&&r.call(this,t,e,i,n,f,o,s,a))return}},Xr.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Xr.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Xr.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=$r+this.cells.length+1+1,i=0,n=0;n=0||(r[e]=Qr(t[e],i)));t instanceof Error&&(r.message=t.message)}if(r.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==n&&(r.$name=n),r}throw new Error("can't serialize object of type "+typeof t)}function to(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Kr(t)||Jr(t)||ArrayBuffer.isView(t)||t instanceof e.ImageData)return t;if(Array.isArray(t))return t.map(to);if("object"==typeof t){const e=t.$name||"Object",{klass:i}=Hr[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const n=Object.create(i.prototype);for(const e of Object.keys(t))"$name"!==e&&(n[e]=to(t[e]));return n}throw new Error("can't deserialize object of type "+typeof t)}const eo={"Latin-1 Supplement":t=>t>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function io(t){for(const e of t)if(oo(e.charCodeAt(0)))return!0;return!1}function no(t){for(const e of t)if(!ro(e.charCodeAt(0)))return!1;return!0}function ro(t){return!(eo.Arabic(t)||eo["Arabic Supplement"](t)||eo["Arabic Extended-A"](t)||eo["Arabic Presentation Forms-A"](t)||eo["Arabic Presentation Forms-B"](t))}function oo(t){return!(746!==t&&747!==t&&(t<4352||!(eo["Bopomofo Extended"](t)||eo.Bopomofo(t)||eo["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||eo["CJK Compatibility Ideographs"](t)||eo["CJK Compatibility"](t)||eo["CJK Radicals Supplement"](t)||eo["CJK Strokes"](t)||!(!eo["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||eo["CJK Unified Ideographs Extension A"](t)||eo["CJK Unified Ideographs"](t)||eo["Enclosed CJK Letters and Months"](t)||eo["Hangul Compatibility Jamo"](t)||eo["Hangul Jamo Extended-A"](t)||eo["Hangul Jamo Extended-B"](t)||eo["Hangul Jamo"](t)||eo["Hangul Syllables"](t)||eo.Hiragana(t)||eo["Ideographic Description Characters"](t)||eo.Kanbun(t)||eo["Kangxi Radicals"](t)||eo["Katakana Phonetic Extensions"](t)||eo.Katakana(t)&&12540!==t||!(!eo["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!eo["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||eo["Unified Canadian Aboriginal Syllabics"](t)||eo["Unified Canadian Aboriginal Syllabics Extended"](t)||eo["Vertical Forms"](t)||eo["Yijing Hexagram Symbols"](t)||eo["Yi Syllables"](t)||eo["Yi Radicals"](t))))}function so(t){return!(oo(t)||function(t){return!!(eo["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||eo["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||eo["Letterlike Symbols"](t)||eo["Number Forms"](t)||eo["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||eo["Control Pictures"](t)&&9251!==t||eo["Optical Character Recognition"](t)||eo["Enclosed Alphanumerics"](t)||eo["Geometric Shapes"](t)||eo["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||eo["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||eo["CJK Symbols and Punctuation"](t)||eo.Katakana(t)||eo["Private Use Area"](t)||eo["CJK Compatibility Forms"](t)||eo["Small Form Variants"](t)||eo["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function ao(t){return t>=1424&&t<=2303||eo["Arabic Presentation Forms-A"](t)||eo["Arabic Presentation Forms-B"](t)}function lo(t,e){return!(!e&&ao(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||eo.Khmer(t))}function co(t){for(const e of t)if(ao(e.charCodeAt(0)))return!0;return!1}const uo="deferred",ho="loading",po="loaded";let fo=null,mo="unavailable",go=null;const _o=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(mo="error"),fo&&fo(t)};function yo(){vo.fire(new Jt("pluginStateChange",{pluginStatus:mo,pluginURL:go}))}const vo=new te,xo=function(){return mo},bo=function(){if(mo!==uo||!go)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");mo=ho,yo(),go&&dt({url:go},(t=>{t?_o(t):(mo=po,yo())}))},wo={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>mo===po||null!=wo.applyArabicShaping,isLoading:()=>mo===ho,setState(t){mo=t.pluginStatus,go=t.pluginURL},isParsed:()=>null!=wo.applyArabicShaping&&null!=wo.processBidirectionalText&&null!=wo.processStyledBidirectionalText,getPluginURL:()=>go};class Ao{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.transition=e.transition,this.pitch=e.pitch):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0)}isSupportedScript(t){return function(t,e){for(const i of t)if(!lo(i.charCodeAt(0),e))return!1;return!0}(t,wo.isLoaded())}}class Eo{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(jn(t))return new er(t,e);if(Yn(t)){const i=tr(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"string"==typeof t&&"color"===e.type&&(i=Le.parse(t)),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class Co{constructor(t){this.property=t,this.value=new Eo(t,void 0)}transitioned(t,e){return new ko(this.property,this.value,e,z({},t.transition,this.transition),t.now)}untransitioned(){return new ko(this.property,this.value,null,{},0)}}class To{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return G(this._values[t].value.value)}setValue(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Co(this._values[t].property)),this._values[t].value=new Eo(this._values[t].property,null===e?void 0:G(e))}getTransition(t){return G(this._values[t].transition)}setTransition(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Co(this._values[t].property)),this._values[t].transition=G(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n)}return t}transitioned(t,e){const i=new So(this._properties);for(const n of Object.keys(this._values))i._values[n]=this._values[n].transitioned(t,e._values[n]);return i}untransitioned(){const t=new So(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ko{constructor(t,e,i,n,r){const o=n.delay||0,s=n.duration||0;r=r||0,this.property=t,this.value=e,this.begin=r+o,this.end=this.begin+s,t.specification.transition&&(n.delay||n.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const n=t.now||0,r=this.value.possiblyEvaluate(t,e,i),o=this.prior;if(o){if(n>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(nthis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null}}function Uo(t,e=1){let i=0,n=0;return{members:t.map((t=>{const r=Bo[t.type].BYTES_PER_ELEMENT,o=i=jo(i,Math.max(e,r)),s=t.components||1;return n=Math.max(n,r),i+=r*s,{name:t.name,type:t.type,components:s,offset:o}})),size:jo(i,Math.max(n,e)),alignment:e}}function jo(t,e){return Math.ceil(t/e)*e}class Vo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=i,t}}Vo.prototype.bytesPerElement=4,Yr(Vo,"StructArrayLayout2i4");class Go extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i)}emplace(t,e,i,n){const r=3*t;return this.int16[r+0]=e,this.int16[r+1]=i,this.int16[r+2]=n,t}}Go.prototype.bytesPerElement=6,Yr(Go,"StructArrayLayout3i6");class qo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=4*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.int16[o+2]=n,this.int16[o+3]=r,t}}qo.prototype.bytesPerElement=8,Yr(qo,"StructArrayLayout4i8");class Zo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,n,r,o,s)}emplace(t,e,i,n,r,o,s,a){const l=6*t,c=12*t,u=3*t;return this.int16[l+0]=e,this.int16[l+1]=i,this.uint8[c+4]=n,this.uint8[c+5]=r,this.uint8[c+6]=o,this.uint8[c+7]=s,this.float32[u+2]=a,t}}Zo.prototype.bytesPerElement=12,Yr(Zo,"StructArrayLayout2i4ub1f12");class $o extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=4*t;return this.float32[o+0]=e,this.float32[o+1]=i,this.float32[o+2]=n,this.float32[o+3]=r,t}}$o.prototype.bytesPerElement=16,Yr($o,"StructArrayLayout4f16");class Xo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,n,r)}emplace(t,e,i,n,r,o){const s=6*t,a=3*t;return this.uint16[s+0]=e,this.uint16[s+1]=i,this.uint16[s+2]=n,this.uint16[s+3]=r,this.float32[a+2]=o,t}}Xo.prototype.bytesPerElement=12,Yr(Xo,"StructArrayLayout4ui1f12");class Wo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=4*t;return this.uint16[o+0]=e,this.uint16[o+1]=i,this.uint16[o+2]=n,this.uint16[o+3]=r,t}}Wo.prototype.bytesPerElement=8,Yr(Wo,"StructArrayLayout4ui8");class Ho extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,n,r,o)}emplace(t,e,i,n,r,o,s){const a=6*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=n,this.int16[a+3]=r,this.int16[a+4]=o,this.int16[a+5]=s,t}}Ho.prototype.bytesPerElement=12,Yr(Ho,"StructArrayLayout6i12");class Yo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,i,n,r,o,s,a,l,c,u,h)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=n,this.int16[d+3]=r,this.uint16[d+4]=o,this.uint16[d+5]=s,this.uint16[d+6]=a,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=u,this.int16[d+10]=h,this.int16[d+11]=p,t}}Yo.prototype.bytesPerElement=24,Yr(Yo,"StructArrayLayout4i4ui4i24");class Ko extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,n,r,o)}emplace(t,e,i,n,r,o,s){const a=10*t,l=5*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=n,this.float32[l+2]=r,this.float32[l+3]=o,this.float32[l+4]=s,t}}Ko.prototype.bytesPerElement=20,Yr(Ko,"StructArrayLayout3i3f20");class Jo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Jo.prototype.bytesPerElement=4,Yr(Jo,"StructArrayLayout1ul4");class Qo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h,p){const d=this.length;return this.resize(d+1),this.emplace(d,t,e,i,n,r,o,s,a,l,c,u,h,p)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p,d){const f=20*t,m=10*t;return this.int16[f+0]=e,this.int16[f+1]=i,this.int16[f+2]=n,this.int16[f+3]=r,this.int16[f+4]=o,this.float32[m+3]=s,this.float32[m+4]=a,this.float32[m+5]=l,this.float32[m+6]=c,this.int16[f+14]=u,this.uint32[m+8]=h,this.uint16[f+18]=p,this.uint16[f+19]=d,t}}Qo.prototype.bytesPerElement=40,Yr(Qo,"StructArrayLayout5i4f1i1ul2ui40");class ts extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,n,r,o,s)}emplace(t,e,i,n,r,o,s,a){const l=8*t;return this.int16[l+0]=e,this.int16[l+1]=i,this.int16[l+2]=n,this.int16[l+4]=r,this.int16[l+5]=o,this.int16[l+6]=s,this.int16[l+7]=a,t}}ts.prototype.bytesPerElement=16,Yr(ts,"StructArrayLayout3i2i2i16");class es extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,n,r)}emplace(t,e,i,n,r,o){const s=4*t,a=8*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=n,this.int16[a+6]=r,this.int16[a+7]=o,t}}es.prototype.bytesPerElement=16,Yr(es,"StructArrayLayout2f1f2i16");class is extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=12*t,s=3*t;return this.uint8[o+0]=e,this.uint8[o+1]=i,this.float32[s+1]=n,this.float32[s+2]=r,t}}is.prototype.bytesPerElement=12,Yr(is,"StructArrayLayout2ub2f12");class ns extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i)}emplace(t,e,i,n){const r=3*t;return this.float32[r+0]=e,this.float32[r+1]=i,this.float32[r+2]=n,t}}ns.prototype.bytesPerElement=12,Yr(ns,"StructArrayLayout3f12");class rs extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i)}emplace(t,e,i,n){const r=3*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,this.uint16[r+2]=n,t}}rs.prototype.bytesPerElement=6,Yr(rs,"StructArrayLayout3ui6");class os extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x){const b=this.length;return this.resize(b+1),this.emplace(b,t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b){const w=30*t,A=15*t,E=60*t;return this.int16[w+0]=e,this.int16[w+1]=i,this.int16[w+2]=n,this.float32[A+2]=r,this.float32[A+3]=o,this.uint16[w+8]=s,this.uint16[w+9]=a,this.uint32[A+5]=l,this.uint32[A+6]=c,this.uint32[A+7]=u,this.uint16[w+16]=h,this.uint16[w+17]=p,this.uint16[w+18]=d,this.float32[A+10]=f,this.float32[A+11]=m,this.uint8[E+48]=g,this.uint8[E+49]=_,this.uint8[E+50]=y,this.uint32[A+13]=v,this.int16[w+28]=x,this.uint8[E+58]=b,t}}os.prototype.bytesPerElement=60,Yr(os,"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60");class ss extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E,C,T,k,S,I){const M=this.length;return this.resize(M+1),this.emplace(M,t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E,C,T,k,S,I)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E,C,T,k,S,I,M){const P=38*t,L=19*t;return this.int16[P+0]=e,this.int16[P+1]=i,this.int16[P+2]=n,this.float32[L+2]=r,this.float32[L+3]=o,this.int16[P+8]=s,this.int16[P+9]=a,this.int16[P+10]=l,this.int16[P+11]=c,this.int16[P+12]=u,this.int16[P+13]=h,this.uint16[P+14]=p,this.uint16[P+15]=d,this.uint16[P+16]=f,this.uint16[P+17]=m,this.uint16[P+18]=g,this.uint16[P+19]=_,this.uint16[P+20]=y,this.uint16[P+21]=v,this.uint16[P+22]=x,this.uint16[P+23]=b,this.uint16[P+24]=w,this.uint16[P+25]=A,this.uint16[P+26]=E,this.uint16[P+27]=C,this.uint16[P+28]=T,this.uint32[L+15]=k,this.float32[L+16]=S,this.float32[L+17]=I,this.float32[L+18]=M,t}}ss.prototype.bytesPerElement=76,Yr(ss,"StructArrayLayout3i2f6i15ui1ul3f76");class as extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}as.prototype.bytesPerElement=4,Yr(as,"StructArrayLayout1f4");class ls extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,n,r)}emplace(t,e,i,n,r,o){const s=5*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=n,this.float32[s+3]=r,this.float32[s+4]=o,t}}ls.prototype.bytesPerElement=20,Yr(ls,"StructArrayLayout5f20");class cs extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=6*t;return this.uint32[3*t+0]=e,this.uint16[o+2]=i,this.uint16[o+3]=n,this.uint16[o+4]=r,t}}cs.prototype.bytesPerElement=12,Yr(cs,"StructArrayLayout1ul3ui12");class us extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,t}}us.prototype.bytesPerElement=4,Yr(us,"StructArrayLayout2ui4");class hs extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}hs.prototype.bytesPerElement=2,Yr(hs,"StructArrayLayout1ui2");class ps extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=i,t}}ps.prototype.bytesPerElement=8,Yr(ps,"StructArrayLayout2f8");class ds extends No{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ds.prototype.size=40;class fs extends Qo{get(t){return new ds(this,t)}}Yr(fs,"CollisionBoxArray");class ms extends No{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(t){this._structArray.uint8[this._pos1+49]=t}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(t){this._structArray.uint8[this._pos1+50]=t}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(t){this._structArray.uint32[this._pos4+13]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(t){this._structArray.uint8[this._pos1+58]=t}}ms.prototype.size=60;class gs extends os{get(t){return new ms(this,t)}}Yr(gs,"PlacedSymbolArray");class _s extends No{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(t){this._structArray.uint32[this._pos4+15]=t}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}_s.prototype.size=76;class ys extends ss{get(t){return new _s(this,t)}}Yr(ys,"SymbolInstanceArray");class vs extends as{getoffsetX(t){return this.float32[1*t+0]}}Yr(vs,"GlyphOffsetArray");class xs extends Vo{getx(t){return this.int16[2*t+0]}gety(t){return this.int16[2*t+1]}}Yr(xs,"SymbolLineVertexArray");class bs extends No{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]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}bs.prototype.size=12;class ws extends cs{get(t){return new bs(this,t)}}Yr(ws,"FeatureIndexArray");class As extends us{geta_centroid_pos0(t){return this.uint16[2*t+0]}geta_centroid_pos1(t){return this.uint16[2*t+1]}}Yr(As,"FillExtrusionCentroidArray");const Es=Uo([{name:"a_pattern",components:4,type:"Uint16"},{name:"a_pixel_ratio",components:1,type:"Float32"}]),Cs=Uo([{name:"a_dash",components:4,type:"Uint16"}]);var Ts={exports:{}},ks={exports:function(t,e){var i,n,r,o,s,a,l,c;for(n=t.length-(i=3&t.length),r=e,s=3432918353,a=461845907,c=0;c>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|r>>>19))+((5*(r>>>16)&65535)<<16)&4294967295))+((58964+(o>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:r^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return r^=t.length,r=2246822507*(65535&(r^=r>>>16))+((2246822507*(r>>>16)&65535)<<16)&4294967295,r=3266489909*(65535&(r^=r>>>13))+((3266489909*(r>>>16)&65535)<<16)&4294967295,(r^=r>>>16)>>>0}},Ss={exports:function(t,e){for(var i,n=t.length,r=e^n,o=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(o)|(255&t.charCodeAt(++o))<<8|(255&t.charCodeAt(++o))<<16|(255&t.charCodeAt(++o))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++o;switch(n){case 3:r^=(255&t.charCodeAt(o+2))<<16;case 2:r^=(255&t.charCodeAt(o+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(o)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0}},Is=ks.exports,Ms=Ss.exports;Ts.exports=Is,Ts.exports.murmur3=Is,Ts.exports.murmur2=Ms;var Ps=d(Ts.exports);class Ls{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,n){this.ids.push(zs(t)),this.positions.push(e,i,n)}getPositions(t){const e=zs(t);let i=0,n=this.ids.length-1;for(;i>1;this.ids[t]>=e?n=t:i=t+1}const r=[];for(;this.ids[i]===e;)r.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return r}static serialize(t,e){const i=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Ds(i,n,0,i.length-1),e&&e.push(i.buffer,n.buffer),{ids:i,positions:n}}static deserialize(t){const e=new Ls;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function zs(t){const e=+t;return!isNaN(e)&&Number.MIN_SAFE_INTEGER<=e&&e<=Number.MAX_SAFE_INTEGER?e:Ps(String(t))}function Ds(t,e,i,n){for(;i>1];let o=i-1,s=n+1;for(;;){do{o++}while(t[o]r);if(o>=s)break;Rs(t,o,s),Rs(e,3*o,3*s),Rs(e,3*o+1,3*s+1),Rs(e,3*o+2,3*s+2)}s-i`u_${t}`)),this.type=i}setUniform(t,e,i,n,r){e.set(t,r,n.constantOr(this.value))}getBinding(t,e){return"color"===this.type?new Fs(t):new Bs(t)}}class Zs{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.pattern=null,this.pixelRatio=1}setConstantPatternPositions(t){this.pixelRatio=t.pixelRatio||1,this.pattern=t.tl.concat(t.br)}setUniform(t,e,i,n,r){const o="u_pattern"===r||"u_dash"===r?this.pattern:"u_pixel_ratio"===r?this.pixelRatio:null;o&&e.set(t,r,o)}getBinding(t,e){return"u_pattern"===e||"u_dash"===e?new Ns(t):new Bs(t)}}class $s{constructor(t,e,i,n){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(t,e,i,n,r,o){const s=this.paintVertexArray.length,a=this.expression.evaluate(new Ao(0),e,{},r,n,o);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a)}updatePaintArray(t,e,i,n,r){const o=this.expression.evaluate({zoom:0},i,n,void 0,r);this._setPaintValue(t,e,o)}_setPaintValue(t,e,i){if("color"===this.type){const n=Gs(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=n,this.zoom=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new o}populatePaintArray(t,e,i,n,r,o){const s=this.expression.evaluate(new Ao(this.zoom),e,{},r,n,o),a=this.expression.evaluate(new Ao(this.zoom+1),e,{},r,n,o),l=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(l,t,s,a)}updatePaintArray(t,e,i,n,r){const o=this.expression.evaluate({zoom:this.zoom},i,n,void 0,r),s=this.expression.evaluate({zoom:this.zoom+1},i,n,void 0,r);this._setPaintValue(t,e,o,s)}_setPaintValue(t,e,i,n){if("color"===this.type){const r=Gs(i),o=Gs(n);for(let i=t;i!0)){this.binders={},this._buffers=[];const n=[];for(const r in t.paint._values){if(!i(r))continue;const o=t.paint.get(r);if(!(o instanceof Mo&&Bn(o.property.specification)))continue;const s=Js(r,t.type),a=o.value,l=o.property.specification.type,c=!!o.property.useIntegerZoom,u="line-dasharray"===r||r.endsWith("pattern"),h="line-dasharray"===r&&"constant"!==t.layout.get("line-cap").value.kind;if("constant"!==a.kind||h)if("source"===a.kind||h||u){const e=ea(r,l,"source");this.binders[r]=u?new Ws(a,s,l,e,t.id):new $s(a,s,l,e),n.push(`/a_${r}`)}else{const t=ea(r,l,"composite");this.binders[r]=new Xs(a,s,l,c,e,t),n.push(`/z_${r}`)}else this.binders[r]=u?new Zs(a.value,s):new qs(a.value,s,l),n.push(`/u_${r}`)}this.cacheKey=n.sort().join("")}getMaxValue(t){const e=this.binders[t];return e instanceof $s||e instanceof Xs?e.maxValue:0}populatePaintArrays(t,e,i,n,r,o){for(const s in this.binders){const a=this.binders[s];(a instanceof $s||a instanceof Xs||a instanceof Ws)&&a.populatePaintArray(t,e,i,n,r,o)}}setConstantPatternPositions(t){for(const e in this.binders){const i=this.binders[e];i instanceof Zs&&i.setConstantPatternPositions(t)}}updatePaintArrays(t,e,i,n,r,o){let s=!1;for(const a in t){const l=e.getPositions(a);for(const e of l){const l=i.feature(e.index);for(const i in this.binders){const c=this.binders[i];if((c instanceof $s||c instanceof Xs||c instanceof Ws)&&!0===c.expression.isStateDependent){const u=n.paint.get(i);c.expression=u.value,c.updatePaintArray(e.start,e.end,l,t[a],r,o),s=!0}}}}return s}defines(){const t=[];for(const e in this.binders){const i=this.binders[e];(i instanceof qs||i instanceof Zs)&&t.push(...i.uniformNames.map((t=>`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof $s||i instanceof Xs||i instanceof Ws)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Hs(n,e,i);this.needsUpload=!1,this._featureMap=new Ls,this._bufferOffset=0}populatePaintArrays(t,e,i,n,r,o,s){for(const i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,n,r,o,s);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,n,r){for(const o of i)this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}const Ks={"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-pattern":["pattern","pixel_ratio"],"fill-pattern":["pattern","pixel_ratio"],"fill-extrusion-pattern":["pattern","pixel_ratio"],"line-dasharray":["dash"]};function Js(t,e){return Ks[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}const Qs={"line-pattern":{source:Xo,composite:Xo},"fill-pattern":{source:Xo,composite:Xo},"fill-extrusion-pattern":{source:Xo,composite:Xo},"line-dasharray":{source:Wo,composite:Wo}},ta={color:{source:ps,composite:$o},number:{source:as,composite:ps}};function ea(t,e,i){const n=Qs[t];return n&&n[i]||ta[e][i]}Yr(qs,"ConstantBinder"),Yr(Zs,"PatternConstantBinder"),Yr($s,"SourceExpressionBinder"),Yr(Ws,"PatternCompositeBinder"),Yr(Xs,"CompositeExpressionBinder"),Yr(Hs,"ProgramConfiguration",{omit:["_buffers"]}),Yr(Ys,"ProgramConfigurationSet");const ia="-transition";class na extends te{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&"sky"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Io(e.layout)),e.paint)){this._transitionablePaint=new To(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Po(e.paint)}}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(Vr,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return U(t,ia)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(jr,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(U(t,ia))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const i=this._transitionablePaint._values[t],n=i.value.isDataDriven(),r=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value,s=o.isDataDriven(),a=U(t,"pattern")||"line-dasharray"===t;return s||n||a||this._handleOverridablePaintPropertyUpdate(t,r,o)}}_handleSpecialPaintPropertyUpdate(t){}getProgramIds(){return null}getProgramConfiguration(t){return null}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={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&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),V(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,n,r={}){return(!r||!1!==r.validate)&&qr(this,t.call(Ur,{key:e,layerType:this.type,objectKey:i,value:n,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Mo&&Bn(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=pr(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const ra=Uo([{name:"a_pos",components:2,type:"Int16"}],4),oa=Uo([{name:"a_pos_3",components:3,type:"Int16"},{name:"a_pos_normal_3",components:3,type:"Int16"}]);class sa{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,n){let r=this.segments[this.segments.length-1];return t>sa.MAX_VERTEX_ARRAY_LENGTH&&Z(`Max vertices per segment is ${sa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!r||r.vertexLength+t>sa.MAX_VERTEX_ARRAY_LENGTH||r.sortKey!==n)&&(r={vertexOffset:e.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==n&&(r.sortKey=n),this.segments.push(r)),r}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,n){return new sa([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:n,vaos:{},sortKey:0}])}}sa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Yr(sa,"SegmentVector");var aa=8192;class la{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))}setNorthEast(t){return this._ne=t instanceof Vl?new Vl(t.lng,t.lat):Vl.convert(t),this}setSouthWest(t){return this._sw=t instanceof Vl?new Vl(t.lng,t.lat):Vl.convert(t),this}extend(t){const e=this._sw,i=this._ne;let n,r;if(t instanceof Vl)n=t,r=t;else{if(!(t instanceof la))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(la.convert(t)):this.extend(Vl.convert(t)):"object"==typeof t&&null!==t&&t.hasOwnProperty("lat")&&(t.hasOwnProperty("lon")||t.hasOwnProperty("lng"))?this.extend(Vl.convert(t)):this;if(n=t._sw,r=t._ne,!n||!r)return this}return e||i?(e.lng=Math.min(n.lng,e.lng),e.lat=Math.min(n.lat,e.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Vl(n.lng,n.lat),this._ne=new Vl(r.lng,r.lat)),this}getCenter(){return new Vl((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Vl(this.getWest(),this.getNorth())}getSouthEast(){return new Vl(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:e,lat:i}=Vl.convert(t);let n=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&n}static convert(t){return!t||t instanceof la?t:new la(t)}}var ca=1e-6,ua="undefined"!=typeof Float32Array?Float32Array:Array;function ha(){var t=new ua(9);return ua!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function pa(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=i[0],d=i[1],f=i[2],m=i[3],g=i[4],_=i[5],y=i[6],v=i[7],x=i[8];return t[0]=p*n+d*s+f*c,t[1]=p*r+d*a+f*u,t[2]=p*o+d*l+f*h,t[3]=m*n+g*s+_*c,t[4]=m*r+g*a+_*u,t[5]=m*o+g*l+_*h,t[6]=y*n+v*s+x*c,t[7]=y*r+v*a+x*u,t[8]=y*o+v*l+x*h,t}function da(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function fa(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],d=e[11],f=e[12],m=e[13],g=e[14],_=e[15],y=i*a-n*s,v=i*l-r*s,x=i*c-o*s,b=n*l-r*a,w=n*c-o*a,A=r*c-o*l,E=u*m-h*f,C=u*g-p*f,T=u*_-d*f,k=h*g-p*m,S=h*_-d*m,I=p*_-d*g,M=y*I-v*S+x*k+b*T-w*C+A*E;return M?(t[0]=(a*I-l*S+c*k)*(M=1/M),t[1]=(r*S-n*I-o*k)*M,t[2]=(m*A-g*w+_*b)*M,t[3]=(p*w-h*A-d*b)*M,t[4]=(l*T-s*I-c*C)*M,t[5]=(i*I-r*T+o*C)*M,t[6]=(g*x-f*A-_*v)*M,t[7]=(u*A-p*x+d*v)*M,t[8]=(s*S-a*T+c*E)*M,t[9]=(n*T-i*S-o*E)*M,t[10]=(f*w-m*x+_*y)*M,t[11]=(h*x-u*w-d*y)*M,t[12]=(a*C-s*k-l*E)*M,t[13]=(i*k-n*C+r*E)*M,t[14]=(m*v-f*b-g*y)*M,t[15]=(u*b-h*v+p*y)*M,t):null}function ma(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],d=e[10],f=e[11],m=e[12],g=e[13],_=e[14],y=e[15],v=i[0],x=i[1],b=i[2],w=i[3];return t[0]=v*n+x*a+b*h+w*m,t[1]=v*r+x*l+b*p+w*g,t[2]=v*o+x*c+b*d+w*_,t[3]=v*s+x*u+b*f+w*y,t[4]=(v=i[4])*n+(x=i[5])*a+(b=i[6])*h+(w=i[7])*m,t[5]=v*r+x*l+b*p+w*g,t[6]=v*o+x*c+b*d+w*_,t[7]=v*s+x*u+b*f+w*y,t[8]=(v=i[8])*n+(x=i[9])*a+(b=i[10])*h+(w=i[11])*m,t[9]=v*r+x*l+b*p+w*g,t[10]=v*o+x*c+b*d+w*_,t[11]=v*s+x*u+b*f+w*y,t[12]=(v=i[12])*n+(x=i[13])*a+(b=i[14])*h+(w=i[15])*m,t[13]=v*r+x*l+b*p+w*g,t[14]=v*o+x*c+b*d+w*_,t[15]=v*s+x*u+b*f+w*y,t}function ga(t,e,i){var n,r,o,s,a,l,c,u,h,p,d,f,m=i[0],g=i[1],_=i[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*_+e[12],t[13]=e[1]*m+e[5]*g+e[9]*_+e[13],t[14]=e[2]*m+e[6]*g+e[10]*_+e[14],t[15]=e[3]*m+e[7]*g+e[11]*_+e[15]):(r=e[1],o=e[2],s=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],d=e[10],f=e[11],t[0]=n=e[0],t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=p,t[10]=d,t[11]=f,t[12]=n*m+a*g+h*_+e[12],t[13]=r*m+l*g+p*_+e[13],t[14]=o*m+c*g+d*_+e[14],t[15]=s*m+u*g+f*_+e[15]),t}function _a(t,e,i){var n=i[0],r=i[1],o=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function ya(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[4],s=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*r+c*n,t[5]=s*r+u*n,t[6]=a*r+h*n,t[7]=l*r+p*n,t[8]=c*r-o*n,t[9]=u*r-s*n,t[10]=h*r-a*n,t[11]=p*r-l*n,t}function va(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r-c*n,t[1]=s*r-u*n,t[2]=a*r-h*n,t[3]=l*r-p*n,t[8]=o*n+c*r,t[9]=s*n+u*r,t[10]=a*n+h*r,t[11]=l*n+p*r,t}function xa(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ba(t,e,i){var n,r,o,s=i[0],a=i[1],l=i[2],c=Math.hypot(s,a,l);return c0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function Ra(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Oa(t,e,i){var n=e[0],r=e[1],o=e[2],s=i[0],a=i[1],l=i[2];return t[0]=r*l-o*a,t[1]=o*s-n*l,t[2]=n*a-r*s,t}function Ba(t,e,i){var n=e[0],r=e[1],o=e[2],s=i[3]*n+i[7]*r+i[11]*o+i[15];return t[0]=(i[0]*n+i[4]*r+i[8]*o+i[12])/(s=s||1),t[1]=(i[1]*n+i[5]*r+i[9]*o+i[13])/s,t[2]=(i[2]*n+i[6]*r+i[10]*o+i[14])/s,t}function Na(t,e,i){var n=i[0],r=i[1],o=i[2],s=e[0],a=e[1],l=e[2],c=r*l-o*a,u=o*s-n*l,h=n*a-r*s,p=r*h-o*u,d=o*c-n*h,f=n*u-r*c,m=2*i[3];return u*=m,h*=m,d*=2,f*=2,t[0]=s+(c*=m)+(p*=2),t[1]=a+u+d,t[2]=l+h+f,t}var Fa,Ua=Sa,ja=Ia,Va=Ca;function Ga(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t}function qa(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=i*i+n*n+r*r+o*o;return s>0&&(s=1/Math.sqrt(s)),t[0]=i*s,t[1]=n*s,t[2]=r*s,t[3]=o*s,t}function Za(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3];return t[0]=i[0]*n+i[4]*r+i[8]*o+i[12]*s,t[1]=i[1]*n+i[5]*r+i[9]*o+i[13]*s,t[2]=i[2]*n+i[6]*r+i[10]*o+i[14]*s,t[3]=i[3]*n+i[7]*r+i[11]*o+i[15]*s,t}function $a(){var t=new ua(4);return ua!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Xa(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Wa(t,e,i){i*=.5;var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);return t[0]=n*l+s*a,t[1]=r*l+o*a,t[2]=o*l-r*a,t[3]=s*l-n*a,t}function Ha(t,e,i){i*=.5;var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);return t[0]=n*l-o*a,t[1]=r*l+s*a,t[2]=o*l+n*a,t[3]=s*l-r*a,t}Aa(),Fa=new ua(4),ua!=Float32Array&&(Fa[0]=0,Fa[1]=0,Fa[2]=0,Fa[3]=0);var Ya=qa;Aa(),Ta(1,0,0),Ta(0,1,0),$a(),$a(),ha();const Ka=Uo([{type:"Float32",name:"a_globe_pos",components:3},{type:"Float32",name:"a_uv",components:2}]),{members:Ja}=Ka,Qa=Uo([{name:"a_pos_3",components:3,type:"Int16"}]);var tl=Uo([{name:"a_pos",type:"Int16",components:2}]);class el{constructor(t,e){this.pos=t,this.dir=e}intersectsPlane(t,e,i){const n=Ra(e,this.dir);if(Math.abs(n)<1e-6)return!1;const r=((t[0]-this.pos[0])*e[0]+(t[1]-this.pos[1])*e[1]+(t[2]-this.pos[2])*e[2])/n;return i[0]=this.pos[0]+this.dir[0]*r,i[1]=this.pos[1]+this.dir[1]*r,i[2]=this.pos[2]+this.dir[2]*r,!0}closestPointOnSphere(t,e,i){if(function(t,e){var i=t[0],n=t[1],r=t[2],o=e[0],s=e[1],a=e[2];return Math.abs(i-o)<=ca*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(n-s)<=ca*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(r-a)<=ca*Math.max(1,Math.abs(r),Math.abs(a))}(this.pos,t)||0===e)return i[0]=i[1]=i[2]=0,!1;const[n,r,o]=this.dir,s=this.pos[0]-t[0],a=this.pos[1]-t[1],l=this.pos[2]-t[2],c=n*n+r*r+o*o,u=2*(s*n+a*r+l*o),h=u*u-4*c*(s*s+a*a+l*l-e*e);if(h<0){const t=Math.max(-u/2,0),c=s+n*t,h=a+r*t,p=l+o*t,d=Math.hypot(c,h,p);return i[0]=c*e/d,i[1]=h*e/d,i[2]=p*e/d,!1}{const t=(-u-Math.sqrt(h))/(2*c);if(t<0){const t=Math.hypot(s,a,l);return i[0]=s*e/t,i[1]=a*e/t,i[2]=l*e/t,!1}return i[0]=s+n*t,i[1]=a+r*t,i[2]=l+o*t,!0}}}class il{constructor(t,e,i,n,r){this.TL=t,this.TR=e,this.BR=i,this.BL=n,this.horizon=r}static fromInvProjectionMatrix(t,e,i){const n=[-1,1,1],r=[1,1,1],o=[1,-1,1],s=[-1,-1,1],a=Ba(n,n,t),l=Ba(r,r,t),c=Ba(o,o,t),u=Ba(s,s,t);return new il(a,l,c,u,e/i)}}class nl{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,e,i,n){const r=Math.pow(2,i),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((i=>{const o=Za([],i,t),s=1/o[3]/e*r;return function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t[3]=e[3]*i[3],t}(o,o,[s,s,n?1/o[3]:s,s])})),s=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=Da([],Oa([],Ua([],o[t[0]],o[t[1]]),Ua([],o[t[2]],o[t[1]]))),i=-Ra(e,o[t[1]]);return e.concat(i)}));return new nl(o,s)}}class rl{static fromPoints(t){const e=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0];for(const n of t)Ma(e,e,n),Pa(i,i,n);return new rl(e,i)}static applyTransform(t,e){const i=t.getCorners();for(let t=0;t=0;if(0===o)return 0;o!==e.length&&(i=!1)}if(i)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let r=0;rthis.max[e]-this.min[e])return 0}return 1}}const ol=5,sl=6,al=aa/Math.PI/2,ll=16383,cl=64,ul=[cl,32,16],hl=-al,pl=al,dl=[new rl([hl,hl,hl],[pl,pl,pl]),new rl([hl,hl,hl],[0,0,pl]),new rl([0,hl,hl],[pl,0,pl]),new rl([hl,0,hl],[0,pl,pl]),new rl([0,0,hl],[pl,pl,pl])];function fl(t){return t*al/Fl}function ml(t,e,i,n=!0){const r=La([],t._camera.position,t.worldSize),o=[e,i,1,1];Za(o,o,t.pixelMatrixInverse),Ga(o,o,1/o[3]);const s=Da([],Ua([],o,r)),a=t.globeMatrix,l=[a[12],a[13],a[14]],c=Ua([],l,r),u=Ca(c),h=Da([],c),p=t.worldSize/(2*Math.PI),d=Ra(h,s),f=Math.asin(p/u);if(f1?null:function(t,e,i,n){const r=Math.sin(i);return t*(Math.sin((1-n)*i)/r)+e*(Math.sin(n*i)/r)}(t.a[e],t.b[e],t.angle,S(i,0,1))+t.center[e]}function yl(t){if(t.z<=1)return dl[t.z+2*t.y+t.x];const e=El(Al(t));return rl.fromPoints(e)}function vl(t,e,i){return La(t,t,1-i),za(t,t,e,i)}function xl(t,e){const i=zl(e.zoom);if(0===i)return yl(t);const n=Al(t),r=El(n),o=ql(n.getWest())*e.worldSize,s=ql(n.getEast())*e.worldSize,a=Zl(n.getNorth())*e.worldSize,l=Zl(n.getSouth())*e.worldSize,c=[o,a,0],u=[s,a,0],h=[o,l,0],p=[s,l,0],d=fa([],e.globeMatrix);return Ba(c,c,d),Ba(u,u,d),Ba(h,h,d),Ba(p,p,d),r[0]=vl(r[0],h,i),r[1]=vl(r[1],p,i),r[2]=vl(r[2],u,i),r[3]=vl(r[3],c,i),rl.fromPoints(r)}function bl(t,e,i){for(const n of t)Ba(n,n,e),La(n,n,i)}function wl(t,e,i){const n=e/t.worldSize,r=t.globeMatrix;if(i.z<=1){const t=yl(i).getCorners();return bl(t,r,n),rl.fromPoints(t)}const o=Al(i),s=El(o);bl(s,r,n);const a=Number.MAX_VALUE,l=[-a,-a,-a],c=[a,a,a];if(o.contains(t.center)){for(const t of s)Ma(c,c,t),Pa(l,l,t);l[2]=0;const e=t.point,i=[e.x*n,e.y*n,0];return Ma(c,c,i),Pa(l,l,i),new rl(c,l)}const u=[r[12]*n,r[13]*n,r[14]*n],h=o.getCenter(),p=S(t.center.lat,-Yl,Yl),d=S(h.lat,-Yl,Yl),f=ql(t.center.lng),m=Zl(p);let g=f-ql(h.lng);const _=m-Zl(d);g>.5?g-=1:g<-.5&&(g+=1);let y=0;Math.abs(g)>Math.abs(_)?y=g>=0?1:3:(y=_>=0?0:2,za(u,u,[r[4]*n,r[5]*n,r[6]*n],-Math.sin(w(_>=0?o.getSouth():o.getNorth()))*al));const v=s[y],x=s[(y+1)%4],b=new gl(v,x,u),A=[_l(b,0)||v[0],_l(b,1)||v[1],_l(b,2)||v[2]],E=zl(t.zoom);if(E>0){const n=function({x:t,y:e,z:i},n,r,o,s){const a=1/(1<.5?p=-1:d<-.5&&(p=1),l=((l+p)*n-(o*=n))*r+o,c=((c+p)*n-o)*r+o,u=(u*n-(s*=n))*r+s,h=(h*n-s)*r+s,[[l,h,0],[c,h,0],[c,u,0],[l,u,0]]}(i,e,t._pixelsPerMercatorPixel,f,m);for(let t=0;tMath.PI/2*1.01}const Ol=w(85),Bl=Math.cos(Ol),Nl=Math.sin(Ol),Fl=6371008.8,Ul=2*Math.PI*Fl;class jl{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new jl(M(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,n=t.lat*e,r=Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Fl*Math.acos(Math.min(r,1))}toBounds(t=0){const e=360*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return new la(new jl(this.lng-i,this.lat-e),new jl(this.lng+i,this.lat+e))}toEcef(t){const e=fl(t);return Tl(this.lat,this.lng,al+e)}static convert(t){if(t instanceof jl)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new jl(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new jl(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}var Vl=jl;function Gl(t){return Ul*Math.cos(t*Math.PI/180)}function ql(t){return(180+t)/360}function Zl(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function $l(t,e){return t/Gl(e)}function Xl(t){return 360*t-180}function Wl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}function Hl(t,e){return t*Gl(Wl(e))}const Yl=85.051129;function Kl(t){return 1/Math.cos(t*Math.PI/180)}class Jl{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Vl.convert(t);return new Jl(ql(i.lng),Zl(i.lat),$l(e,i.lat))}toLngLat(){return new Vl(Xl(this.x),Wl(this.y))}toAltitude(){return Hl(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ul*Kl(Wl(this.y))}}function Ql(t,e,i,n,r,o,s,a,l){const c=(e+n)/2,u=(i+r)/2,h=new v(c,u);a(h),function(t,e,i,n,r,o){const s=i-r,a=n-o;return Math.abs((n-e)*s-(i-t)*a)/Math.hypot(s,a)}(h.x,h.y,o.x,o.y,s.x,s.y)>=l?(Ql(t,e,i,c,u,o,h,a,l),Ql(t,c,u,n,r,h,s,a,l)):t.push(s)}function tc(t,e,i){let n=t[0],r=n.x,o=n.y;e(n);const s=[n];for(let a=1;at.x+1||nt.y+1)&&Z("Geometry exceeds allowed extent, reduce your vector tile buffer size"),t}function sc(t,e,i){const n=t.loadGeometry(),r=t.extent,o=aa/r;if(e&&i&&i.projection.isReprojectedInTileSpace){const o=1<{const i=Xl((e.x+t.x/r)/o),n=Wl((e.y+t.y/r)/o),u=c.project(i,n);t.x=(u.x*s-a)*r,t.y=(u.y*s-l)*r};for(let e=0;e=r||i.y<0||i.y>=r||(u(i),t.push(i));n[e]=t}}for(const t of n)for(const e of t)oc(e,o);return n}function ac(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?sc(t):[]}}function lc(t,e,i,n,r){t.emplaceBack(2*e+(n+1)/2,2*i+(r+1)/2)}function cc(t,e,i){const n=16384;t.emplaceBack(e.x,e.y,e.z,i[0]*n,i[1]*n,i[2]*n)}class uc{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.projection=t.projection,this.layoutVertexArray=new Vo,this.indexArray=new rs,this.segments=new sa,this.programConfigurations=new Ys(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i,n){const r=this.layers[0],o=[];let s=null;"circle"===r.type&&(s=r.layout.get("circle-sort-key"));for(const{feature:e,id:r,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ac(e,t);if(!this.layers[0]._featureFilter.filter(new Ao(this.zoom),c,i))continue;const u=s?s.evaluate(c,{},i):void 0,h={id:r,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:sc(e,i,n),patterns:{},sortKey:u};o.push(h)}s&&o.sort(((t,e)=>t.sortKey-e.sortKey));let a=null;"globe"===n.projection.name&&(this.globeExtVertexArray=new Ho,a=n.projection);for(const n of o){const{geometry:r,index:o,sourceLayerIndex:s}=n,l=t[o].feature;this.addFeature(n,r,o,e.availableImages,i,a),e.featureIndex.insert(l,r,o,s,this.index)}}update(t,e,i,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ra.members),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,oa.members))),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}addFeature(t,e,i,n,r,o){for(const i of e)for(const e of i){const i=e.x,n=e.y;if(i<0||i>=aa||n<0||n>=aa)continue;if(o){const t=o.projectTilePoint(i,n,r),e=o.upVector(r,i,n),s=this.globeExtVertexArray;cc(s,t,e),cc(s,t,e),cc(s,t,e),cc(s,t,e)}const s=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=s.vertexLength;lc(this.layoutVertexArray,i,n,-1,-1),lc(this.layoutVertexArray,i,n,1,-1),lc(this.layoutVertexArray,i,n,1,1),lc(this.layoutVertexArray,i,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+2,a+3),s.vertexLength+=4,s.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},n,r)}}function hc(t,e){for(let i=0;i1){if(mc(t,e))return!0;for(let n=0;n1?i:i.sub(e)._mult(r)._add(e))}function vc(t,e){let i,n,r,o=!1;for(let s=0;se.y!=r.y>e.y&&e.x<(r.x-n.x)*(e.y-n.y)/(r.y-n.y)+n.x&&(o=!o)}return o}function xc(t,e){let i=!1;for(let n=0,r=t.length-1;ne.y!=s.y>e.y&&e.x<(s.x-o.x)*(e.y-o.y)/(s.y-o.y)+o.x&&(i=!i)}return i}function bc(t,e,i,n,r){for(const o of t)if(e<=o.x&&i<=o.y&&n>=o.x&&r>=o.y)return!0;const o=[new v(e,i),new v(e,r),new v(n,r),new v(n,i)];if(t.length>2)for(const e of o)if(xc(t,e))return!0;for(let e=0;er.x&&e.x>r.x||t.yr.y&&e.y>r.y)return!1;const o=$(t,e,i[0]);return o!==$(t,e,i[1])||o!==$(t,e,i[2])||o!==$(t,e,i[3])}function Ac(t,e,i){const n=e.paint.get(t).value;return"constant"===n.kind?n.value:i.programConfigurations.get(e.id).getMaxValue(t)}function Ec(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Cc(t,e,i,n,r){if(!e[0]&&!e[1])return t;const o=v.convert(e)._mult(r);"viewport"===i&&o._rotate(-n);const s=[];for(let e=0;e0){const t=i.projection.upVector(c,h.x,h.y);d.x+=t[0]*u*p,d.y+=t[1]*u*p,d.z+=t[2]*u*p}const f=o?h:Mc(d.x,d.y,d.z,n),m=o?t.tilespaceRays.map((t=>zc(t,p))):t.queryGeometry.screenGeometry,g=Za([],[d.x,d.y,d.z,1],n);if(!s&&o?l*=g[3]/i.cameraToCenterDistance:s&&!o&&(l*=i.cameraToCenterDistance/g[3]),o){const t=Wl((e.y/aa+c.y)/(1<t.width||r.height>t.height||i.x>t.width-r.width||i.y>t.height-r.height)throw new RangeError("out of range source coordinates for image copy");if(r.width>e.width||r.height>e.height||n.x>e.width-r.width||n.y>e.height-r.height)throw new RangeError("out of range destination coordinates for image copy");const s=t.data,a=e.data;for(let l=0;l{e[t.evaluationKey]=o;const s=t.expression.evaluate(e);r.data[i+n+0]=Math.floor(255*s.r/s.a),r.data[i+n+1]=Math.floor(255*s.g/s.a),r.data[i+n+2]=Math.floor(255*s.b/s.a),r.data[i+n+3]=Math.floor(255*s.a)};if(t.clips)for(let e=0,r=0;e80*i){n=o=t[0],r=s=t[1];for(var f=i;fo&&(o=a),l>s&&(s=l);c=0!==(c=Math.max(o-n,s-r))?32767/c:0}return Hc(p,d,i,n,r,c,0),d}function Xc(t,e,i,n,r){var o,s;if(r===_u(t,e,i,n)>0)for(o=e;o=e;o-=n)s=fu(o,t[o],t[o+1],s);return s&&lu(s,s.next)&&(mu(s),s=s.next),s}function Wc(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!lu(n,n.next)&&0!==au(n.prev,n,n.next))n=n.next;else{if(mu(n),(n=e=n.prev)===n.next)break;i=!0}}while(i||n!==e);return e}function Hc(t,e,i,n,r,o,s){if(t){!s&&o&&function(t,e,i,n){var r=t;do{0===r.z&&(r.z=nu(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){var e,i,n,r,o,s,a,l,c=1;do{for(i=t,t=null,o=null,s=0;i;){for(s++,n=i,a=0,e=0;e0||l>0&&n;)0!==a&&(0===l||!n||i.z<=n.z)?(r=i,i=i.nextZ,a--):(r=n,n=n.nextZ,l--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;i=n}o.nextZ=null,c*=2}while(s>1)}(r)}(t,n,r,o);for(var a,l,c=t;t.prev!==t.next;)if(a=t.prev,l=t.next,o?Kc(t,n,r,o):Yc(t))e.push(a.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),mu(t),t=l.next,c=l.next;else if((t=l)===c){s?1===s?Hc(t=Jc(Wc(t),e,i),e,i,n,r,o,2):2===s&&Qc(t,e,i,n,r,o):Hc(Wc(t),e,i,n,r,o,1);break}}}function Yc(t){var e=t.prev,i=t,n=t.next;if(au(e,i,n)>=0)return!1;for(var r=e.x,o=i.x,s=n.x,a=e.y,l=i.y,c=n.y,u=ro?r>s?r:s:o>s?o:s,d=a>l?a>c?a:c:l>c?l:c,f=n.next;f!==e;){if(f.x>=u&&f.x<=p&&f.y>=h&&f.y<=d&&ou(r,a,o,l,s,c,f.x,f.y)&&au(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function Kc(t,e,i,n){var r=t.prev,o=t,s=t.next;if(au(r,o,s)>=0)return!1;for(var a=r.x,l=o.x,c=s.x,u=r.y,h=o.y,p=s.y,d=al?a>c?a:c:l>c?l:c,g=u>h?u>p?u:p:h>p?h:p,_=nu(d,f,e,i,n),y=nu(m,g,e,i,n),v=t.prevZ,x=t.nextZ;v&&v.z>=_&&x&&x.z<=y;){if(v.x>=d&&v.x<=m&&v.y>=f&&v.y<=g&&v!==r&&v!==s&&ou(a,u,l,h,c,p,v.x,v.y)&&au(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,x.x>=d&&x.x<=m&&x.y>=f&&x.y<=g&&x!==r&&x!==s&&ou(a,u,l,h,c,p,x.x,x.y)&&au(x.prev,x,x.next)>=0)return!1;x=x.nextZ}for(;v&&v.z>=_;){if(v.x>=d&&v.x<=m&&v.y>=f&&v.y<=g&&v!==r&&v!==s&&ou(a,u,l,h,c,p,v.x,v.y)&&au(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=y;){if(x.x>=d&&x.x<=m&&x.y>=f&&x.y<=g&&x!==r&&x!==s&&ou(a,u,l,h,c,p,x.x,x.y)&&au(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function Jc(t,e,i){var n=t;do{var r=n.prev,o=n.next.next;!lu(r,o)&&cu(r,n,n.next,o)&&pu(r,o)&&pu(o,r)&&(e.push(r.i/i|0),e.push(n.i/i|0),e.push(o.i/i|0),mu(n),mu(n.next),n=t=o),n=n.next}while(n!==t);return Wc(n)}function Qc(t,e,i,n,r,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&su(s,a)){var l=du(s,a);return s=Wc(s,s.next),l=Wc(l,l.next),Hc(s,e,i,n,r,o,0),void Hc(l,e,i,n,r,o,0)}a=a.next}s=s.next}while(s!==t)}function tu(t,e){return t.x-e.x}function eu(t,e){var i=function(t,e){var i,n=e,r=t.x,o=t.y,s=-1/0;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){var a=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>s&&(s=a,i=n.x=n.x&&n.x>=u&&r!==n.x&&ou(oi.x||n.x===i.x&&iu(i,n)))&&(i=n,p=l)),n=n.next}while(n!==c);return i}(t,e);if(!i)return e;var n=du(i,t);return Wc(n,n.next),Wc(i,i.next)}function iu(t,e){return au(t.prev,t,e.prev)<0&&au(e.next,t,t.next)<0}function nu(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ru(t){var e=t,i=t;do{(e.x=(t-s)*(o-a)&&(t-s)*(n-a)>=(i-s)*(e-a)&&(i-s)*(o-a)>=(r-s)*(n-a)}function su(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&cu(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(pu(t,e)&&pu(e,t)&&function(t,e){var i=t,n=!1,r=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&i.next.y!==i.y&&r<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(au(t.prev,t,e.prev)||au(t,e.prev,e))||lu(t,e)&&au(t.prev,t,t.next)>0&&au(e.prev,e,e.next)>0)}function au(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function lu(t,e){return t.x===e.x&&t.y===e.y}function cu(t,e,i,n){var r=hu(au(t,e,i)),o=hu(au(t,e,n)),s=hu(au(i,n,t)),a=hu(au(i,n,e));return r!==o&&s!==a||!(0!==r||!uu(t,i,e))||!(0!==o||!uu(t,n,e))||!(0!==s||!uu(i,t,n))||!(0!==a||!uu(i,e,n))}function uu(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function hu(t){return t>0?1:t<0?-1:0}function pu(t,e){return au(t.prev,t,t.next)<0?au(t,e,t.next)>=0&&au(t,t.prev,e)>=0:au(t,e,t.prev)<0||au(t,t.next,e)<0}function du(t,e){var i=new gu(t.i,t.x,t.y),n=new gu(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,o.next=n,n.prev=o,n}function fu(t,e,i,n){var r=new gu(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function mu(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function gu(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function _u(t,e,i,n){for(var r=0,o=e,s=i-n;o0&&i.holes.push(n+=t[r-1].length)}return i};var yu=d(Zc.exports);function vu(t,e,i,n,r){xu(t,e,i||0,n||t.length-1,r||wu)}function xu(t,e,i,n,r){for(;n>i;){if(n-i>600){var o=n-i+1,s=e-i+1,a=Math.log(o),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(o-l)/o)*(s-o/2<0?-1:1);xu(t,e,Math.max(i,Math.floor(e-s*l/o+c)),Math.min(n,Math.floor(e+(o-s)*l/o+c)),r)}var u=t[e],h=i,p=n;for(bu(t,i,e),r(t[n],u)>0&&bu(t,i,n);h0;)p--}0===r(t[i],u)?bu(t,i,p):bu(t,++p,n),p<=e&&(i=p+1),e<=p&&(n=p-1)}}function bu(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function wu(t,e){return te?1:0}function Au(t,e){const i=t.length;if(i<=1)return[t];const n=[];let r,o;for(let e=0;e1)for(let t=0;tt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Vo,this.indexArray=new rs,this.indexArray2=new us,this.programConfigurations=new Ys(t.layers,t.zoom),this.segments=new sa,this.segments2=new sa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.projection=t.projection}populate(t,e,i,n){this.hasPattern=Cu("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),o=[];for(const{feature:s,id:a,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ac(s,t);if(!this.layers[0]._featureFilter.filter(new Ao(this.zoom),u,i))continue;const h=r?r.evaluate(u,{},i,e.availableImages):void 0,p={id:a,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:t?u.geometry:sc(s,i,n),patterns:{},sortKey:h};o.push(p)}r&&o.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of o){const{geometry:r,index:o,sourceLayerIndex:s}=n;if(this.hasPattern){const t=Tu("fill",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,r,o,i,{},e.availableImages);e.featureIndex.insert(t[o].feature,r,o,s,this.index)}}update(t,e,i,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i,n)}addFeatures(t,e,i,n,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qc),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,i,n,r,o=[]){for(const t of Au(e,500)){let e=0;for(const i of t)e+=i.length;const i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=i.vertexLength,r=[],o=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&o.push(r.length/2);const i=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=i.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),r.push(e[0].x),r.push(e[0].y);for(let t=1;t>3}if(r--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&a.push(e),e=[]),e.push(new Ru(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&a.push(e),a},Bu.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,n=0,r=0,o=0,s=1/0,a=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===i||2===i)(r+=t.readSVarint())a&&(a=r),(o+=t.readSVarint())c&&(c=o);else if(7!==i)throw new Error("unknown command "+i)}return[s,l,a,c]},Bu.prototype.toGeoJSON=function(t,e,i){var n,r,o=this.extent*Math.pow(2,i),s=this.extent*t,a=this.extent*e,l=this.loadGeometry(),c=Bu.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(i))}Vu.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Uu(this._pbf,e,this.extent,this._keys,this._values)};var qu=ju;function Zu(t,e,i){if(3===t){var n=new qu(i,i.readVarint()+i.pos);n.length&&(e[n.name]=n)}}var $u=Du.VectorTile=function(t,e){this.layers=t.readFields(Zu,{},e)},Xu=Du.VectorTileFeature=Ou;function Wu(t,e,i,n){const r=[],o=0===n?(t,e,i,n,r,o)=>{t.push(new v(o,i+(o-e)/(n-e)*(r-i)))}:(t,e,i,n,r,o)=>{t.push(new v(e+(o-i)/(r-i)*(n-e),o))};for(const s of t){const t=[];for(const r of s){if(r.length<=2)continue;const s=[];for(let t=0;te&&o(s,a,l,c,u,e):h>i?p=e&&o(s,a,l,c,u,e),p>i&&h<=i&&o(s,a,l,c,u,i)}let a=r[r.length-1];const l=0===n?a.x:a.y;l>=e&&l<=i&&s.push(a),s.length&&(a=s[s.length-1],s[0].x===a.x&&s[0].y===a.y||s.push(s[0]),t.push(s))}t.length&&r.push(t)}return r}Du.VectorTileLayer=ju;const Hu=Xu.types,Yu=Math.pow(2,13);function Ku(t,e,i,n,r,o,s,a){t.emplaceBack((e<<1)+s,(i<<1)+o,(Math.floor(n*Yu)<<1)+r,Math.round(a))}function Ju(t,e,i){const n=16384;t.emplaceBack(e.x,e.y,e.z,i[0]*n,i[1]*n,i[2]*n)}class Qu{constructor(){this.acc=new v(0,0),this.polyCount=[]}startRing(t){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new v(t.x,t.y),this.max=new v(t.x,t.y))}append(t,e){this.currentPolyCount.edges++,this.acc._add(t);const i=this.min,n=this.max;t.xn.x&&(n.x=t.x),t.yn.y&&(n.y=t.y),((0===t.x||t.x===aa)&&t.x===e.x)!=((0===t.y||t.y===aa)&&t.y===e.y)&&this.processBorderOverlap(t,e),e.x<0!=t.x<0&&this.addBorderIntersection(0,Li(e.y,t.y,(0-e.x)/(t.x-e.x))),e.x>aa!=t.x>aa&&this.addBorderIntersection(1,Li(e.y,t.y,(aa-e.x)/(t.x-e.x))),e.y<0!=t.y<0&&this.addBorderIntersection(2,Li(e.x,t.x,(0-e.y)/(t.y-e.y))),e.y>aa!=t.y>aa&&this.addBorderIntersection(3,Li(e.x,t.x,(aa-e.y)/(t.y-e.y)))}addBorderIntersection(t,e){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const i=this.borders[t];ei[1]&&(i[1]=e)}processBorderOverlap(t,e){if(t.x===e.x){if(t.y===e.y)return;const i=0===t.x?0:1;this.addBorderIntersection(i,e.y),this.addBorderIntersection(i,t.y)}else{const i=0===t.y?2:3;this.addBorderIntersection(i,e.x),this.addBorderIntersection(i,t.x)}}centroid(){const t=this.polyCount.reduce(((t,e)=>t+e.edges),0);return 0!==t?this.acc.div(t)._round():new v(0,0)}span(){return new v(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((t,e)=>t+ +(e[0]!==Number.MAX_VALUE)),0)}}class th{constructor(t){this.zoom=t.zoom,this.canonical=t.canonical,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=t.projection,this.layoutVertexArray=new qo,this.centroidVertexArray=new As,this.indexArray=new rs,this.programConfigurations=new Ys(t.layers,t.zoom),this.segments=new sa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.enableTerrain=t.enableTerrain}populate(t,e,i,n){this.features=[],this.hasPattern=Cu("fill-extrusion",this.layers,e),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=function(t){const e=Math.exp(Math.PI*(1-t.y/(1<=0;t--){const e=p[t];(0===e.length||(d=e[0]).every((t=>t.x<=0))||d.every((t=>t.x>=aa))||d.every((t=>t.y<=0))||d.every((t=>t.y>=aa)))&&p.splice(t,1)}var d;let f;if(c)f=lh(p,a,n);else{f=[];for(const t of p)f.push({polygon:t,bounds:a})}const m=h?this.edgeRadius:0;for(const{polygon:t,bounds:e}of f){let i=0,r=0;for(const e of t)h&&!e[0].equals(e[e.length-1])&&e.push(e[0]),r+=h?e.length-1:e.length;const o=this.segments.prepareSegment((h?5:4)*r,this.layoutVertexArray,this.indexArray);if(h){const e=[],r=[];i=o.vertexLength;for(const i of t){let s,a;i.length&&i!==t[0]&&r.push(e.length/2),s=i[1].sub(i[0])._perp()._unit();for(let t=1;t4&&oh(r[r.length-2],r[0],r[1]),d=m?ih(r[r.length-2],r[0],r[1],m):0;s=r[1].sub(r[0])._perp()._unit();let f=!0;for(let g=1,_=0;g0?1:0,E=y.dist(v);if(_+E>32768&&(_=0),m){a=x.sub(v)._perp()._unit();let t=nh(y,v,x,eh(s,a),m);isNaN(t)&&(t=0);const e=v.sub(y)._unit();y=y.add(e.mult(d))._round(),v=v.add(e.mult(-t))._round(),d=t,s=a}const C=o.vertexLength,T=r.length>4&&oh(y,v,x);let k=sh(_,p,f);if(Ku(this.layoutVertexArray,y.x,y.y,w,A,0,0,k),Ku(this.layoutVertexArray,y.x,y.y,w,A,0,1,k),_+=E,k=sh(_,T,!f),p=T,Ku(this.layoutVertexArray,v.x,v.y,w,A,0,0,k),Ku(this.layoutVertexArray,v.x,v.y,w,A,0,1,k),o.vertexLength+=4,this.indexArray.emplaceBack(C+0,C+1,C+2),this.indexArray.emplaceBack(C+1,C+3,C+2),o.primitiveLength+=2,m){const n=i+(1===g?r.length-2:g-2),s=1===g?i:n+1;if(this.indexArray.emplaceBack(C+1,n,C+3),this.indexArray.emplaceBack(n,s,C+3),o.primitiveLength+=2,void 0===t&&(t=C),!rh(x,r[g],e)){const e=g===r.length-1?t:o.vertexLength;this.indexArray.emplaceBack(C+2,C+3,e),this.indexArray.emplaceBack(C+3,e+1,e),this.indexArray.emplaceBack(C+3,s,e+1),o.primitiveLength+=3}f=!f}if(c){const t=this.layoutVertexExtArray,e=l.projectTilePoint(y.x,y.y,n),i=l.projectTilePoint(v.x,v.y,n),r=l.upVector(n,y.x,y.y),o=l.upVector(n,v.x,v.y);Ju(t,e,r),Ju(t,e,r),Ju(t,i,o),Ju(t,i,o)}}h&&(i+=r.length-1)}}if(u&&u.polyCount.length>0){if(u.borders){u.vertexArrayOffset=this.centroidVertexArray.length;const t=u.borders,e=this.featuresOnBorder.push(u)-1;for(let i=0;i<4;i++)t[i][0]!==Number.MAX_VALUE&&this.borders[i].push(e)}this.encodeCentroid(u.borders?void 0:u.centroid(),u)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,r,o,n)}sortBorders(){for(let t=0;t<4;t++)this.borders[t].sort(((e,i)=>this.featuresOnBorder[e].borders[t][0]-this.featuresOnBorder[i].borders[t][0]))}encodeCentroid(t,e,i=!0){let n,r;if(t)if(0!==t.y){const i=e.span()._mult(this.tileToMeter);n=(Math.max(t.x,1)<<3)+Math.min(7,Math.round(i.x/10)),r=(Math.max(t.y,1)<<3)+Math.min(7,Math.round(i.y/10))}else n=Math.ceil(7*(t.x+450)),r=0;else n=0,r=+i;let o=i?this.centroidVertexArray.length:e.vertexArrayOffset;for(const t of e.polyCount){i&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*t.edges+t.top);for(let e=0;ei[1].x&&e.x>i[1].x||t.yi[1].y&&e.y>i[1].y}function oh(t,e,i){if(t.x<0||t.x>=aa||e.x<0||e.x>=aa||i.x<0||i.x>=aa)return!1;const n=i.sub(e),r=n.perp(),o=t.sub(e);return(n.x*o.x+n.y*o.y)/Math.sqrt((n.x*n.x+n.y*n.y)*(o.x*o.x+o.y*o.y))>-.866&&r.x*o.x+r.y*o.y<0}function sh(t,e,i){const n=e?2|t:-3&t;return i?1|n:-2&n}function ah(){const t=Math.PI/32,e=Math.tan(t),i=Fl;return i*Math.sqrt(1+2*e*e)-i}function lh(t,e,i){const n=1<{for(const i of t)s.push({polygon:i,bounds:e})},l=Math.ceil(Math.log2(i)),c=Math.ceil(Math.log2(n)),u=l-c,h=[];for(let t=0;t0?0:1);for(let t=0;te+1?d.push({polygons:p,bounds:t,depth:e+1}):a(p,t)}if(f.length){const t=[new v(0===i?u:n.x,1===i?u:n.y),s];h.length>e+1?d.push({polygons:f,bounds:t,depth:e+1}):a(f,t)}}return s}(t,e,Math.ceil((o-r)/11.25),Math.ceil((s-a)/11.25),1,((t,e,r)=>{if(0===t)return.5*(e+r);{const t=Wl((i.y+e/aa)/n);return(Zl(.5*(Wl((i.y+r/aa)/n)+t))*n-i.y)*aa}}))}Yr(th,"FillExtrusionBucket",{omit:["layers","features"]}),Yr(Qu,"PartMetadata");const ch=new Ro({"fill-extrusion-edge-radius":new Lo(ee["layout_fill-extrusion"]["fill-extrusion-edge-radius"])});var uh={paint:new Ro({"fill-extrusion-opacity":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new zo(ee["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new zo(ee["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new zo(ee["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new zo(ee["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"]),"fill-extrusion-ambient-occlusion-intensity":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-intensity"]),"fill-extrusion-ambient-occlusion-radius":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-radius"]),"fill-extrusion-rounded-roof":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-rounded-roof"])}),layout:ch};function hh(t,e,i){var n=2*Math.PI*6378137/256/Math.pow(2,i);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class ph{constructor(t,e,i){this.z=t,this.x=e,this.y=i,this.key=mh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e){const i=function(t,e,i){var n=hh(256*t,256*(e=Math.pow(2,i)-e-1),i),r=hh(256*(t+1),256*(e+1),i);return n[0]+","+n[1]+","+r[0]+","+r[1]}(this.x,this.y,this.z),n=function(t,e,i){let n,r="";for(let o=t;o>0;o--)n=1<this.canonical.z?new fh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new fh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e=!0){if(this.overscaledZ===t&&e)return this.key;if(t>this.canonical.z)return mh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y);{const i=this.canonical.z-t;return mh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new fh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,n=2*this.canonical.y;return[new fh(e,this.wrap,e,i,n),new fh(e,this.wrap,e,i+1,n),new fh(e,this.wrap,e,i,n+1),new fh(e,this.wrap,e,i+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.yt.id)),this.index=t.index,this.projection=t.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new Zo,this.layoutVertexArray2=new $o,this.indexArray=new rs,this.programConfigurations=new Ys(t.layers,t.zoom),this.segments=new sa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i,n){this.hasPattern=Cu("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),o=[];for(const{feature:e,id:s,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ac(e,t);if(!this.layers[0]._featureFilter.filter(new Ao(this.zoom),c,i))continue;const u=r?r.evaluate(c,{},i):void 0,h={id:s,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:sc(e,i,n),patterns:{},sortKey:u};o.push(h)}r&&o.sort(((t,e)=>t.sortKey-e.sortKey));const{lineAtlas:s,featureIndex:a}=e,l=this.addConstantDashes(s);for(const n of o){const{geometry:r,index:o,sourceLayerIndex:c}=n;if(l&&this.addFeatureDashes(n,s),this.hasPattern){const t=Tu("line",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,r,o,i,s.positions,e.availableImages);a.insert(t[o].feature,r,o,c,this.index)}}addConstantDashes(t){let e=!1;for(const i of this.layers){const n=i.paint.get("line-dasharray").value,r=i.layout.get("line-cap").value;if("constant"!==n.kind||"constant"!==r.kind)e=!0;else{const e=r.value,i=n.value;if(!i)continue;t.addDash(i,e)}}return e}addFeatureDashes(t,e){const i=this.zoom;for(const n of this.layers){const r=n.paint.get("line-dasharray").value,o=n.layout.get("line-cap").value;if("constant"===r.kind&&"constant"===o.kind)continue;let s,a;if("constant"===r.kind){if(s=r.value,!s)continue}else s=r.evaluate({zoom:i},t);a="constant"===o.kind?o.value:o.evaluate({zoom:i},t),e.addDash(s,a),t.patterns[n.id]=e.getKey(s,a)}}update(t,e,i,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i,n)}addFeatures(t,e,i,n,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ah)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bh),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&t.properties.hasOwnProperty("mapbox_clip_start")&&t.properties.hasOwnProperty("mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,n,r,o){const s=this.layers[0].layout,a=s.get("line-join").evaluate(t,{}),l=s.get("line-cap").evaluate(t,{}),c=s.get("line-miter-limit"),u=s.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const i of e)this.addLine(i,t,a,l,c,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,r,o,n)}addLine(t,e,i,n,r,o){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[a-1].equals(t[a-2]);)a--;let l=0;for(;l0;if(b&&e>l){const t=h.dist(p);if(t>2*c){const e=h.sub(h.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,f,0,0,u),p=e}}const A=p&&d;let E=A?i:s?"butt":n;if(A&&"round"===E&&(vr&&(E="bevel"),"bevel"===E&&(v>2&&(E="flipbevel"),v100)g=m.mult(-1);else{const t=v*f.add(m).mag()/f.sub(m).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(h,g,0,0,u),this.addCurrentVertex(h,g.mult(-1),0,0,u)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(v*v-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(h,f,e,i,u),"fakeround"===E){const t=Math.round(180*x/Math.PI/20);for(let e=1;e2*c){const e=h.add(d.sub(h)._mult(c/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,m,0,0,u),h=e}}}}addCurrentVertex(t,e,i,n,r,o=!1){const s=e.y*n-e.x,a=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,o,!1,i,r),this.addHalfVertex(t,s,a,o,!0,-n,r)}addHalfVertex({x:t,y:e},i,n,r,o,s,a){this.layoutVertexArray.emplaceBack((t<<1)+(r?1:0),(e<<1)+(o?1:0),Math.round(63*i)+128,Math.round(63*n)+128,1+(0===s?0:s<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const l=a.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),a.primitiveLength++),o?this.e2=l:this.e1=l}updateScaledDistance(){if(this.lineClips){const t=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=t*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}Yr(Th,"LineBucket",{omit:["layers","patternFeatures"]});const kh=new Ro({"line-cap":new zo(ee.layout_line["line-cap"]),"line-join":new zo(ee.layout_line["line-join"]),"line-miter-limit":new Lo(ee.layout_line["line-miter-limit"]),"line-round-limit":new Lo(ee.layout_line["line-round-limit"]),"line-sort-key":new zo(ee.layout_line["line-sort-key"])});var Sh={paint:new Ro({"line-opacity":new zo(ee.paint_line["line-opacity"]),"line-color":new zo(ee.paint_line["line-color"]),"line-translate":new Lo(ee.paint_line["line-translate"]),"line-translate-anchor":new Lo(ee.paint_line["line-translate-anchor"]),"line-width":new zo(ee.paint_line["line-width"]),"line-gap-width":new zo(ee.paint_line["line-gap-width"]),"line-offset":new zo(ee.paint_line["line-offset"]),"line-blur":new zo(ee.paint_line["line-blur"]),"line-dasharray":new zo(ee.paint_line["line-dasharray"]),"line-pattern":new zo(ee.paint_line["line-pattern"]),"line-gradient":new Do(ee.paint_line["line-gradient"]),"line-trim-offset":new Lo(ee.paint_line["line-trim-offset"])}),layout:kh};const Ih=new class extends zo{possiblyEvaluate(t,e){return e=new Ao(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,n){return e=z({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,n)}}(Sh.paint.properties["line-width"].specification);function Mh(t,e){return e>0?e+2*t:t}Ih.useIntegerZoom=!0;const Ph=Uo([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Lh=Uo([{name:"a_globe_anchor",components:3,type:"Int16"},{name:"a_globe_normal",components:3,type:"Float32"}],4),zh=Uo([{name:"a_projected_pos",components:4,type:"Float32"}],4);Uo([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Dh=Uo([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),Rh=Uo([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"}]);Uo([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Oh=Uo([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Bh=Uo([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);Uo([{name:"triangle",components:3,type:"Uint16"}]),Uo([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{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:"Uint8",name:"flipState"}]),Uo([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Uo([{type:"Float32",name:"offsetX"}]),Uo([{type:"Int16",name:"x"},{type:"Int16",name:"y"}]);var Nh=24;const Fh=128;function Uh(t,e){const{expression:i}=e;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new Ao(t+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:e,interpolationType:n}=i;let r=0;for(;r{t.text=function(t,e,i){const n=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),wo.applyArabicShaping&&(t=wo.applyArabicShaping(t)),t}(t.text,e,i)})),t}const Zh={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂","←":"↑","→":"↓"};function $h(t){return"︶"===t||"﹈"===t||"︸"===t||"﹄"===t||"﹂"===t||"︾"===t||"︼"===t||"︺"===t||"︘"===t||"﹀"===t||"︐"===t||"︓"===t||"︔"===t||"`"===t||" ̄"===t||"︑"===t||"︒"===t}function Xh(t){return"︵"===t||"﹇"===t||"︷"===t||"﹃"===t||"﹁"===t||"︽"===t||"︻"===t||"︹"===t||"︗"===t||"︿"===t}var Wh=Kh,Hh=function(t,e,i,n,r){var o,s,a=8*r-n-1,l=(1<>1,u=-7,h=i?r-1:0,p=i?-1:1,d=t[e+h];for(h+=p,o=d&(1<<-u)-1,d>>=-u,u+=a;u>0;o=256*o+t[e+h],h+=p,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=n;u>0;s=256*s+t[e+h],h+=p,u-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),o-=c}return(d?-1:1)*s*Math.pow(2,o-n)},Yh=function(t,e,i,n,r,o){var s,a,l,c=8*o-r-1,u=(1<>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,f=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=u?(a=0,s=u):s+h>=1?(a=(e*l-1)*Math.pow(2,r),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),s=0));r>=8;t[i+d]=255&a,d+=f,a/=256,r-=8);for(s=s<0;t[i+d]=255&s,d+=f,s/=256,c-=8);t[i+d-f]|=128*m};function Kh(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Kh.Varint=0,Kh.Fixed64=1,Kh.Bytes=2,Kh.Fixed32=5;var Jh=4294967296,Qh=1/Jh,tp="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function ep(t){return t.type===Kh.Bytes?t.readVarint()+t.pos:t.pos+1}function ip(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function np(t,e,i){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(n);for(var r=i.pos-1;r>=t;r--)i.buf[r+n]=i.buf[r]}function rp(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function mp(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Kh.prototype={destroy:function(){this.buf=null},readFields:function(t,e,i){for(i=i||this.length;this.pos>3,o=this.pos;this.type=7&n,t(r,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=dp(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=mp(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=dp(this.buf,this.pos)+dp(this.buf,this.pos+4)*Jh;return this.pos+=8,t},readSFixed64:function(){var t=dp(this.buf,this.pos)+mp(this.buf,this.pos+4)*Jh;return this.pos+=8,t},readFloat:function(){var t=Hh(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Hh(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,n=this.buf;return e=127&(i=n[this.pos++]),i<128?e:(e|=(127&(i=n[this.pos++]))<<7,i<128?e:(e|=(127&(i=n[this.pos++]))<<14,i<128?e:(e|=(127&(i=n[this.pos++]))<<21,i<128?e:function(t,e,i){var n,r,o=i.buf;if(n=(112&(r=o[i.pos++]))>>4,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<3,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<10,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<17,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<24,r<128)return ip(t,n,e);if(n|=(1&(r=o[i.pos++]))<<31,r<128)return ip(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&tp?function(t,e,i){return tp.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var n="",r=e;r239?4:l>223?3:l>191?2:1;if(r+u>i)break;1===u?l<128&&(c=l):2===u?128==(192&(o=t[r+1]))&&(c=(31&l)<<6|63&o)<=127&&(c=null):3===u?(s=t[r+2],128==(192&(o=t[r+1]))&&128==(192&s)&&((c=(15&l)<<12|(63&o)<<6|63&s)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(s=t[r+2],a=t[r+3],128==(192&(o=t[r+1]))&&128==(192&s)&&128==(192&a)&&((c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),r+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Kh.Bytes)return t.push(this.readVarint(e));var i=ep(this);for(t=t||[];this.pos127;);else if(e===Kh.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Kh.Fixed32)this.pos+=4;else{if(e!==Kh.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,n;if(t>=0?(i=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var n,r,o=0;o55295&&n<57344){if(!r){n>56319||o+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):r=n;continue}if(n<56320){t[i++]=239,t[i++]=191,t[i++]=189,r=n;continue}n=r-55296<<10|n-56320|65536,r=null}else r&&(t[i++]=239,t[i++]=191,t[i++]=189,r=null);n<128?t[i++]=n:(n<2048?t[i++]=n>>6|192:(n<65536?t[i++]=n>>12|224:(t[i++]=n>>18|240,t[i++]=n>>12&63|128),t[i++]=n>>6&63|128),t[i++]=63&n|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&np(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),Yh(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Yh(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&np(i,n,this),this.pos=i-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,i){this.writeTag(t,Kh.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,rp,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,op,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,lp,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,sp,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ap,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,cp,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,up,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hp,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pp,e)},writeBytesField:function(t,e){this.writeTag(t,Kh.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Kh.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Kh.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Kh.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Kh.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Kh.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Kh.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Kh.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Kh.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Kh.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var gp=d(Wh);const _p=3;function yp(t,e,i){e.glyphs=[],1===t&&i.readMessage(vp,e)}function vp(t,e,i){if(3===t){const{id:t,bitmap:n,width:r,height:o,left:s,top:a,advance:l}=i.readMessage(xp,{});e.glyphs.push({id:t,bitmap:new Nc({width:r+2*_p,height:o+2*_p},n),metrics:{width:r,height:o,left:s,top:a,advance:l}})}else 4===t?e.ascender=i.readSVarint():5===t&&(e.descender=i.readSVarint())}function xp(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}const bp=_p;function wp(t){let e=0,i=0;for(const n of t)e+=n.w*n.h,i=Math.max(i,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let r=0,o=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const i=n[t];if(!(e.w>i.w||e.h>i.h)){if(e.x=i.x,e.y=i.y,o=Math.max(o,e.y+e.h),r=Math.max(r,e.x+e.w),e.w===i.w&&e.h===i.h){const e=n.pop();tt.hasImage(e))),t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in t.updatedImages)this.patchUpdatedImage(this.iconPositions[i],t.getImage(i),e),this.patchUpdatedImage(this.patternPositions[i],t.getImage(i),e)}patchUpdatedImage(t,e,i){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[n,r]=t.tl;i.update(e.data,void 0,{x:n,y:r})}}Yr(Ep,"ImagePosition"),Yr(Cp,"ImageAtlas");const Tp={horizontal:1,vertical:2,horizontalOnly:3},kp=-17;class Sp{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(t,e){const i=new Sp;return i.scale=t||1,i.fontStack=e,i}static forImage(t){const e=new Sp;return e.imageName=t,e}}class Ip{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(t,e){const i=new Ip;for(let n=0;n=0&&i>=t&&Pp[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Ip;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Sp.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Mp(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f){const m=Ip.fromFeature(t,r);h===Tp.vertical&&m.verticalizePunctuation(p);let g=[];const _=function(t,e,i,n,r,o){if(!t)return[];const s=[],a=function(t,e,i,n,r,o){let s=0;for(let i=0;i=0;let c=0;for(let i=0;i0&&o>b&&(b=o)}else{const t=i[a.fontStack];if(!t)continue;t[m]&&(E=t[m]);const n=e[a.fontStack];if(!n)continue;const o=n.glyphs[m];if(!o)continue;if(v=o.metrics,T=8203!==m?Nh:0,g){const t=void 0!==n.ascender?Math.abs(n.ascender):0,e=void 0!==n.descender?Math.abs(n.descender):0,i=(t+e)*_;w-i/2;){if(s--,s<0)return!1;a-=t[s].dist(o),o=t[s]}a+=t[s].dist(t[s+1]),s++;const l=[];let c=0;for(;an;)c-=l.shift().angleDelta;if(c>r)return!1;s++,a+=e.dist(i)}return!0}function qp(t){let e=0;for(let i=0;ic){const u=(c-l)/o,h=Li(n.x,r.x,u),p=Li(n.y,r.y,u),d=new Vp(h,p,0,r.angleTo(n),i);return!s||Gp(t,d,a,s,e)?d:void 0}l+=o}}function Wp(t,e,i,n,r,o,s,a,l){const c=Zp(n,o,s),u=$p(n,r),h=u*s,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&y=0&&p+c<=u){const i=new Vp(_,y,0,m,e);i._round(),n&&!Gp(t,i,o,n,r)||d.push(i)}}h+=f}return a||d.length||s||(d=Hp(t,h/2,i,n,r,o,s,!0,l)),d}function Yp(t,e,i,n,r){const o=[];for(let s=0;s=n&&c.x>=n||(s.x>=n?s=new v(n,s.y+(n-s.x)/(c.x-s.x)*(c.y-s.y))._round():c.x>=n&&(c=new v(n,s.y+(n-s.x)/(c.x-s.x)*(c.y-s.y))._round()),s.y>=r&&c.y>=r||(s.y>=r?s=new v(s.x+(r-s.y)/(c.y-s.y)*(c.x-s.x),r)._round():c.y>=r&&(c=new v(s.x+(r-s.y)/(c.y-s.y)*(c.x-s.x),r)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(c)))))}}return o}Yr(Vp,"Anchor");const Kp=1e20;function Jp(t,e,i,n,r,o,s,a,l){for(let c=e;c-1);l++,o[l]=a,s[l]=c,s[l+1]=Kp}for(let a=0,l=0;a{let n=this.entries[t];n||(n=this.entries[t]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let r=n.glyphs[e];if(void 0!==r)return void i(null,{stack:t,id:e,glyph:r});if(r=this._tinySDF(n,t,e),r)return n.glyphs[e]=r,void i(null,{stack:t,id:e,glyph:r});const o=Math.floor(e/256);if(256*o>65535)return void i(new Error("glyphs > 65535 not supported"));if(n.ranges[o])return void i(null,{stack:t,id:e,glyph:r});let s=n.requests[o];s||(s=n.requests[o]=[],id.loadGlyphRange(t,o,this.url,this.requestManager,((t,e)=>{if(e){n.ascender=e.ascender,n.descender=e.descender;for(const t in e.glyphs)this._doesCharSupportLocalGlyph(+t)||(n.glyphs[+t]=e.glyphs[+t]);n.ranges[o]=!0}for(const i of s)i(t,e);delete n.requests[o]}))),s.push(((n,r)=>{n?i(n):r&&i(null,{stack:t,id:e,glyph:r.glyphs[e]||null})}))}),((t,i)=>{if(t)e(t);else if(i){const t={};for(const{stack:e,id:n,glyph:r}of i)void 0===t[e]&&(t[e]={}),void 0===t[e].glyphs&&(t[e].glyphs={}),t[e].glyphs[n]=r&&{id:r.id,bitmap:r.bitmap.clone(),metrics:r.metrics},t[e].ascender=this.entries[e].ascender,t[e].descender=this.entries[e].descender;e(null,t)}}))}_doesCharSupportLocalGlyph(t){return this.localGlyphMode!==ed.none&&(this.localGlyphMode===ed.all?!!this.localFontFamily:!!this.localFontFamily&&(eo["CJK Unified Ideographs"](t)||eo["Hangul Syllables"](t)||eo.Hiragana(t)||eo.Katakana(t)||eo["CJK Symbols and Punctuation"](t)))}_tinySDF(t,e,i){const n=this.localFontFamily;if(!n||!this._doesCharSupportLocalGlyph(i))return;let r=t.tinySDF;if(!r){let i="400";/bold/i.test(e)?i="900":/medium/i.test(e)?i="500":/light/i.test(e)&&(i="200"),r=t.tinySDF=new id.TinySDF({fontFamily:n,fontWeight:i,fontSize:24*td,buffer:3*td,radius:8*td}),r.fontWeight=i}if(this.localGlyphs[r.fontWeight][i])return this.localGlyphs[r.fontWeight][i];const o=String.fromCharCode(i),{data:s,width:a,height:l,glyphWidth:c,glyphHeight:u,glyphLeft:h,glyphTop:p,glyphAdvance:d}=r.draw(o);return this.localGlyphs[r.fontWeight][i]={id:i,bitmap:new Nc({width:a,height:l},s),metrics:{width:c/td,height:u/td,left:h/td,top:p/td-27,advance:d/td,localGlyph:!0}}}}id.loadGlyphRange=function(t,e,i,n,r){const o=256*e,s=o+255,a=n.transformRequest(n.normalizeGlyphsURL(i).replace("{fontstack}",t).replace("{range}",`${o}-${s}`),ct.Glyphs);dt(a,((t,e)=>{if(t)r(t);else if(e){const t={},i=function(t){return new gp(t).readFields(yp,{})}(e);for(const e of i.glyphs)t[e.id]=e;r(null,{glyphs:t,ascender:i.ascender,descender:i.descender})}}))},id.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:n=.25,fontFamily:r="sans-serif",fontWeight:o="normal",fontStyle:s="normal"}={}){this.buffer=e,this.cutoff=n,this.radius=i;const a=this.size=t+4*e,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${s} ${o} ${t}px ${r}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:n,actualBoundingBoxLeft:r,actualBoundingBoxRight:o}=this.ctx.measureText(t),s=Math.ceil(i),a=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-r))),l=Math.min(this.size-this.buffer,s+Math.ceil(n)),c=a+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),p=new Uint8ClampedArray(h),d={data:p,width:c,height:u,glyphWidth:a,glyphHeight:l,glyphTop:s,glyphLeft:0,glyphAdvance:e};if(0===a||0===l)return d;const{ctx:f,buffer:m,gridInner:g,gridOuter:_}=this;f.clearRect(m,m,a,l),f.fillText(t,m,m+s);const y=f.getImageData(m,m,a,l);_.fill(Kp,0,h),g.fill(0,0,h);for(let t=0;t0?t*t:0,g[n]=t<0?t*t:0}}Jp(_,0,0,c,u,c,this.f,this.v,this.z),Jp(g,m,m,a,l,c,this.f,this.v,this.z);for(let t=0;tt+e[1]-e[0],f=h.reduce(d,0),m=p.reduce(d,0),g=a-f,_=l-m;let y=0,x=f,b=0,w=m,A=0,E=g,C=0,T=_;if(o.content&&n){const t=o.content;y=od(h,0,t[0]),b=od(p,0,t[1]),x=od(h,t[0],t[2]),w=od(p,t[1],t[3]),A=t[0]-y,C=t[1]-b,E=t[2]-t[0]-x,T=t[3]-t[1]-w}const k=(n,r,a,l)=>{const h=ad(n.stretch-y,x,c,t.left),p=ld(n.fixed-A,E,n.stretch,f),d=ad(r.stretch-b,w,u,t.top),g=ld(r.fixed-C,T,r.stretch,m),_=ad(a.stretch-y,x,c,t.left),k=ld(a.fixed-A,E,a.stretch,f),S=ad(l.stretch-b,w,u,t.top),I=ld(l.fixed-C,T,l.stretch,m),M=new v(h,d),P=new v(_,d),L=new v(_,S),z=new v(h,S),D=new v(p/s,g/s),R=new v(k/s,I/s),O=e*Math.PI/180;if(O){const t=Math.sin(O),e=Math.cos(O),i=[e,-t,t,e];M._matMult(i),P._matMult(i),z._matMult(i),L._matMult(i)}const B=n.stretch+n.fixed,N=r.stretch+r.fixed;return{tl:M,tr:P,bl:z,br:L,tex:{x:o.paddedRect.x+nd+B,y:o.paddedRect.y+nd+N,w:a.stretch+a.fixed-B,h:l.stretch+l.fixed-N},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:R,minFontScaleX:E/s/c,minFontScaleY:T/s/u,isSDF:i}};if(n&&(o.stretchX||o.stretchY)){const t=sd(h,g,f),e=sd(p,_,m);for(let i=0;i0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,n=e[t];for(;t>0;){const r=t-1>>1,o=e[r];if(i(n,o)>=0)break;e[t]=o,t=r}e[t]=n}_down(t){const{data:e,compare:i}=this,n=this.length>>1,r=e[t];for(;t=0)break;e[t]=o,t=n}e[t]=r}}function hd(t,e){return te?1:0}function pd(t,e=1,i=!1){let n=1/0,r=1/0,o=-1/0,s=-1/0;const a=t[0];for(let t=0;to)&&(o=e.x),(!t||e.y>s)&&(s=e.y)}const l=Math.min(o-n,s-r);let c=l/2;const u=new ud([],dd);if(0===l)return new v(n,r);for(let e=n;eh.d||!h.d)&&(h=n,i&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,p)),n.max-h.d<=e||(c=n.h/2,u.push(new fd(n.p.x-c,n.p.y-c,c,t)),u.push(new fd(n.p.x+c,n.p.y-c,c,t)),u.push(new fd(n.p.x-c,n.p.y+c,c,t)),u.push(new fd(n.p.x+c,n.p.y+c,c,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${h.d}`)),h.p}function dd(t,e){return e.max-t.max}class fd{constructor(t,e,i,n){this.p=new v(t,e),this.h=i,this.d=function(t,e){let i=!1,n=1/0;for(let r=0;rt.y!=a.y>t.y&&t.x<(a.x-r.x)*(t.y-r.y)/(a.y-r.y)+r.x&&(i=!i),n=Math.min(n,yc(t,r,a))}}return(i?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}}const md=7,gd=Number.POSITIVE_INFINITY,_d=Math.sqrt(2);function yd(t,[e,i]){let n=0,r=0;if(i===gd){e<0&&(e=0);const i=e/_d;switch(t){case"top-right":case"top-left":r=i-md;break;case"bottom-right":case"bottom-left":r=-i+md;break;case"bottom":r=-e+md;break;case"top":r=e-md}switch(t){case"top-right":case"bottom-right":n=-i;break;case"top-left":case"bottom-left":n=i;break;case"left":n=e;break;case"right":n=-e}}else{switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":r=i-md;break;case"bottom-right":case"bottom-left":case"bottom":r=-i+md}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}}return[n,r]}function vd(t,e,i,n,r,o,s,a,l,c){t.createArrays(),t.tilePixelRatio=aa/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;const u=t.layers[0].layout,h=t.layers[0]._unevaluatedLayout._values,p={};if("composite"===t.textSizeData.kind){const{minZoom:e,maxZoom:i}=t.textSizeData;p.compositeTextSizes=[h["text-size"].possiblyEvaluate(new Ao(e),a),h["text-size"].possiblyEvaluate(new Ao(i),a)]}if("composite"===t.iconSizeData.kind){const{minZoom:e,maxZoom:i}=t.iconSizeData;p.compositeIconSizes=[h["icon-size"].possiblyEvaluate(new Ao(e),a),h["icon-size"].possiblyEvaluate(new Ao(i),a)]}p.layoutTextSize=h["text-size"].possiblyEvaluate(new Ao(l+1),a),p.layoutIconSize=h["icon-size"].possiblyEvaluate(new Ao(l+1),a),p.textMaxSize=h["text-size"].possiblyEvaluate(new Ao(18),a);const d="map"===u.get("text-rotation-alignment")&&"point"!==u.get("symbol-placement"),f=u.get("text-size");for(const o of t.features){const l=u.get("text-font").evaluate(o,{},a).join(","),h=f.evaluate(o,{},a),m=p.layoutTextSize.evaluate(o,{},a),g=(p.layoutIconSize.evaluate(o,{},a),{horizontal:{},vertical:void 0}),_=o.text;let y,v=[0,0];if(_){const n=_.toString(),s=u.get("text-letter-spacing").evaluate(o,{},a)*Nh,c=u.get("text-line-height").evaluate(o,{},a)*Nh,p=no(n)?s:0,f=u.get("text-anchor").evaluate(o,{},a),y=u.get("text-variable-anchor");if(!y){const t=u.get("text-radial-offset").evaluate(o,{},a);v=t?yd(f,[t*Nh,gd]):u.get("text-offset").evaluate(o,{},a).map((t=>t*Nh))}let x=d?"center":u.get("text-justify").evaluate(o,{},a);const b="point"===u.get("symbol-placement"),w=b?u.get("text-max-width").evaluate(o,{},a)*Nh:1/0,A=o=>{t.allowVerticalPlacement&&io(n)&&(g.vertical=Mp(_,e,i,r,l,w,c,f,o,p,v,Tp.vertical,!0,m,h))};if(!d&&y){const t="auto"===x?y.map((t=>xd(t))):[x];let n=!1;for(let o=0;o=0||!io(n)){const t=Mp(_,e,i,r,l,w,c,f,x,p,v,Tp.horizontal,!1,m,h);t&&(g.horizontal[x]=t)}A(b?"left":x)}}let x=!1;if(o.icon&&o.icon.name){const e=n[o.icon.name];e&&(y=Up(r[o.icon.name],u.get("icon-offset").evaluate(o,{},a),u.get("icon-anchor").evaluate(o,{},a)),x=e.sdf,void 0===t.sdfIcons?t.sdfIcons=e.sdf:t.sdfIcons!==e.sdf&&Z("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(e.pixelRatio!==t.pixelRatio||0!==u.get("icon-rotate").constantOr(1))&&(t.iconsNeedLinear=!0))}const b=Cd(g.horizontal)||g.vertical;t.iconsInText||(t.iconsInText=!!b&&b.iconsInText),(b||y)&&bd(t,o,g,y,n,p,m,0,v,x,s,a,c)}o&&t.generateCollisionDebugBuffers(l,t.collisionBoxArray)}function xd(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function bd(t,e,i,n,r,o,s,a,l,c,u,h,p){let d=o.textMaxSize.evaluate(e,{},h);void 0===d&&(d=s);const f=t.layers[0].layout,m=f.get("icon-offset").evaluate(e,{},h),g=Cd(i.horizontal)||i.vertical,_="globe"===p.name,y=Nh,v=s/y,x=t.tilePixelRatio*d/y,b=(M=t.overscaling,t.zoom>18&&M>2&&(M>>=1),Math.max(aa/(512*M),1)*f.get("symbol-spacing")),A=f.get("text-padding")*t.tilePixelRatio,E=f.get("icon-padding")*t.tilePixelRatio,C=w(f.get("text-max-angle")),T="map"===f.get("text-rotation-alignment")&&"point"!==f.get("symbol-placement"),k="map"===f.get("icon-rotation-alignment")&&"point"!==f.get("symbol-placement"),S=f.get("symbol-placement"),I=b/2;var M;const P=f.get("icon-text-fit");let L;n&&"none"!==P&&(t.allowVerticalPlacement&&i.vertical&&(L=jp(n,i.vertical,P,f.get("icon-text-fit-padding"),m,v)),g&&(n=jp(n,g,P,f.get("icon-text-fit-padding"),m,v)));const z=(s,a,d)=>{if(a.x<0||a.x>=aa||a.y<0||a.y>=aa)return;let f=null;if(_){const{x:t,y:e,z:i}=p.projectTilePoint(a.x,a.y,d);f={anchor:new Vp(t,e,i,0,void 0),up:p.upVector(d,a.x,a.y)}}!function(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E){const C=t.addToLineVertexArray(e,n);let T,k,S,I,M,P,L,z=0,D=0,R=0,O=0,B=-1,N=-1;const F={};let U=Ps("");const j=i?i.anchor:e;let V=0,G=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[V,G]=l.layout.get("text-offset").evaluate(x,{},E).map((t=>t*Nh)):(V=l.layout.get("text-radial-offset").evaluate(x,{},E)*Nh,G=gd),t.allowVerticalPlacement&&r.vertical){const t=r.vertical;if(f)P=kd(t),a&&(L=kd(a));else{const i=l.layout.get("text-rotate").evaluate(x,{},E)+90;S=Td(c,j,e,u,h,p,t,d,i,m),a&&(I=Td(c,j,e,u,h,p,a,_,i))}}if(o){const n=l.layout.get("icon-rotate").evaluate(x,{},E),r="none"!==l.layout.get("icon-text-fit"),s=rd(o,n,w,r),d=a?rd(a,n,w,r):void 0;k=Td(c,j,e,u,h,p,o,_,n),z=4*s.length;const f=t.iconSizeData;let m=null;"source"===f.kind?(m=[Fh*l.layout.get("icon-size").evaluate(x,{},E)],m[0]>Ad&&Z(`${t.layerIds[0]}: Value for "icon-size" is >= ${wd}. Reduce your "icon-size".`)):"composite"===f.kind&&(m=[Fh*b.compositeIconSizes[0].evaluate(x,{},E),Fh*b.compositeIconSizes[1].evaluate(x,{},E)],(m[0]>Ad||m[1]>Ad)&&Z(`${t.layerIds[0]}: Value for "icon-size" is >= ${wd}. Reduce your "icon-size".`)),t.addSymbols(t.icon,s,m,v,y,x,!1,i,e,C.lineStartIndex,C.lineLength,-1,A,E),B=t.icon.placedSymbolArray.length-1,d&&(D=4*d.length,t.addSymbols(t.icon,d,m,v,y,x,Tp.vertical,i,e,C.lineStartIndex,C.lineLength,-1,A,E),N=t.icon.placedSymbolArray.length-1)}for(const n in r.horizontal){const o=r.horizontal[n];T||(U=Ps(o.text),f?M=kd(o):T=Td(c,j,e,u,h,p,o,d,l.layout.get("text-rotate").evaluate(x,{},E),m));const a=1===o.positionedLines.length;if(R+=Ed(t,i,e,o,s,l,f,x,m,C,r.vertical?Tp.horizontal:Tp.horizontalOnly,a?Object.keys(r.horizontal):[n],F,B,b,A,E),a)break}r.vertical&&(O+=Ed(t,i,e,r.vertical,s,l,f,x,m,C,Tp.vertical,["vertical"],F,N,b,A,E));let q=-1;const $=(t,e)=>t?Math.max(t,e):e;q=$(M,q),q=$(P,q),q=$(L,q);const X=q>-1?1:0;t.glyphOffsetArray.length>=af.MAX_GLYPHS&&Z("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==x.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,x.sortKey),t.symbolInstances.emplaceBack(j.x,j.y,j.z,e.x,e.y,F.right>=0?F.right:-1,F.center>=0?F.center:-1,F.left>=0?F.left:-1,F.vertical>=0?F.vertical:-1,B,N,U,void 0!==T?T:t.collisionBoxArray.length,void 0!==T?T+1:t.collisionBoxArray.length,void 0!==S?S:t.collisionBoxArray.length,void 0!==S?S+1:t.collisionBoxArray.length,void 0!==k?k:t.collisionBoxArray.length,void 0!==k?k+1:t.collisionBoxArray.length,I||t.collisionBoxArray.length,I?I+1:t.collisionBoxArray.length,u,R,O,z,D,X,0,V,G,q)}(t,a,f,s,i,n,r,L,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,A,T,l,0,E,k,m,e,o,c,u,h)};if("line"===S)for(const r of Yp(e.geometry,0,0,aa,aa)){const e=Wp(r,b,C,i.vertical||g,n,y,x,t.overscaling,aa);for(const i of e)g&&Sd(t,g.text,I,i)||z(r,i,h)}else if("line-center"===S){for(const t of e.geometry)if(t.length>1){const e=Xp(t,C,i.vertical||g,n,y,x);e&&z(t,e,h)}}else if("Polygon"===e.type)for(const t of Au(e.geometry,0)){const e=pd(t,16);z(t[0],new Vp(e.x,e.y,0,0,void 0),h)}else if("LineString"===e.type)for(const t of e.geometry)z(t,new Vp(t[0].x,t[0].y,0,0,void 0),h);else if("Point"===e.type)for(const t of e.geometry)for(const e of t)z([e],new Vp(e.x,e.y,0,0,void 0),h)}const wd=255,Ad=wd*Fh;function Ed(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g){const _=function(t,e,i,n,r,o,s,a){const l=[];if(0===e.positionedLines.length)return l;const c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=function(t){const e=t[0],i=t[1],n=e*i;return n>0?[e,-i]:n<0?[-e,i]:0===e?[i,e]:[i,-e]}(i);let h=Math.abs(e.top-e.bottom);for(const t of e.positionedLines)h-=t.lineOffset;const p=e.positionedLines.length,d=h/p;let f=e.top-i[1];for(let t=0;tAd&&Z(`${t.layerIds[0]}: Value for "text-size" is >= ${wd}. Reduce your "text-size".`)):"composite"===y.kind&&(x=[Fh*f.compositeTextSizes[0].evaluate(a,{},g),Fh*f.compositeTextSizes[1].evaluate(a,{},g)],(x[0]>Ad||x[1]>Ad)&&Z(`${t.layerIds[0]}: Value for "text-size" is >= ${wd}. Reduce your "text-size".`)),t.addSymbols(t.text,_,x,l,s,a,u,e,i,c.lineStartIndex,c.lineLength,d,m,g);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*_.length}function Cd(t){for(const e in t)return t[e];return null}function Td(t,e,i,n,r,o,s,a,l,c){let u=s.top,h=s.bottom,p=s.left,d=s.right;const f=s.collisionPadding;if(f&&(p-=f[0],u-=f[1],d+=f[2],h+=f[3]),l){const t=new v(p,u),e=new v(d,u),i=new v(p,h),n=new v(d,h),r=w(l);let o=new v(0,0);c&&(o=new v(c[0],c[1])),t._rotateAround(r,o),e._rotateAround(r,o),i._rotateAround(r,o),n._rotateAround(r,o),p=Math.min(t.x,e.x,i.x,n.x),d=Math.max(t.x,e.x,i.x,n.x),u=Math.min(t.y,e.y,i.y,n.y),h=Math.max(t.y,e.y,i.y,n.y)}return t.emplaceBack(e.x,e.y,e.z,i.x,i.y,p,u,d,h,a,n,r,o),t.length-1}function kd(t){t.collisionPadding&&(t.top-=t.collisionPadding[1],t.bottom+=t.collisionPadding[3]);const e=t.bottom-t.top;return e>0?Math.max(10,e):null}function Sd(t,e,i,n){const r=t.compareText;if(e in r){const t=r[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])v&&(x(t,c,n,r,a,l),x(c,i,a,l,o,s))}x(h,p,n,o,r,o),x(p,d,r,o,r,s),x(d,f,r,s,n,s),x(f,h,n,s,n,o),m-=v,g-=v,_+=v,y+=v;const b=1/Math.max(_-m,y-g);return{scale:b,x:m*b,y:g*b,x2:_*b,y2:y*b,projection:e}}const Pd=da(new Float32Array(16));class Ld{constructor(t){this.spec=t,this.name=t.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit="meters",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=["custom"],this.center=[0,0],this.range=[3.5,7]}project(t,e){return{x:0,y:0,z:0}}unproject(t,e){return new Vl(0,0)}projectTilePoint(t,e,i){return{x:t,y:e,z:0}}locationPoint(t,e,i=!0){return t._coordinatePoint(t.locationCoordinate(e),i)}pixelsPerMeter(t,e){return $l(1,t)*e}pixelSpaceConversion(t,e,i){return 1}farthestPixelDistance(t){return Id(t,t.pixelsPerMeter)}pointCoordinate(t,e,i,n){const r=t.horizonLineFromTop(!1),o=new v(e,Math.max(r,i));return t.rayIntersectionCoordinate(t.pointRayIntersection(o,n))}pointCoordinate3D(t,e,i){const n=new v(e,i);if(t.elevation)return t.elevation.pointCoordinate(n);{const e=this.pointCoordinate(t,n.x,n.y,0);return[e.x,e.y,e.z]}}isPointAboveHorizon(t,e){if(t.elevation)return!this.pointCoordinate3D(t,e.x,e.y);const i=t.horizonLineFromTop();return e.y0?e<-jd+i&&(e=-jd+i):e>jd-i&&(e=jd-i);const o=r/Math.pow(Vd(e),n);let s=o*Math.sin(n*t),a=r-o*Math.cos(n*t);return s=.5*(s/Math.PI+.5),a=.5*(a/Math.PI+.5),{x:s,y:this.southernCenter?a:1-a,z:0}}unproject(t,e){t=(2*t-.5)*Math.PI,this.southernCenter&&(e=1-e),e=(2*(1-e)-.5)*Math.PI;const{n:i,f:n}=this,r=n-e,o=Math.sign(r),s=Math.sign(i)*Math.sqrt(t*t+r*r);let a=Math.atan2(t,Math.abs(r))*o;r*i<0&&(a-=Math.PI*Math.sign(t)*o);const l=S(A(a/i)+this.center[0],-180,180),c=S(A(2*Math.atan(Math.pow(n/s,1/i))-jd),-Yl,Yl);return new Vl(l,this.southernCenter?-c:c)}}class qd extends Ld{constructor(t){super(t),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null}project(t,e){return{x:ql(t),y:Zl(e),z:0}}unproject(t,e){const i=Xl(t),n=Wl(e);return new Vl(i,n)}}const Zd=w(Yl);class $d extends Ld{project(t,e){const i=(e=w(e))*e,n=i*i;return{x:.5*((t=w(t))*(.8707-.131979*i+n*(n*(.003971*i-.001529*n)-.013791))/Math.PI+.5),y:1-.5*(e*(1.007226+i*(.015085+n*(.028874*i-.044475-.005916*n)))/Math.PI+1),z:0}}unproject(t,e){t=(2*t-.5)*Math.PI;let i=e=(2*(1-e)-1)*Math.PI,n=25,r=0,o=i*i;do{o=i*i;const t=o*o;r=(i*(1.007226+o*(.015085+t*(.028874*o-.044475-.005916*t)))-e)/(1.007226+o*(.045255+t*(.259866*o-.311325-.005916*11*t))),i=S(i-r,-Zd,Zd)}while(Math.abs(r)>1e-6&&--n>0);o=i*i;const s=S(A(t/(.8707+o*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979))),-180,180),a=A(i);return new Vl(s,a)}}const Xd=w(Yl);class Wd extends Ld{project(t,e){e=w(e),t=w(t);const i=Math.cos(e),n=2/Math.PI,r=Math.acos(i*Math.cos(t/2)),o=Math.sin(r)/r,s=.5*(t*n+2*i*Math.sin(t/2)/o)||0,a=.5*(e+Math.sin(e)/o)||0;return{x:.5*(s/Math.PI+.5),y:1-.5*(a/Math.PI+1),z:0}}unproject(t,e){let i=t=(2*t-.5)*Math.PI,n=e=(2*(1-e)-1)*Math.PI,r=25;const o=1e-6;let s=0,a=0;do{const r=Math.cos(n),o=Math.sin(n),l=2*o*r,c=o*o,u=r*r,h=Math.cos(i/2),p=Math.sin(i/2),d=2*h*p,f=p*p,m=1-u*h*h,g=m?1/m:0,_=m?Math.acos(r*h)*Math.sqrt(1/m):0,y=.5*(2*_*r*p+2*i/Math.PI)-t,v=.5*(_*o+n)-e,x=.5*g*(u*f+_*r*h*c)+1/Math.PI,b=g*(d*l/4-_*o*p),w=.125*g*(l*p-_*o*u*d),A=.5*g*(c*h+_*f*r)+.5,E=b*w-A*x;s=(v*b-y*A)/E,a=(y*w-v*x)/E,i=S(i-s,-Math.PI,Math.PI),n=S(n-a,-Xd,Xd)}while((Math.abs(s)>o||Math.abs(a)>o)&&--r>0);return new Vl(A(i),A(n))}}class Hd extends Ld{constructor(t){super(t),this.center=t.center||[0,0],this.parallels=t.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(w(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0}project(t,e){const{scale:i,cosPhi:n}=this;return{x:w(t)*n*i+.5,y:-Math.sin(w(e))/n*i+.5,z:0}}unproject(t,e){const{scale:i,cosPhi:n}=this,r=-(e-.5)/i,o=S(A((t-.5)/i)/n,-180,180),s=Math.asin(S(r*n,-1,1)),a=S(A(s),-Yl,Yl);return new Vl(o,a)}}class Yd extends qd{constructor(t){super(t),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit="pixels",this.unsupportedLayers=["debug"],this.range=[3,5]}projectTilePoint(t,e,i){const n=kl(t,e,i);return Ba(n,n,Ml(yl(i))),{x:n[0],y:n[1],z:n[2]}}locationPoint(t,e){const i=Tl(e.lat,e.lng),n=Da([],i),r=t.elevation?t.elevation.getAtPointOrZero(t.locationCoordinate(e),t._centerAltitude):t._centerAltitude;za(i,i,n,$l(1,0)*aa*r);const o=da(new Float64Array(16));return ma(o,t.pixelMatrix,t.globeMatrix),Ba(i,i,o),new v(i[0],i[1])}pixelsPerMeter(t,e){return $l(1,0)*e}pixelSpaceConversion(t,e,i){const n=$l(1,t)*e,r=Li($l(1,45)*e,n,i);return this.pixelsPerMeter(t,e)/r}createTileMatrix(t,e,i){const n=Pl(yl(i.canonical));return ma(new Float64Array(16),t.globeMatrix,n)}createInversionMatrix(t,e){const{center:i}=t,n=Ml(yl(e));return va(n,n,w(i.lng)),ya(n,n,w(i.lat)),_a(n,n,[t._pixelsPerMercatorPixel,t._pixelsPerMercatorPixel,1]),Float32Array.from(n)}pointCoordinate(t,e,i,n){return ml(t,e,i,!0)||new Jl(0,0)}pointCoordinate3D(t,e,i){const n=this.pointCoordinate(t,e,i,0);return[n.x,n.y,n.z]}isPointAboveHorizon(t,e){return!ml(t,e.x,e.y,!1)}farthestPixelDistance(t){const e=function(t,e){const i=t.cameraToCenterDistance,n=t._centerAltitude*e,r=t._camera,o=t._camera.forward(),s=ka([],La([],o,-i),[0,0,n]),a=t.worldSize/(2*Math.PI),l=[0,0,-a],c=t.width/t.height,u=Math.tan(t.fovAboveCenter),h=La([],r.up(),u),p=La([],r.right(),u*c),d=Da([],ka([],ka([],o,h),p)),f=[];let m;if(new el(s,d).closestPointOnSphere(l,a,f)){const e=ka([],f,l),i=Ua([],e,s);m=Math.cos(t.fovAboveCenter)*Ca(i)}else{const t=Ua([],s,l),e=Ua([],l,s);Da(e,e);const i=Ca(t)-a;m=Math.sqrt(i*(i+2*a));const n=Math.acos(m/(a+i))-Math.acos(Ra(o,e));m*=Math.cos(n)}return 1.01*m}(t,this.pixelsPerMeter(t.center.lat,t.worldSize)),i=zl(t.zoom);if(i>0){const n=Id(t,$l(1,t.center.lat)*t.worldSize),r=t.worldSize/(2*Math.PI),o=Math.max(t.width,t.height)/t.worldSize*Math.PI;return Li(e,n+r*(1-Math.cos(o)),Math.pow(i,10))}return e}upVector(t,e,i){return kl(e,i,t,1)}upVectorScale(t){return{metersToTile:fl(Sl(yl(t)))}}}function Kd(t){const e=t.parallels,i=!!e&&Math.abs(e[0]+e[1])<.01;switch(t.name){case"mercator":return new qd(t);case"equirectangular":return new Ud(t);case"naturalEarth":return new $d(t);case"equalEarth":return new Fd(t);case"winkelTripel":return new Wd(t);case"albers":return i?new Hd(t):new zd(t);case"lambertConformalConic":return i?new Hd(t):new Gd(t);case"globe":return new Yd(t)}throw new Error(`Invalid projection name: ${t.name}`)}const Jd=Xu.types,Qd=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function tf(t,e,i,n,r,o,s,a,l,c,u,h,p){const d=a?Math.min(Ad,Math.round(a[0])):0,f=a?Math.min(Ad,Math.round(a[1])):0;t.emplaceBack(e,i,Math.round(32*n),Math.round(32*r),o,s,(d<<1)+(l?1:0),f,16*c,16*u,256*h,256*p)}function ef(t,e,i,n,r,o,s){t.emplaceBack(e,i,n,r,o,s)}function nf(t,e,i,n,r){t.emplaceBack(e,i,n,r),t.emplaceBack(e,i,n,r),t.emplaceBack(e,i,n,r),t.emplaceBack(e,i,n,r)}function rf(t){for(const e of t.sections)if(co(e.text))return!0;return!1}class of{constructor(t){this.layoutVertexArray=new Yo,this.indexArray=new rs,this.programConfigurations=t,this.segments=new sa,this.dynamicLayoutVertexArray=new $o,this.opacityVertexArray=new Jo,this.placedSymbolArray=new gs,this.globeExtVertexArray=new Ko}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length}upload(t,e,i,n){this.isEmpty()||(i&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ph.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,zh.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Qd,!0),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,Lh.members,!0)),this.opacityVertexBuffer.itemSize=1),(i||n)&&this.programConfigurations.upload(t))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}}Yr(of,"SymbolBuffers");class sf{constructor(t,e,i){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new i,this.segments=new sa,this.collisionVertexArray=new is,this.collisionVertexArrayExt=new ns}upload(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Dh.members,!0),this.collisionVertexBufferExt=t.createVertexBuffer(this.collisionVertexArrayExt,Rh.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy())}}Yr(sf,"CollisionBuffers");class af{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=da([]),this.placementViewportMatrix=da([]);const e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Uh(this.zoom,e["text-size"]),this.iconSizeData=Uh(this.zoom,e["icon-size"]);const i=this.layers[0].layout,n=i.get("symbol-sort-key"),r=i.get("symbol-z-order");this.canOverlap=i.get("text-allow-overlap")||i.get("icon-allow-overlap")||i.get("text-ignore-placement")||i.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==r&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===r||"auto"===r&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=i.get("text-writing-mode").map((t=>Tp[t])),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=t.sourceID,this.projection=t.projection}createArrays(){this.text=new of(new Ys(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new of(new Ys(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new vs,this.lineVertexArray=new xs,this.symbolInstances=new ys}calculateGlyphDependencies(t,e,i,n,r){for(let i=0;i0)&&("constant"!==a.value.kind||a.value.value.length>0),h="constant"!==c.value.kind||!!c.value.value||Object.keys(c.parameters).length>0,p=o.get("symbol-sort-key");if(this.features=[],!u&&!h)return;const d=e.iconDependencies,f=e.glyphDependencies,m=e.availableImages,g=new Ao(this.zoom);for(const{feature:e,id:l,index:c,sourceLayerIndex:_}of t){const t=r._featureFilter.needGeometry,y=ac(e,t);if(!r._featureFilter.filter(g,y,i))continue;if(t||(y.geometry=sc(e,i,n)),s&&1!==e.type&&i.z<=5){const t=y.geometry,e=.98078528056,n=(t,n)=>Ra(kl(t.x,t.y,i,1),kl(n.x,n.y,i,1))=0;for(const i of v.sections)if(i.image)d[i.image.name]=!0;else{const n=io(v.toString()),r=i.fontStack||t,o=f[r]=f[r]||{};this.calculateGlyphDependencies(i.text,o,e,this.allowVerticalPlacement,n)}}}"line"===o.get("symbol-placement")&&(this.features=function(t){const e={},i={},n=[];let r=0;function o(e){n.push(t[e]),r++}function s(t,e,r){const o=i[t];return delete i[t],i[e]=o,n[o].geometry[0].pop(),n[o].geometry[0]=n[o].geometry[0].concat(r[0]),o}function a(t,i,r){const o=e[i];return delete e[i],e[t]=o,n[o].geometry[0].shift(),n[o].geometry[0]=r[0].concat(n[o].geometry[0]),o}function l(t,e,i){const n=i?e[0][e[0].length-1]:e[0][0];return`${t}:${n.x}:${n.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i,n),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i,n))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}getProjection(){return this.projectionInstance||(this.projectionInstance=Kd(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment)for(const{x:t,y:i}of e)this.lineVertexArray.emplaceBack(t,i);return{lineStartIndex:i,lineLength:this.lineVertexArray.length-i}}addSymbols(t,e,i,n,r,o,s,a,l,c,u,h,p,d){const f=t.indexArray,m=t.layoutVertexArray,g=t.globeExtVertexArray,_=t.segments.prepareSegment(4*e.length,m,f,this.canOverlap?o.sortKey:void 0),y=this.glyphOffsetArray.length,v=_.vertexLength,x=this.allowVerticalPlacement&&s===Tp.vertical?Math.PI/2:0,b=o.text&&o.text.sections;for(let n=0;n=0?e.rightJustifiedTextSymbolIndex:e.centerJustifiedTextSymbolIndex>=0?e.centerJustifiedTextSymbolIndex:e.leftJustifiedTextSymbolIndex>=0?e.leftJustifiedTextSymbolIndex:e.verticalPlacedTextSymbolIndex>=0?e.verticalPlacedTextSymbolIndex:n),o=jh(this.textSizeData,t,r)/Nh;return this.tilePixelRatio*o}getSymbolInstanceIconSize(t,e,i){const n=this.icon.placedSymbolArray.get(i),r=jh(this.iconSizeData,t,n);return this.tilePixelRatio*r}_commitDebugCollisionVertexUpdate(t,e,i){t.emplaceBack(e,-i,-i),t.emplaceBack(e,i,-i),t.emplaceBack(e,i,i),t.emplaceBack(e,-i,i)}_updateTextDebugCollisionBoxes(t,e,i,n,r,o){for(let s=n;s0}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(t,e){const i=t.placedSymbolArray.get(e),n=i.vertexStartIndex+4*i.numGlyphs;for(let e=i.vertexStartIndex;en[t]-n[e]||r[e]-r[t])),o}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex);const{rightJustifiedTextSymbolIndex:i,centerJustifiedTextSymbolIndex:n,leftJustifiedTextSymbolIndex:r,verticalPlacedTextSymbolIndex:o,placedIconSymbolIndex:s,verticalPlacedIconSymbolIndex:a}=e;i>=0&&this.addIndicesForPlacedSymbol(this.text,i),n>=0&&n!==i&&this.addIndicesForPlacedSymbol(this.text,n),r>=0&&r!==n&&r!==i&&this.addIndicesForPlacedSymbol(this.text,r),o>=0&&this.addIndicesForPlacedSymbol(this.text,o),s>=0&&this.addIndicesForPlacedSymbol(this.icon,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Yr(af,"SymbolBucket",{omit:["layers","collisionBoxArray","features","compareText"]}),af.MAX_GLYPHS=65535,af.addDynamicAttributes=nf;const lf=new Ro({"symbol-placement":new Lo(ee.layout_symbol["symbol-placement"]),"symbol-spacing":new Lo(ee.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Lo(ee.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new zo(ee.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Lo(ee.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Lo(ee.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Lo(ee.layout_symbol["icon-ignore-placement"]),"icon-optional":new Lo(ee.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Lo(ee.layout_symbol["icon-rotation-alignment"]),"icon-size":new zo(ee.layout_symbol["icon-size"]),"icon-text-fit":new Lo(ee.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Lo(ee.layout_symbol["icon-text-fit-padding"]),"icon-image":new zo(ee.layout_symbol["icon-image"]),"icon-rotate":new zo(ee.layout_symbol["icon-rotate"]),"icon-padding":new Lo(ee.layout_symbol["icon-padding"]),"icon-keep-upright":new Lo(ee.layout_symbol["icon-keep-upright"]),"icon-offset":new zo(ee.layout_symbol["icon-offset"]),"icon-anchor":new zo(ee.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Lo(ee.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Lo(ee.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Lo(ee.layout_symbol["text-rotation-alignment"]),"text-field":new zo(ee.layout_symbol["text-field"]),"text-font":new zo(ee.layout_symbol["text-font"]),"text-size":new zo(ee.layout_symbol["text-size"]),"text-max-width":new zo(ee.layout_symbol["text-max-width"]),"text-line-height":new zo(ee.layout_symbol["text-line-height"]),"text-letter-spacing":new zo(ee.layout_symbol["text-letter-spacing"]),"text-justify":new zo(ee.layout_symbol["text-justify"]),"text-radial-offset":new zo(ee.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Lo(ee.layout_symbol["text-variable-anchor"]),"text-anchor":new zo(ee.layout_symbol["text-anchor"]),"text-max-angle":new Lo(ee.layout_symbol["text-max-angle"]),"text-writing-mode":new Lo(ee.layout_symbol["text-writing-mode"]),"text-rotate":new zo(ee.layout_symbol["text-rotate"]),"text-padding":new Lo(ee.layout_symbol["text-padding"]),"text-keep-upright":new Lo(ee.layout_symbol["text-keep-upright"]),"text-transform":new zo(ee.layout_symbol["text-transform"]),"text-offset":new zo(ee.layout_symbol["text-offset"]),"text-allow-overlap":new Lo(ee.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Lo(ee.layout_symbol["text-ignore-placement"]),"text-optional":new Lo(ee.layout_symbol["text-optional"])});var cf={paint:new Ro({"icon-opacity":new zo(ee.paint_symbol["icon-opacity"]),"icon-color":new zo(ee.paint_symbol["icon-color"]),"icon-halo-color":new zo(ee.paint_symbol["icon-halo-color"]),"icon-halo-width":new zo(ee.paint_symbol["icon-halo-width"]),"icon-halo-blur":new zo(ee.paint_symbol["icon-halo-blur"]),"icon-translate":new Lo(ee.paint_symbol["icon-translate"]),"icon-translate-anchor":new Lo(ee.paint_symbol["icon-translate-anchor"]),"text-opacity":new zo(ee.paint_symbol["text-opacity"]),"text-color":new zo(ee.paint_symbol["text-color"],{runtimeType:de,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new zo(ee.paint_symbol["text-halo-color"]),"text-halo-width":new zo(ee.paint_symbol["text-halo-width"]),"text-halo-blur":new zo(ee.paint_symbol["text-halo-blur"]),"text-translate":new Lo(ee.paint_symbol["text-translate"]),"text-translate-anchor":new Lo(ee.paint_symbol["text-translate-anchor"])}),layout:lf};class uf{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:ce,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Yr(uf,"FormatSectionOverride",{omit:["defaultValue"]});class hf extends na{constructor(t){super(t,cf)}recalculate(t,e){super.recalculate(t,e),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const i=this.layout.get("text-writing-mode");if(i){const t=[];for(const e of i)t.indexOf(e)<0&&t.push(e);this.layout._values["text-writing-mode"]=t}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,n){const r=this.layout.get(t).evaluate(e,{},i,n),o=this._unevaluatedLayout._values[t];return o.isDataDriven()||Yn(o.value)||!r?r:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,r)}createBucket(t){return new af(t)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const t of cf.paint.overridableProperties){if(!hf.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new uf(e),n=new Hn(i,e.property.specification);let r=null;r="constant"===e.value.kind||"source"===e.value.kind?new Jn("source",n):new Qn("composite",n,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new Mo(e.property,r,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&hf.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),n=cf.paint.properties[e];let r=!1;const o=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(r=!0)};if("constant"===i.value.kind&&i.value.value instanceof Re)o(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{r||(e instanceof Ve&&Fe(e.value)===_e?o(e.value.sections):e instanceof Xe?o(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return r}getProgramConfiguration(t){return new Hs(this,t)}}var pf={paint:new Ro({"background-color":new Lo(ee.paint_background["background-color"]),"background-pattern":new Lo(ee.paint_background["background-pattern"]),"background-opacity":new Lo(ee.paint_background["background-opacity"])})},df={paint:new Ro({"raster-opacity":new Lo(ee.paint_raster["raster-opacity"]),"raster-hue-rotate":new Lo(ee.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Lo(ee.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Lo(ee.paint_raster["raster-brightness-max"]),"raster-saturation":new Lo(ee.paint_raster["raster-saturation"]),"raster-contrast":new Lo(ee.paint_raster["raster-contrast"]),"raster-resampling":new Lo(ee.paint_raster["raster-resampling"]),"raster-fade-duration":new Lo(ee.paint_raster["raster-fade-duration"])})};class ff extends na{constructor(t){super(t,{}),this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}isLayerDraped(){return void 0!==this.implementation.renderToTile}shouldRedrape(){return!!this.implementation.shouldRerenderTiles&&this.implementation.shouldRerenderTiles()}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){}onAdd(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)}onRemove(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)}}var mf={paint:new Ro({"sky-type":new Lo(ee.paint_sky["sky-type"]),"sky-atmosphere-sun":new Lo(ee.paint_sky["sky-atmosphere-sun"]),"sky-atmosphere-sun-intensity":new Lo(ee.paint_sky["sky-atmosphere-sun-intensity"]),"sky-gradient-center":new Lo(ee.paint_sky["sky-gradient-center"]),"sky-gradient-radius":new Lo(ee.paint_sky["sky-gradient-radius"]),"sky-gradient":new Do(ee.paint_sky["sky-gradient"]),"sky-atmosphere-halo-color":new Lo(ee.paint_sky["sky-atmosphere-halo-color"]),"sky-atmosphere-color":new Lo(ee.paint_sky["sky-atmosphere-color"]),"sky-opacity":new Lo(ee.paint_sky["sky-opacity"])})};function gf(t,e,i){const n=[0,0,1],r=Xa([]);return Ha(r,r,i?-w(t)+Math.PI:w(t)),Wa(r,r,-w(e)),Na(n,n,r),Da(n,n)}const _f={circle:class extends na{constructor(t){super(t,Sc)}createBucket(t){return new uc(t)}queryRadius(t){const e=t;return Ac("circle-radius",this,e)+Ac("circle-stroke-width",this,e)+Ec(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,i,n,r,o,s,a){const l=Tc(this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),o.angle,t.pixelToTileUnitsFactor),c=this.paint.get("circle-radius").evaluate(e,i)+this.paint.get("circle-stroke-width").evaluate(e,i);return Ic(t,n,o,s,a,"map"===this.paint.get("circle-pitch-alignment"),"map"===this.paint.get("circle-pitch-scale"),l,c)}getProgramIds(){return["circle"]}getProgramConfiguration(t){return new Hs(this,t)}},heatmap:class extends na{createBucket(t){return new Dc(t)}constructor(t){super(t,Uc),this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=jc({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(t){return Ac("heatmap-radius",this,t)}queryIntersectsFeature(t,e,i,n,r,o,s,a){const l=this.paint.get("heatmap-radius").evaluate(e,i);return Ic(t,n,o,s,a,!0,!0,new v(0,0),l)}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}getProgramIds(){return["heatmap","heatmapTexture"]}getProgramConfiguration(t){return new Hs(this,t)}},hillshade:class extends na{constructor(t){super(t,Vc)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}getProgramIds(){return["hillshade","hillshadePrepare"]}},fill:class extends na{constructor(t){super(t,Iu)}getProgramIds(){const t=this.paint.get("fill-pattern"),e=t&&t.constantOr(1),i=[e?"fillPattern":"fill"];return this.paint.get("fill-antialias")&&i.push(e&&!this.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline"),i}getProgramConfiguration(t){return new Hs(this,t)}recalculate(t,e){super.recalculate(t,e);const i=this.paint._values["fill-outline-color"];"constant"===i.value.kind&&void 0===i.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(t){return new ku(t)}queryRadius(){return Ec(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,i,n,r,o){return!t.queryGeometry.isAboveHorizon&&dc(Cc(t.tilespaceGeometry,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),o.angle,t.pixelToTileUnitsFactor),n)}isTileClipped(){return!0}},"fill-extrusion":class extends na{constructor(t){super(t,uh)}createBucket(t){return new th(t)}queryRadius(){return Ec(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}getProgramIds(){return[this.paint.get("fill-extrusion-pattern").constantOr(1)?"fillExtrusionPattern":"fillExtrusion"]}getProgramConfiguration(t){return new Hs(this,t)}queryIntersectsFeature(t,e,i,n,r,o,s,a,l){const c=Tc(this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,t.pixelToTileUnitsFactor),u=this.paint.get("fill-extrusion-height").evaluate(e,i),h=this.paint.get("fill-extrusion-base").evaluate(e,i),p=[0,0],d=a&&o.elevation,f=o.elevation?o.elevation.exaggeration():1,m=t.tile.getBucket(this);if(d&&m instanceof th){const t=m.centroidVertexArray,e=l+1;et.polygon)).flat());const g=d?a:null,[_,y]=function(t,e,i,n,r,o,s,a,l,c,u){return"globe"===t.projection.name?function(t,e,i,n,r,o,s,a,l,c,u){const h=[],p=[],d=t.projection.upVectorScale(u,t.center.lat,t.worldSize).metersToTile,f=[0,0,0,1],m=[0,0,0,1],g=(t,e,i,n)=>{t[0]=e,t[1]=i,t[2]=n,t[3]=1},_=ah();i>0&&(i+=_),n+=_;for(const _ of e){const e=[],y=[];for(const h of _){const p=h.x+r.x,_=h.y+r.y,v=t.projection.projectTilePoint(p,_,u),x=t.projection.upVector(u,h.x,h.y);let b=i,w=n;if(s){const t=vh(p,_,i,n,s,a,l,c);b+=t.base,w+=t.top}0!==i?g(f,v.x+x[0]*d*b,v.y+x[1]*d*b,v.z+x[2]*d*b):g(f,v.x,v.y,v.z),g(m,v.x+x[0]*d*w,v.y+x[1]*d*w,v.z+x[2]*d*w),Ba(f,f,o),Ba(m,m,o),e.push(new gh(f[0],f[1],f[2])),y.push(new gh(m[0],m[1],m[2]))}h.push(e),p.push(y)}return[h,p]}(t,e,i,n,r,o,s,a,l,c,u):s?function(t,e,i,n,r,o,s,a,l){const c=[],u=[],h=[0,0,0,1];for(const p of t){const t=[],d=[];for(const c of p){const u=c.x+n.x,p=c.y+n.y,f=vh(u,p,e,i,o,s,a,l);h[0]=u,h[1]=p,h[2]=f.base,h[3]=1,Za(h,h,r),h[3]=Math.max(h[3],1e-5);const m=new gh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);h[0]=u,h[1]=p,h[2]=f.top,h[3]=1,Za(h,h,r),h[3]=Math.max(h[3],1e-5);const g=new gh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);t.push(m),d.push(g)}c.push(t),u.push(d)}return[c,u]}(e,i,n,r,o,s,a,l,c):function(t,e,i,n,r){const o=[],s=[],a=r[8]*e,l=r[9]*e,c=r[10]*e,u=r[11]*e,h=r[8]*i,p=r[9]*i,d=r[10]*i,f=r[11]*i;for(const e of t){const t=[],i=[];for(const o of e){const e=o.x+n.x,s=o.y+n.y,m=r[0]*e+r[4]*s+r[12],g=r[1]*e+r[5]*s+r[13],_=r[2]*e+r[6]*s+r[14],y=r[3]*e+r[7]*s+r[15],v=m+a,x=g+l,b=_+c,w=Math.max(y+u,1e-5),A=m+h,E=g+p,C=_+d,T=Math.max(y+f,1e-5);t.push(new gh(v/w,x/w,b/w)),i.push(new gh(A/T,E/T,C/T))}o.push(t),s.push(i)}return[o,s]}(e,i,n,r,o)}(o,n,h,u,c,s,g,p,f,o.center.lat,t.tileID.canonical),x=t.queryGeometry;return function(t,e,i){let n=1/0;dc(i,e)&&(n=yh(i,e[0]));for(let r=0;r=3)for(let e=0;e{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){this._channel=void 0,this._callback=()=>{}}}class xf{constructor(){this.tasks={},this.taskQueue=[],F(["process"],this),this.invoker=new vf(this.process),this.nextId=0}add(t,e){const i=this.nextId++,n=function({type:t,isSymbolTile:e,zoom:i}){return i=i||0,"message"===t?0:"maybePrepare"!==t||e?"parseTile"!==t||e?"parseTile"===t&&e?300-i:"maybePrepare"===t&&e?400-i:500:200-i:100-i}(e);if(0===n){W();try{t()}finally{}return{cancel:()=>{}}}return this.tasks[i]={fn:t,metadata:e,priority:n,id:i},this.taskQueue.push(i),this.invoker.trigger(),{cancel:()=>{delete this.tasks[i]}}}process(){W();try{if(this.taskQueue=this.taskQueue.filter((t=>!!this.tasks[t])),!this.taskQueue.length)return;const t=this.pick();if(null===t)return;const e=this.tasks[t];if(delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),!e)return;e.fn()}finally{}}pick(){let t=null,e=1/0;for(let i=0;i>=1)>1;){const t=i+r>>1,l=n+o>>1;1&e?(r=i,o=n,i=s,n=a):(i=r,n=o,r=s,o=a),s=t,a=l}const l=4*t;Tf[l+0]=i,Tf[l+1]=n,Tf[l+2]=r,Tf[l+3]=o}const kf=new Uint16Array(2178),Sf=new Uint8Array(1089),If=new Uint16Array(1089);function Mf(t){return 0===t?-.03125:32===t?.03125:0}var Pf=Uo([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);const Lf={type:2,extent:aa,loadGeometry:()=>[[new v(0,0),new v(aa+1,0),new v(aa+1,aa+1),new v(0,aa+1),new v(0,0)]]};class zf{constructor(t,e,i,n,r){this.tileID=t,this.uid=R(),this.uses=0,this.tileSize=e,this.tileZoom=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=r,this.expiredRequestCount=0,this.state="loading",n&&n.transform&&(this.projection=n.transform.projection)}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=n}}return i}(t.buckets,e.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const e=this.buckets[t];if(e instanceof af){if(this.hasSymbolBuckets=!0,!i)break;e.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const e=this.buckets[t];if(e instanceof af&&e.hasRTLText){this.hasRTLText=!0,wo.isLoading()||wo.isLoaded()||"deferred"!==xo()||bo();break}}this.queryPadding=0;for(const t in this.buckets){const i=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(t).queryRadius(i))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),t.lineAtlas&&(this.lineAtlas=t.lineAtlas)}else this.collisionBoxArray=new fs}unloadVectorData(){if(this.hasData()){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state="unloaded"}}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new yf(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new yf(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new yf(t,this.lineAtlas.image,e.ALPHA),this.lineAtlas.uploaded=!0)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,n,r,o,s,a){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:n,pixelPosMatrix:s,transform:o,params:r,tileTransform:this.tileTransform},t,e,i):{}}querySourceFeatures(t,e){const i=this.latestFeatureIndex;if(!i||!i.rawTileData)return;const n=i.loadVTLayers(),r=e?e.sourceLayer:"",o=n._geojsonTileLayer||n[r];if(!o)return;const s=pr(e&&e.filter),{z:a,x:l,y:c}=this.tileID.canonical,u={z:a,x:l,y:c};for(let e=0;et)i=!1;else if(e)if(this.expirationTime=0;t--){const e=4*t,i=Tf[e+0],n=Tf[e+1],r=Tf[e+2],o=Tf[e+3],s=i+r>>1,a=n+o>>1,l=s+a-n,c=a+i-s,u=n*Cf+i,h=o*Cf+r,p=a*Cf+s,d=Math.hypot((kf[2*u+0]+kf[2*h+0])/2-kf[2*p+0],(kf[2*u+1]+kf[2*h+1])/2-kf[2*p+1])>=16;Sf[p]=Sf[p]||(d?1:0),t<1022&&(Sf[p]=Sf[p]||Sf[(n+c>>1)*Cf+(i+l>>1)]||Sf[(o+c>>1)*Cf+(r+l>>1)])}const r=new qo,o=new rs;let s=0;function a(t,e){const i=e*Cf+t;return 0===If[i]&&(r.emplaceBack(kf[2*i+0],kf[2*i+1],t*aa/Ef,e*aa/Ef),If[i]=++s),If[i]-1}function l(t,e,i,n,r,s){const c=t+i>>1,u=e+n>>1;if(Math.abs(t-r)+Math.abs(e-s)>1&&Sf[u*Cf+c])l(r,s,t,e,c,u),l(i,n,r,s,c,u);else{const l=a(t,e),c=a(i,n),u=a(r,s);o.emplaceBack(l,c,u)}}return l(0,0,Ef,Ef,Ef,0),l(Ef,Ef,0,0,0,Ef),{vertices:r,indices:o}}(this.tileID.canonical,e);n=t.vertices,r=t.indices}else{n=new qo,r=new rs;for(const{x:t,y:e}of i)n.emplaceBack(t,e,0,0);const t=yu(n.int16,void 0,4);for(let e=0;e0&&(s=fa(new Float64Array(16),e.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(t,n,e,r,s,o),this._makeGlobeTileDebugTextBuffer(t,n,e,r,s,o)}_globePoint(t,e,i,n,r,o,s){let a=kl(t,e,i);if(o){const r=1<.5?h=-1:u<-.5&&(h=1);let p=(t/aa+i.x)/r+h,d=(e/aa+i.y)/r;p=(p-l)*n._pixelsPerMercatorPixel+l,d=(d-c)*n._pixelsPerMercatorPixel+c;const f=[p*n.worldSize,d*n.worldSize,0];Ba(f,f,o),a=vl(a,f,s)}return Ba(a,a,r)}_makeGlobeTileDebugBorderBuffer(t,e,i,n,r,o){const s=new Vo,a=new hs,l=new Go,c=(t,c,u,h,p)=>{const d=(u-t)/(p-1),f=(h-c)/(p-1),m=s.length;for(let u=0;uu*t+e;for(let t=0;te[s])return null}else{const a=1/n[s];let l=(t[s]-i[s])*a,c=(e[s]-i[s])*a;if(l>c){const t=l;l=c,c=t}if(l>r&&(r=l),co)return null}return r}function Bf(t,e,i,n,r,o,s,a,l,c,u){const h=n-t,p=r-e,d=o-i,f=s-t,m=a-e,g=l-i,_=u[1]*g-u[2]*m,y=u[2]*f-u[0]*g,v=u[0]*m-u[1]*f,x=h*_+p*y+d*v;if(Math.abs(x)<1e-15)return null;const b=1/x,w=c[0]-t,A=c[1]-e,E=c[2]-i,C=(w*_+A*y+E*v)*b;if(C<0||C>1)return null;const T=A*d-E*p,k=E*h-w*d,S=w*p-A*h,I=(u[0]*T+u[1]*k+u[2]*S)*b;return I<0||C+I>1?null:(f*T+m*k+g*S)*b}function Nf(t,e,i){return(t-e)/(i-e)}function Ff(t,e,i,n,r,o,s,a,l){const c=1<{const o=n?1:0,s=(t+1)*i-o,a=e*i,l=(e+1)*i-o;r[0]=t*i,r[1]=a,r[2]=s,r[3]=l};let s=new Rf(n);const a=[];for(let e=0;e=1;n/=2){const t=i[i.length-1];s=new Rf(n);for(let e=0;e0;){const{idx:a,t:d,nodex:f,nodey:m,depth:g}=p.pop();if(this.leaves[a]){Ff(f,m,g,t,e,i,n,u,h);const a=1<=t[2])return d}continue}let _=0;for(let p=0;p=l[c[i]]&&(c.splice(i,0,p),e=!0);e||(c[_]=p),_++}}for(let t=0;t<_;t++){const e=c[t];p.push({idx:this.childOffsets[a]+e,t:l[e],nodex:(f<<1)+this._siblingOffset[e][0],nodey:(m<<1)+this._siblingOffset[e][1],depth:g+1})}}return null}_addNode(t,e,i){return this.minimums.push(t),this.maximums.push(e),this.leaves.push(i),this.childOffsets.push(0),this.nodeCount++}_construct(t,e,i,n,r){if(1===t[n].isLeaf(e,i))return;this.childOffsets[r]||(this.childOffsets[r]=this.nodeCount);const o=n-1,s=t[o];let a=0,l=0;for(let t=0;t=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}static pack(t,e){const i=[0,0,0,0],n=$f.getUnpackVector(e);let r=Math.floor((t+n[3])/n[2]);return i[2]=r%256,r=Math.floor(r/256),i[1]=r%256,r=Math.floor(r/256),i[0]=r,i}getPixels(){return new Fc({width:this.stride,height:this.stride},this.pixels)}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let n=e*this.dim,r=e*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(e){case-1:n=r-1;break;case 1:r=n+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}const a=-e*this.dim,l=-i*this.dim;for(let e=o;e{this.remove(t,r)}),i)),this.data[n].push(r),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,n=void 0===e?0:this.data[i].indexOf(e),r=this.data[i][n];return this.data[i].splice(n,1),r.timeout&&clearTimeout(r.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(r.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const n of this.data[i])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t)}}class Wf{constructor(t,e,i){this.func=t,this.mask=e,this.range=i}}Wf.ReadOnly=!1,Wf.ReadWrite=!0,Wf.disabled=new Wf(519,Wf.ReadOnly,[0,1]);const Hf=7680;class Yf{constructor(t,e,i,n,r,o){this.test=t,this.ref=e,this.mask=i,this.fail=n,this.depthFail=r,this.pass=o}}Yf.disabled=new Yf({func:519,mask:0},0,0,Hf,Hf,Hf);class Kf{constructor(t,e,i){this.blendFunction=t,this.blendColor=e,this.mask=i}}Kf.Replace=[1,0],Kf.disabled=new Kf(Kf.Replace,Le.transparent,[!1,!1,!1,!1]),Kf.unblended=new Kf(Kf.Replace,Le.transparent,[!0,!0,!0,!0]),Kf.alphaBlended=new Kf([1,771],Le.transparent,[!0,!0,!0,!0]);const Jf=1029,Qf=2305;class tm{constructor(t,e,i){this.enable=t,this.mode=e,this.frontFace=i}}tm.disabled=new tm(!1,Jf,Qf),tm.backCCW=new tm(!0,Jf,Qf),tm.backCW=new tm(!0,Jf,2304),tm.frontCW=new tm(!0,1028,2304),tm.frontCCW=new tm(!0,1028,Qf);class em extends te{constructor(t,e,i){super(),this.id=t,this._onlySymbols=i,e.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),e.on("error",(()=>{this._sourceErrored=!0})),this._source=e,this._tiles={},this._cache=new Xf(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=e.minTileCacheSize,this._maxTileCacheSize=e.maxTileCacheSize,this._loadedParentTiles={},this._coveredTiles={},this._state=new Df,this._isRaster="raster"===this._source.type||"raster-dem"===this._source.type||"custom"===this._source.type&&"raster"===this._source._dataType}onAdd(t){this.map=t,this._minTileCacheSize=void 0===this._minTileCacheSize&&t?t._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&t?t._maxTileCacheSize:this._maxTileCacheSize}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(t,e){return t.isSymbolTile=this._onlySymbols,this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(t){if(this._source.abortTile)return this._source.abortTile(t,(()=>{}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return L(this._tiles).map((t=>t.tileID)).sort(im).map((t=>t.key))}getRenderableIds(t){const e=[];for(const i in this._tiles)this._isIdRenderable(+i,t)&&e.push(this._tiles[i]);return t?e.sort(((t,e)=>{const i=t.tileID,n=e.tileID,r=new v(i.canonical.x,i.canonical.y)._rotate(this.transform.angle),o=new v(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return i.overscaledZ-n.overscaledZ||o.y-r.y||o.x-r.x})).map((t=>t.tileID.key)):e.map((t=>t.tileID)).sort(im).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(+t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(t,e,i,n){if(n)if(t.state="errored",404!==n.status)this._source.fire(new Qt(n,{tile:t}));else if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const t=this.map.painter.terrain;this.update(this.transform,t.getScaledDemTileSize(),!0),t.resetTileLookupCache(this.id)}else this.update(this.transform);else t.timeAdded=Ht.now(),"expired"===i&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),"raster-dem"===this._source.type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new Jt("data",{dataType:"source",tile:t,coord:t.tileID,sourceCacheId:this.id}))}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(i)>1&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,n),t.neighboringTiles&&t.neighboringTiles[o]&&(t.neighboringTiles[o].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,n){for(const r in this._tiles){let o=this._tiles[r];if(n[r]||!o.hasData()||o.tileID.overscaledZ<=e||o.tileID.overscaledZ>i)continue;let s=o.tileID;for(;o&&o.tileID.overscaledZ>e+1;){const t=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[t.key],o&&o.hasData()&&(s=t)}let a=s;for(;a.overscaledZ>e;)if(a=a.scaledTo(a.overscaledZ-1),t[a.key]){n[s.key]=s;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),n=this._getLoadedTile(e);if(n)return n}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(this._source.reparseOverscaled?t.wrapped().key:t.canonical.key)}updateCacheSize(t,e){e=e||this._source.tileSize;const i=Math.ceil(t.width/e)+1,n=Math.ceil(t.height/e)+1,r=Math.floor(i*n*5),o="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,r):r,s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(s)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const n=this._tiles[i];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),t[n.tileID.key]=n}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t])}}update(t,e,i){if(this.transform=t,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!i)return;let n;this.updateCacheSize(t,e),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new fh(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:e||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!i,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const r=this._updateRetainedTiles(n);if(nm(this._source.type)&&0!==n.length){const t={},e={},i=Object.keys(r);for(const n of i){const i=r[n],o=this._tiles[n];if(!o||o.fadeEndTime&&o.fadeEndTime<=Ht.now())continue;const s=this.findLoadedParent(i,Math.max(i.overscaledZ-em.maxOverzooming,this._source.minzoom));s&&(this._addTile(s.tileID),t[s.tileID.key]=s.tileID),e[n]=i}const o=n[n.length-1].overscaledZ;for(const t in this._tiles){const i=this._tiles[t];if(r[t]||!i.hasData())continue;let n=i.tileID;for(;n.overscaledZ>o;){n=n.scaledTo(n.overscaledZ-1);const o=this._tiles[n.key];if(o&&o.hasData()&&e[n.key]){r[t]=i.tileID;break}}}for(const e in t)r[e]||(this._coveredTiles[e]=!0,r[e]=t[e])}for(const t in r)this._tiles[t].clearFadeHold();const o=function(t,e){const i=[];for(const n in t)n in e||i.push(n);return i}(this._tiles,r);for(const t of o){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(+t)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(+t)}_updateRetainedTiles(t){const e={};if(0===t.length)return e;const i={},n=t.reduce(((t,e)=>Math.min(t,e.overscaledZ)),1/0),r=t[0].overscaledZ,o=Math.max(r-em.maxOverzooming,this._source.minzoom),s=Math.max(r+em.maxUnderzooming,this._source.minzoom),a={};for(const i of t){const t=this._addTile(i);e[i.key]=i,t.hasData()||n=this._source.maxzoom){const t=n.children(this._source.maxzoom)[0],i=this.getTile(t);if(i&&i.hasData()){e[t.key]=t;continue}}else{const t=n.children(this._source.maxzoom);if(e[t[0].key]&&e[t[1].key]&&e[t[2].key]&&e[t[3].key])continue}let r=t.wasRequested();for(let s=n.overscaledZ-1;s>=o;--s){const o=n.scaledTo(s);if(i[o.key])break;if(i[o.key]=!0,t=this.getTile(o),!t&&r&&(t=this._addTile(o)),t&&(e[o.key]=o,r=t.wasRequested(),t.hasData()))break}}return e}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){i=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;n=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(t){let e=this._tiles[t.key];if(e)return e;e=this._cache.getAndRemove(t),e&&(this._setTileReloadTimer(t.key,e),e.tileID=t,this._state.initializeTileState(e,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e)));const i=Boolean(e);if(!i){const i=this.map?this.map.painter:null;e=new zf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,i,this._isRaster),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))}return e?(e.uses++,this._tiles[t.key]=e,i||this._source.fire(new Jt("dataloading",{tile:e,coord:e.tileID,dataType:"source"})),e):null}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(+t);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id)}tilesIn(t,e,i){const n=[],r=this.transform;if(!r)return n;const o="globe"===r.projection.name,s=ql(r.center.lng);for(const a in this._tiles){const l=this._tiles[a];if(i&&l.clearQueryDebugViz(),l.holdingForFade())continue;let c;if(o){const t=l.tileID.canonical;if(0===t.z){const e=[Math.abs(S(s,...rm(t,-1))-s),Math.abs(S(s,...rm(t,1))-s)];c=[0,2*e.indexOf(Math.min(...e))-1]}else{const e=[Math.abs(S(s,...rm(t,-1))-s),Math.abs(S(s,...rm(t,0))-s),Math.abs(S(s,...rm(t,1))-s)];c=[e.indexOf(Math.min(...e))-1]}}else c=[0];for(const i of c){const o=t.containsTile(l,r,e,i);o&&n.push(o)}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.projMatrix=this.transform.calculateProjMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(nm(this._source.type))for(const t in this._tiles){const e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=Ht.now())return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const n=this._tiles[t];n&&n.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(+i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}_preloadTiles(t,e){if(!this._sourceLoaded){const i=()=>{this._sourceLoaded&&(this._source.off("data",i),this._preloadTiles(t,e))};return void this._source.on("data",i)}const i=new Map,n=Array.isArray(t)?t:[t],r=this.map.painter.terrain,o=this.usedForTerrain&&r?r.getScaledDemTileSize():this._source.tileSize;for(const t of n){const e=t.coveringTiles({tileSize:o,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const t of e)i.set(t.key,t);this.usedForTerrain&&t.updateElevation(!1)}P(Array.from(i.values()),((t,e)=>{const i=new zf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(i,(t=>{"raster-dem"===this._source.type&&i.dem&&this._backfillDEM(i),e(t,i)}))}),e)}}function im(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function nm(t){return"raster"===t||"image"===t||"video"===t||"custom"===t}function rm(t,e){const i=1<=0&&n[3]>=0&&a.insert(s,n[0],n[1],n[2],n[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new $u(new gp(this.rawTileData)).layers,this.sourceLayerCoder=new bf(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const t in this.vtLayers)this.vtFeatures[t]=[]}return this.vtLayers}query(t,e,i,n){this.loadVTLayers();const r=t.params||{},o=pr(r.filter),s=t.tileResult,a=t.transform,l=s.bufferedTilespaceBounds,c=this.grid.query(l.min.x,l.min.y,l.max.x,l.max.y,((t,e,i,n)=>bc(s.bufferedTilespaceGeometry,t,e,i,n)));c.sort(lm);let u=null;a.elevation&&c.length>0&&(u=om.create(a.elevation,this.tileID));const h={};let p;for(let a=0;a(f||(f=sc(e,this.tileID.canonical,t.tileTransform)),i.queryIntersectsFeature(s,e,n,f,this.z,t.transform,t.pixelPosMatrix,u,r))))}return h}loadMatchingFeature(t,e,i,n,r,o,s,a,l){const{featureIndex:c,bucketIndex:u,sourceLayerIndex:h,layoutVertexArrayOffset:p}=e,d=this.bucketLayerIDs[u];if(n&&!function(t,e){for(let i=0;i=0)return!0;return!1}(n,d))return;const f=this.sourceLayerCoder.decode(h),m=this.vtLayers[f].feature(c);if(i.needGeometry){const t=ac(m,!0);if(!i.filter(new Ao(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Ao(this.tileID.overscaledZ),m))return;const g=this.getId(m,f);for(let e=0;e{const s=e instanceof Po?e.get(o):null;return s&&s.evaluate?s.evaluate(i,n,r):s}))}function lm(t,e){return e-t}Yr(sm,"FeatureIndex",{omit:["rawTileData","sourceLayerCoder"]});class cm{constructor(t,e){this.width=t,this.height=e,this.nextRow=0,this.image=new Nc({width:t,height:e}),this.positions={},this.uploaded=!1}getDash(t,e){const i=this.getKey(t,e);return this.positions[i]}trim(){const t=this.width,e=this.height=B(this.nextRow);this.image.resize({width:t,height:e})}getKey(t,e){return t.join(",")+e}getDashRanges(t,e,i){const n=[];let r=t.length%2==1?-t[t.length-1]*i:0,o=t[0]*i,s=!0;n.push({left:r,right:o,isDash:s,zeroLength:0===t[0]});let a=t[0];for(let e=1;e1&&(s=t[++o]);const l=Math.abs(a-s.left),c=Math.abs(a-s.right),u=Math.min(l,c);let h;const p=e/i*(n+1);if(s.isDash){const t=n-Math.abs(p);h=Math.sqrt(u*u+t*t)}else h=n-Math.sqrt(u*u+p*p);this.image.data[r+a]=Math.max(0,Math.min(255,h+128))}}}addRegularDash(t,e){for(let e=t.length-1;e>=0;--e){const i=t[e],n=t[e+1];i.zeroLength?t.splice(e,1):n&&n.isDash===i.isDash&&(n.left=i.left,t.splice(e,1))}const i=t[0],n=t[t.length-1];i.isDash===n.isDash&&(i.left=n.left-this.width,n.right=i.right+this.width);const r=this.width*this.nextRow;let o=0,s=t[o];for(let i=0;i1&&(s=t[++o]);const n=Math.abs(i-s.left),a=Math.abs(i-s.right),l=Math.min(n,a);this.image.data[r+i]=Math.max(0,Math.min(255,(s.isDash?l:-l)+e+128))}}addDash(t,e){const i=this.getKey(t,e);if(this.positions[i])return this.positions[i];const n="round"===e,r=n?7:0,o=2*r+1;if(this.nextRow+o>this.height)return Z("LineAtlas out of space"),null;0===t.length&&t.push(1);let s=0;for(let e=0;e=e.maxzoom||"none"!==e.visibility&&(dm(t,this.zoom,i),(a[e.id]=e.createBucket({index:s.bucketLayerIDs.length,layers:t,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:h,sourceID:this.source,enableTerrain:this.enableTerrain,projection:this.projection.spec,availableImages:i})).populate(p,c,this.tileID.canonical,this.tileTransform),s.bucketLayerIDs.push(t.map((t=>t.id))))}}let h,p,d,f;l.trim();const m={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},g=()=>{if(h)return r(h);if(p&&d&&f){const t=new hm(p),e=new Cp(d,f);for(const n in a){const r=a[n];r instanceof af?(dm(r.layers,this.zoom,i),vd(r,p,t.positions,d,e.iconPositions,this.showCollisionBoxes,i,this.tileID.canonical,this.tileZoom,this.projection)):r.hasPattern&&(r instanceof Th||r instanceof ku||r instanceof th)&&(dm(r.layers,this.zoom,i),r.addFeatures(c,this.tileID.canonical,e.patternPositions,i,this.tileTransform))}this.status="done",r(null,{buckets:L(a).filter((t=>!t.isEmpty())),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,lineAtlas:l,imageAtlas:e,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?d:null,glyphPositions:this.returnDependencies?t.positions:null})}},_=j(c.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(_).length?n.send("getGlyphs",{uid:this.uid,stacks:_},((t,e)=>{h||(h=t,p=e,g())}),void 0,!1,m):p={};const y=Object.keys(c.iconDependencies);y.length?n.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{h||(h=t,d=e,g())}),void 0,!1,m):d={};const v=Object.keys(c.patternDependencies);v.length?n.send("getImages",{icons:v,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{h||(h=t,f=e,g())}),void 0,!1,m):f={},g()}}function dm(t,e,i){const n=new Ao(e);for(const e of t)e.recalculate(n,i)}class fm{constructor(t){this.entries={},this.scheduler=t}request(t,e,i,n){const r=this.entries[t]=this.entries[t]||{callbacks:[]};if(r.result){const[t,i]=r.result;return this.scheduler?this.scheduler.add((()=>{n(t,i)}),e):n(t,i),()=>{}}return r.callbacks.push(n),r.cancel||(r.cancel=i(((i,n)=>{r.result=[i,n];for(const t of r.callbacks)this.scheduler?this.scheduler.add((()=>{t(i,n)}),e):t(i,n);setTimeout((()=>delete this.entries[t]),3e3)}))),()=>{r.result||(r.callbacks=r.callbacks.filter((t=>t!==n)),r.callbacks.length||(r.cancel(),delete this.entries[t]))}}}function mm(t,e,i){const n=JSON.stringify(t.request);return t.data&&(this.deduped.entries[n]={result:[null,t.data]}),this.deduped.request(n,{type:"parseTile",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom},(e=>{const n=dt(t.request,((t,n,r,o)=>{t?e(t):n&&e(null,{vectorTile:i?void 0:new $u(new gp(n)),rawData:n,cacheControl:r,expires:o})}));return()=>{n.cancel(),e()}}),e)}const gm=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class _m{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[e,i]=new Uint8Array(t,0,2);if(219!==e)throw new Error("Data does not appear to be in a KDBush format.");const n=i>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const r=gm[15&i];if(!r)throw new Error("Unrecognized array type.");const[o]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new _m(s,o,r,t)}constructor(t,e=64,i=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const r=gm.indexOf(this.ArrayType),o=2*t*this.ArrayType.BYTES_PER_ELEMENT,s=t*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-s%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+a,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+o+s+a),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+a,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+r]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=e,i}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return ym(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,i,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:o,nodeSize:s}=this,a=[0,r.length-1,0],l=[];for(;a.length;){const c=a.pop()||0,u=a.pop()||0,h=a.pop()||0;if(u-h<=s){for(let s=h;s<=u;s++){const a=o[2*s],c=o[2*s+1];a>=t&&a<=i&&c>=e&&c<=n&&l.push(r[s])}continue}const p=h+u>>1,d=o[2*p],f=o[2*p+1];d>=t&&d<=i&&f>=e&&f<=n&&l.push(r[p]),(0===c?t<=d:e<=f)&&(a.push(h),a.push(p-1),a.push(1-c)),(0===c?i>=d:n>=f)&&(a.push(p+1),a.push(u),a.push(1-c))}return l}within(t,e,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:r,nodeSize:o}=this,s=[0,n.length-1,0],a=[],l=i*i;for(;s.length;){const c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let i=h;i<=u;i++)wm(r[2*i],r[2*i+1],t,e)<=l&&a.push(n[i]);continue}const p=h+u>>1,d=r[2*p],f=r[2*p+1];wm(d,f,t,e)<=l&&a.push(n[p]),(0===c?t-i<=d:e-i<=f)&&(s.push(h),s.push(p-1),s.push(1-c)),(0===c?t+i>=d:e+i>=f)&&(s.push(p+1),s.push(u),s.push(1-c))}return a}}function ym(t,e,i,n,r,o){if(r-n<=i)return;const s=n+r>>1;vm(t,e,s,n,r,o),ym(t,e,i,n,s-1,1-o),ym(t,e,i,s+1,r,1-o)}function vm(t,e,i,n,r,o){for(;r>n;){if(r-n>600){const s=r-n+1,a=i-n+1,l=Math.log(s),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);vm(t,e,i,Math.max(n,Math.floor(i-a*c/s+u)),Math.min(r,Math.floor(i+(s-a)*c/s+u)),o)}const s=e[2*i+o];let a=n,l=r;for(xm(t,e,n,i),e[2*r+o]>s&&xm(t,e,n,r);as;)l--}e[2*n+o]===s?xm(t,e,n,l):(l++,xm(t,e,l,r)),l<=i&&(n=l+1),i<=l&&(r=l-1)}}function xm(t,e,i,n){bm(t,i,n),bm(e,2*i,2*n),bm(e,2*i+1,2*n+1)}function bm(t,e,i){const n=t[e];t[e]=t[i],t[i]=n}function wm(t,e,i,n){const r=t-i,o=e-n;return r*r+o*o}t.ARRAY_TYPE=ua,t.AUTH_ERR_MSG=vt,t.Aabb=rl,t.Actor=class{constructor(t,i,n){this.target=t,this.parent=i,this.mapId=n,this.callbacks={},this.cancelCallbacks={},F(["receive"],this),this.target.addEventListener("message",this.receive,!1),this.globalScope=W()?t:e,this.scheduler=new xf}send(t,e,i,n,r=!1,o){const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(i.metadata=o,this.callbacks[s]=i);const a=K(this.globalScope)?void 0:[];return this.target.postMessage({id:s,type:t,hasCallback:!!i,targetMapId:n,mustQueue:r,sourceMapId:this.mapId,data:Qr(e,a)},a),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:n,sourceMapId:this.mapId})}}}receive(t){const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t.cancel()}else if(e.mustQueue||W()){const t=this.callbacks[i];this.cancelCallbacks[i]=this.scheduler.add((()=>this.processTask(i,e)),t&&t.metadata||{type:"message"})}else this.processTask(i,e)}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(to(e.error)):i(null,to(e.data)))}else{const i=K(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?Qr(e):null,data:Qr(n,i)},i)}:t=>{},r=to(e.data);if(this.parent[e.type])this.parent[e.type](e.sourceMapId,r,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");this.parent.getWorkerSource(e.sourceMapId,t[0],r.source)[t[1]](r,n)}else n(new Error(`Could not find function ${e.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.CanonicalTileID=ph,t.Color=Le,t.ColorMode=Kf,t.CullFaceMode=tm,t.DEMData=$f,t.DataConstantProperty=Lo,t.DedupedRequest=fm,t.DepthMode=Wf,t.EXTENT=aa,t.Elevation=class{isDataAvailableAtPoint(t){const e=this._source();if(this.isUsingMockSource()||!e||t.y<0||t.y>1)return!1;const i=e.getSource().maxzoom,n=1<1)return e;const r=n.getSource().maxzoom,o=1<{const o=this.getAtTileOffset(t,r.x,r.y),s=n.upVector(t.canonical,r.x,r.y);return La(s,s,o*n.upVectorScale(t.canonical,e,i).metersToTile),s}}getForTilePoints(t,e,i,n){if(this.isUsingMockSource())return!1;const r=om.create(this,t,n);return!!r&&(e.forEach((t=>{t[2]=this.exaggeration()*r.getElevationAt(t[0],t[1],i)})),!0)}getMinMaxForTile(t){if(this.isUsingMockSource())return null;const e=this.findDEMTileFor(t);if(!e||!e.dem)return null;const i=e.dem.tree,n=e.tileID,r=1<{let n=t===o-1?t-2:0===t?t:t-1;return n+=i?24575:0,[n,e]};for(let t=0;tthis._skuTokenExpiresAt}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}normalizeStyleURL(t,e){if(!xt(t))return t;const i=Tt(t);return i.path=`/styles/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||e)}normalizeGlyphsURL(t,e){if(!xt(t))return t;const i=Tt(t);return i.path=`/fonts/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||e)}normalizeSourceURL(t,e,i,n){if(!xt(t))return t;const r=Tt(t);return r.path=`/v4/${r.authority}.json`,r.params.push("secure"),i&&r.params.push(`language=${i}`),n&&r.params.push(`worldview=${n}`),this._makeAPIURL(r,this._customAccessToken||e)}normalizeSpriteURL(t,e,i,n){const r=Tt(t);return xt(t)?(r.path=`/styles/v1${r.path}/sprite${e}${i}`,this._makeAPIURL(r,this._customAccessToken||n)):(r.path+=`${e}${i}`,kt(r))}normalizeTileURL(t,e,i){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!xt(t))return t;const n=Tt(t);n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${e||i&&"raster"!==n.authority&&512===i?"@2x":""}${s.supported?".webp":"$1"}`),"raster"===n.authority?n.path=`/${o.RASTER_URL_PREFIX}${n.path}`:(n.path=n.path.replace(/^.+\/v4\//,"/"),n.path=`/${o.TILE_URL_VERSION}${n.path}`);const r=this._customAccessToken||function(t){for(const e of t){const t=e.match(/^access_token=(.*)$/);if(t)return t[1]}return null}(n.params)||o.ACCESS_TOKEN;return o.REQUIRE_ACCESS_TOKEN&&r&&this._skuToken&&n.params.push(`sku=${this._skuToken}`),this._makeAPIURL(n,r)}canonicalizeTileURL(t,e){const i=Tt(t);if(!i.path.match(/^(\/v4\/|\/raster\/v1\/)/)||!i.path.match(/\.[\w]+$/))return t;let n="mapbox://";i.path.match(/^\/raster\/v1\//)?n+=`raster/${i.path.replace(`/${o.RASTER_URL_PREFIX}/`,"")}`:n+=`tiles/${i.path.replace(`/${o.TILE_URL_VERSION}/`,"")}`;let r=i.params;return e&&(r=r.filter((t=>!t.match(/^access_token=/)))),r.length&&(n+=`?${r.join("&")}`),n}canonicalizeTileset(t,e){const i=!!e&&xt(e),n=[];for(const e of t.tiles||[])bt(e)?n.push(this.canonicalizeTileURL(e,i)):n.push(e);return n}_makeAPIURL(t,e){const i="See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes",n=Tt(o.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"http"===t.protocol){const e=t.params.indexOf("secure");e>=0&&t.params.splice(e,1)}if("/"!==n.path&&(t.path=`${n.path}${t.path}`),!o.REQUIRE_ACCESS_TOKEN)return kt(t);if(e=e||o.ACCESS_TOKEN,!this._silenceAuthErrors){if(!e)throw new Error(`An API access token is required to use Mapbox GL. ${i}`);if("s"===e[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${i}`)}return t.params=t.params.filter((t=>-1===t.indexOf("access_token"))),t.params.push(`access_token=${e||""}`),kt(t)}},t.ResourceType=ct,t.SegmentVector=sa,t.SourceCache=em,t.StencilMode=Yf,t.StructArrayLayout1ui2=hs,t.StructArrayLayout2f1f2i16=es,t.StructArrayLayout2i4=Vo,t.StructArrayLayout2ui4=us,t.StructArrayLayout3f12=ns,t.StructArrayLayout3ui6=rs,t.StructArrayLayout4i8=qo,t.StructArrayLayout5f20=ls,t.Texture=yf,t.Tile=zf,t.Transitionable=To,t.Uniform1f=Bs,t.Uniform1i=class extends Os{constructor(t){super(t),this.current=0}set(t,e,i){this.fetchUniformLocation(t,e)&&this.current!==i&&(this.current=i,this.gl.uniform1i(this.location,i))}},t.Uniform2f=class extends Os{constructor(t){super(t),this.current=[0,0]}set(t,e,i){this.fetchUniformLocation(t,e)&&(i[0]===this.current[0]&&i[1]===this.current[1]||(this.current=i,this.gl.uniform2f(this.location,i[0],i[1])))}},t.Uniform3f=class extends Os{constructor(t){super(t),this.current=[0,0,0]}set(t,e,i){this.fetchUniformLocation(t,e)&&(i[0]===this.current[0]&&i[1]===this.current[1]&&i[2]===this.current[2]||(this.current=i,this.gl.uniform3f(this.location,i[0],i[1],i[2])))}},t.Uniform4f=Ns,t.UniformColor=Fs,t.UniformMatrix2f=class extends Os{constructor(t){super(t),this.current=Vs}set(t,e,i){if(this.fetchUniformLocation(t,e))for(let t=0;t<4;t++)if(i[t]!==this.current[t]){this.current=i,this.gl.uniformMatrix2fv(this.location,!1,i);break}}},t.UniformMatrix3f=class extends Os{constructor(t){super(t),this.current=js}set(t,e,i){if(this.fetchUniformLocation(t,e))for(let t=0;t<9;t++)if(i[t]!==this.current[t]){this.current=i,this.gl.uniformMatrix3fv(this.location,!1,i);break}}},t.UniformMatrix4f=class extends Os{constructor(t){super(t),this.current=Us}set(t,e,i){if(this.fetchUniformLocation(t,e)){if(i[12]!==this.current[12]||i[0]!==this.current[0])return this.current=i,void this.gl.uniformMatrix4fv(this.location,!1,i);for(let t=1;t<16;t++)if(i[t]!==this.current[t]){this.current=i,this.gl.uniformMatrix4fv(this.location,!1,i);break}}}},t.UnwrappedTileID=dh,t.ValidationError=nr,t.VectorTileFeature=Xu,t.VectorTileWorkerSource=class extends te{constructor(t,e,i,n,r){super(),this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||mm,this.loading={},this.loaded={},this.deduped=new fm(t.scheduler),this.isSpriteLoaded=n,this.scheduler=t.scheduler}loadTile(t,e){const i=t.uid,n=t&&t.request,r=n&&n.collectResourceTiming,o=this.loading[i]=new pm(t);o.abort=this.loadVectorData(t,((s,a)=>{const l=!this.loading[i];if(delete this.loading[i],l||s||!a)return o.status="done",l||(this.loaded[i]=o),e(s);const c=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl),o.vectorTile=a.vectorTile||new $u(new gp(c));const h=()=>{o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,i)=>{if(t||!i)return e(t);const o={};if(r){const t=qt(n);t.length>0&&(o.resourceTiming=JSON.parse(JSON.stringify(t)))}e(null,z({rawTileData:c.slice(0)},i,u,o))}))};this.isSpriteLoaded?h():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(h,{type:"parseTile",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom}):h()})),this.loaded=this.loaded||{},this.loaded[i]=o}))}reloadTile(t,e){const i=this.loaded,n=t.uid,r=this;if(i&&i[n]){const o=i[n];o.showCollisionBoxes=t.showCollisionBoxes,o.enableTerrain=!!t.enableTerrain,o.projection=t.projection,o.tileTransform=Md(t.tileID.canonical,t.projection);const s=(t,i)=>{const n=o.reloadCallback;n&&(delete o.reloadCallback,o.parse(o.vectorTile,r.layerIndex,this.availableImages,r.actor,n)),e(t,i)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}}abortTile(t,e){const i=t.uid,n=this.loading[i];n&&(n.abort&&n.abort(),delete this.loading[i]),e()}removeTile(t,e){const i=this.loaded,n=t.uid;i&&i[n]&&delete i[n],e()}},t.WritingMode=Tp,t.ZoomDependentExpression=Qn,t.add=ka,t.addDynamicAttributes=nf,t.adjoint=function(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t[0]=s*u-a*c,t[1]=r*c-n*u,t[2]=n*a-r*s,t[3]=a*l-o*u,t[4]=i*u-r*l,t[5]=r*o-i*a,t[6]=o*c-s*l,t[7]=n*l-i*c,t[8]=i*s-n*o,t},t.asyncAll=P,t.bezier=T,t.bindAll=F,t.boundsAttributes=Pf,t.bufferConvexPolygon=function(t,e){const i=[];for(let n=0;nrt&&(t.getActor().send("enforceCacheSizeLimit",nt),lt=0)},t.calculateGlobeLabelMatrix=function(t,e){const{x:i,y:n}=t.point,r=Ll(i,n,t.worldSize/t._pixelsPerMercatorPixel,0,0);return ma(r,r,Pl(yl(e)))},t.calculateGlobeMatrix=function(t){const{x:e,y:i}=t.point,{lng:n,lat:r}=t._center;return Ll(e,i,t.worldSize,n,r)},t.calculateGlobeMercatorMatrix=function(t){const e=t.pixelsPerMeter,i=e/$l(1,t.center.lat),n=da(new Float64Array(16));return ga(n,n,[t.point.x,t.point.y,0]),_a(n,n,[i,i,e]),Float32Array.from(n)},t.circumferenceAtLatitude=Gl,t.clamp=S,t.clearTileCache=function(t){if(!ot())return;const i=e.caches.delete(tt);t&&i.catch(t).then((()=>t()))},t.clipLine=Yp,t.clone=function(t){var e=new ua(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=G,t.collisionCircleLayout=Bh,t.config=o,t.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},t.create=function(){var t=new ua(16);return ua!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=ha,t.createExpression=Kn,t.createLayout=Uo,t.createStyleLayer=function(t){return"custom"===t.type?new ff(t):new _f[t.type](t)},t.cross=Oa,t.degToRad=w,t.distance=function(t,e){return Math.hypot(e[0]-t[0],e[1]-t[1],e[2]-t[2])},t.div=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t[2]=e[2]/i[2],t},t.dot=Ra,t.earthRadius=Fl,t.ease=k,t.easeCubicInOut=C,t.ecefToLatLng=function([t,e,i]){const n=Math.hypot(t,e,i),r=Math.atan2(t,i),o=.5*Math.PI-Math.acos(-e/n);return new Vl(A(r),A(o))},t.emitValidationErrors=qr,t.endsWith=U,t.enforceCacheSizeLimit=function(t){st(),et&&et.then((e=>{e.keys().then((i=>{for(let n=0;no&&(n+=(t[r]-o)*(t[r]-o)),e[r]0){const t=180/n;pa(d,d,[t/c+1,0,0,0,t/u+1,0,-.5*t/h,.5*t/p,1])}return d[2]=l,d[5]=t.x,d[8]=t.y,d},t.getImage=yt,t.getJSON=function(t,e){return pt(z(t,{type:"json"}),e)},t.getLatitudinalLod=function(t){const e=Yl-5;t=S(t,-e,e)/e*90;const i=Math.pow(Math.abs(Math.sin(w(t))),3);return Math.round(i*(ul.length-1))},t.getMapSessionAPI=Nt,t.getPerformanceMeasurement=qt,t.getProjection=Kd,t.getRTLTextPluginStatus=xo,t.getReferrer=ht,t.getTilePoint=function(t,{x:e,y:i},n=0){return new v(((e-n)*t.scale-t.x)*aa,(i*t.scale-t.y)*aa)},t.getTileVec3=function(t,e,i=0){return Ta(((e.x-i)*t.scale-t.x)*aa,(e.y*t.scale-t.y)*aa,Hl(e.z,e.y))},t.getVideo=function(t,i){const n=e.document.createElement("video");n.muted=!0,n.onloadstart=function(){i(null,n)};for(let i=0;i{}}},t.globeCenterToScreenPoint=function(t){const e=[0,0,0],i=da(new Float64Array(16));return ma(i,t.pixelMatrix,t.globeMatrix),Ba(e,e,i),new v(e[0],e[1])},t.globeDenormalizeECEF=Pl,t.globeECEFOrigin=function(t,e){const i=[0,0,0];return Ba(i,i,Ml(yl(e.canonical))),Ba(i,i,t),i},t.globeMetersToEcef=fl,t.globeNormalizeECEF=Ml,t.globePixelsToTileUnits=function(t,e){return aa/(512*Math.pow(2,t))*Sl(yl(e))},t.globePoleMatrixForTile=function(t,e,i){const n=da(new Float64Array(16)),r=(e/(1<0;return 0===n&&!r&&!s&&o},t.identity=da,t.identity$1=Xa,t.invert=fa,t.isFullscreen=function(){return!!e.document.fullscreenElement||!!e.document.webkitFullscreenElement},t.isLngLatBehindGlobe=Rl,t.isMapAuthenticated=function(t){return Ft.has(t)},t.isMapboxURL=xt,t.isSafariWithAntialiasingBug=function(t){const e=t.navigator?t.navigator.userAgent:null;return!!K(t)&&e&&(e.match("Version/15.4")||e.match("Version/15.5")||e.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},t.latFromMercatorY=Wl,t.latLngToECEF=Tl,t.len=Va,t.length=Ca,t.length$1=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},t.lngFromMercatorX=Xl,t.loadVectorTile=mm,t.makeRequest=pt,t.mapValue=function(t,e,i,n,r){return S((t-e)/(i-e)*(r-n)+n,n,r)},t.mercatorScale=Kl,t.mercatorXfromLng=ql,t.mercatorYfromLat=Zl,t.mercatorZfromAltitude=$l,t.mul=wa,t.mul$1=ja,t.multiply=ma,t.multiply$1=pa,t.multiply$2=Ia,t.nextPowerOfTwo=B,t.normalize=Da,t.normalize$1=Ya,t.normalize$2=qa,t.number=Li,t.ortho=function(t,e,i,n,r,o,s){var a=1/(e-i),l=1/(n-r),c=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(r+n)*l,t[14]=(s+o)*c,t[15]=1,t},t.pbf=Wh,t.perspective=function(t,e,i,n,r){var o,s=1/Math.tan(e/2);return t[0]=s/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+n)*(o=1/(n-r)),t[14]=2*r*n*o):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){const i={};for(let n=0;n0&&i[0]<=t.width&&i[1]>0&&i[1]<=t.height&&!Rl(t,new Vl(t.center.lat,90)),n[0]>0&&n[0]<=t.width&&n[1]>0&&n[1]<=t.height&&!Rl(t,new Vl(t.center.lat,-90))]},t.polygonContainsPoint=xc,t.polygonIntersectsBox=bc,t.polygonIntersectsPolygon=hc,t.polygonizeBounds=function(t,e,i=0,n=!0){const r=new v(i,i),o=t.sub(r),s=e.add(r),a=[o,new v(s.x,o.y),s,new v(o.x,s.y)];return n&&a.push(o.clone()),a},t.posAttributes=tl,t.postMapLoadEvent=Dt,t.postPerformanceEvent=Ot,t.postTurnstileEvent=Lt,t.potpack=wp,t.prevPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},t.radToDeg=A,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.registerForPluginStateChange=function(t){return t({pluginStatus:mo,pluginURL:go}),vo.on("pluginStateChange",t),t},t.removeAuthState=function(t){Ft.delete(t)},t.renderColorRamp=jc,t.resample=tc,t.rotateX=ya,t.rotateX$1=Wa,t.rotateY=va,t.rotateY$1=Ha,t.rotateZ=function(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r+c*n,t[1]=s*r+u*n,t[2]=a*r+h*n,t[3]=l*r+p*n,t[4]=c*r-o*n,t[5]=u*r-s*n,t[6]=h*r-a*n,t[7]=p*r-l*n,t},t.rotateZ$1=function(t,e,i){i*=.5;var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);return t[0]=n*l+r*a,t[1]=r*l-n*a,t[2]=o*l+s*a,t[3]=s*l-o*a,t},t.scale=_a,t.scale$1=Ga,t.scale$2=La,t.scaleAndAdd=za,t.set=function(t,e,i,n){return t[0]=e,t[1]=i,t[2]=n,t},t.setCacheLimits=function(t,e){nt=t,rt=e},t.setColumn=function(t,e,i){t[4*e+0]=i[0],t[4*e+1]=i[1],t[4*e+2]=i[2],t[4*e+3]=i[3]},t.setRTLTextPlugin=function(t,e,i=!1){if(mo===uo||mo===ho||mo===po)throw new Error("setRTLTextPlugin cannot be called multiple times.");go=Ht.resolveURL(t),mo=uo,fo=e,yo(),i||bo()},t.smoothstep=I,t.spec=ee,t.squaredLength=function(t){var e=t[0],i=t[1],n=t[2];return e*e+i*i+n*n},t.storeAuthState=function(t,e){e?Ft.add(t):Ft.delete(t)},t.sub=Ua,t.subtract=Sa,t.symbolSize=Gh,t.tileAABB=function(t,e,i,n,r,o,s,a,l){if("globe"===l.name)return wl(t,e,new ph(i,n,r));const c=Md({z:i,x:n,y:r},l);return new rl([(o+c.x/c.scale)*e,e*(c.y/c.scale),s],[(o+c.x2/c.scale)*e,e*(c.y2/c.scale),a])},t.tileCornersToBounds=Al,t.tileTransform=Md,t.transformMat3=function(t,e,i){var n=e[0],r=e[1],o=e[2];return t[0]=n*i[0]+r*i[3]+o*i[6],t[1]=n*i[1]+r*i[4]+o*i[7],t[2]=n*i[2]+r*i[5]+o*i[8],t},t.transformMat4=Ba,t.transformMat4$1=Za,t.transformQuat=Na,t.transitionTileAABBinECEF=xl,t.translate=ga,t.transpose=function(t,e){if(t===e){var i=e[1],n=e[2],r=e[5];t[1]=e[3],t[2]=e[6],t[3]=i,t[5]=e[7],t[6]=n,t[7]=r}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},t.triggerPluginCompletionEvent=_o,t.uniqueId=R,t.updateGlobeVertexNormal=function(t,e,i,n,r){const o=5*e+2;t.float32[o+0]=i,t.float32[o+1]=n,t.float32[o+2]=r},t.validateCustomStyleLayer=function(t){const e=[],i=t.id;return void 0===i&&e.push({message:`layers.${i}: missing required property "id"`}),void 0===t.render&&e.push({message:`layers.${i}: missing required method "render"`}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:`layers.${i}: property "renderingMode" must be either "2d" or "3d"`}),e},t.validateFilter=t=>Gr(Er(t)),t.validateFog=t=>Gr(Or(t)),t.validateLayer=t=>Gr(Ir(t)),t.validateLight=t=>Gr(Dr(t)),t.validateSource=t=>Gr(Lr(t)),t.validateStyle=Ur,t.validateTerrain=t=>Gr(Rr(t)),t.values=L,t.vectorTile=Du,t.version=i,t.warnOnce=Z,t.window=e,t.wrap=M})),r(["./shared"],(function(t){function e(t){if("number"==typeof t||"boolean"==typeof t||"string"==typeof t||null==t)return JSON.stringify(t);if(Array.isArray(t)){let i="[";for(const n of t)i+=`${e(n)},`;return`${i}]`}let i="{";for(const n of Object.keys(t).sort())i+=`${n}:${e(t[n])},`;return`${i}}`}function i(i){let n="";for(const r of t.refProperties)n+=`/${e(i[r])}`;return n}class n{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,n){for(const i of e)this._layerConfigs[i.id]=i,(this._layers[i.id]=t.createStyleLayer(i)).compileFilter(),this.keyCache[i.id]&&delete this.keyCache[i.id];for(const t of n)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const r=function(t,e){const n={};for(let r=0;rthis._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const n=i.source||"";let r=this.familiesBySource[n];r||(r=this.familiesBySource[n]={});const o=i.sourceLayer||"_geojsonTileLayer";let s=r[o];s||(s=r[o]=[]),s.push(e)}}}class r{loadTile(e,i){const{uid:n,encoding:r,rawImageData:o,padding:s,buildQuadTree:a}=e,l=t.window.ImageBitmap&&o instanceof t.window.ImageBitmap?this.getImageData(o,s):o;i(null,new t.DEMData(n,l,r,s<1,a))}getImageData(t,e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);const i=this.offscreenCanvasContext.getImageData(-e,-e,t.width+2*e,t.height+2*e);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),i}}function o(t,e){if(0!==t.length){s(t[0],e);for(var i=1;i=Math.abs(a)?i-l+a:a-l+i,i=l}i+n>=0!=!!e&&t.reverse()}var a=t.getDefaultExportFromCjs((function t(e,i){var n,r=e&&e.type;if("FeatureCollection"===r)for(n=0;n>31}function A(t,e){for(var i=t.loadGeometry(),n=t.type,r=0,o=0,s=i.length,a=0;at},k=Math.fround||(S=new Float32Array(1),t=>(S[0]=+t,S[0]));var S;const I=3,M=5,P=6;class L{constructor(t){this.options=Object.assign(Object.create(T),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:i,maxZoom:n}=this.options;e&&console.time("total time");const r=`prepare ${t.length} points`;e&&console.time(r),this.points=t;const o=[];for(let e=0;e=i;t--){const i=+Date.now();s=this.trees[t]=this._createTree(this._cluster(s,t)),e&&console.log("z%d: %d clusters in %dms",t,s.numItems,+Date.now()-i)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let r=180===t[2]?180:((t[2]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,r=180;else if(i>r){const t=this.getClusters([i,n,180,o],e),s=this.getClusters([-180,n,r,o],e);return t.concat(s)}const s=this.trees[this._limitZoom(e)],a=s.range(R(i),O(o),R(r),O(n)),l=s.data,c=[];for(const t of a){const e=this.stride*t;c.push(l[e+M]>1?z(l,e,this.clusterProps):this.points[l[e+I]])}return c}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),n="No cluster with the specified id.",r=this.trees[i];if(!r)throw new Error(n);const o=r.data;if(e*this.stride>=o.length)throw new Error(n);const s=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=r.within(o[e*this.stride],o[e*this.stride+1],s),l=[];for(const e of a){const i=e*this.stride;o[i+4]===t&&l.push(o[i+M]>1?z(o,i,this.clusterProps):this.points[o[i+I]])}if(0===l.length)throw new Error(n);return l}getLeaves(t,e,i){const n=[];return this._appendLeaves(n,t,e=e||10,i=i||0,0),n}getTile(t,e,i){const n=this.trees[this._limitZoom(t)],r=Math.pow(2,t),{extent:o,radius:s}=this.options,a=s/o,l=(i-a)/r,c=(i+1+a)/r,u={features:[]};return this._addTileFeatures(n.range((e-a)/r,l,(e+1+a)/r,c),n.data,e,i,r,u),0===e&&this._addTileFeatures(n.range(1-a/r,l,1,c),n.data,r,i,r,u),e===r-1&&this._addTileFeatures(n.range(0,l,a/r,c),n.data,-1,i,r,u),u.features.length?u:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,n,r){const o=this.getChildren(e);for(const e of o){const o=e.properties;if(o&&o.cluster?r+o.point_count<=n?r+=o.point_count:r=this._appendLeaves(t,o.cluster_id,i,n,r):r1;let l,c,u;if(a)l=D(e,t,this.clusterProps),c=e[t],u=e[t+1];else{const i=this.points[e[t+I]];l=i.properties;const[n,r]=i.geometry.coordinates;c=R(n),u=O(r)}const h={type:1,geometry:[[Math.round(this.options.extent*(c*r-i)),Math.round(this.options.extent*(u*r-n))]],tags:l};let p;p=a||this.options.generateId?e[t+I]:this.points[e[t+I]].id,void 0!==p&&(h.id=p),o.features.push(h)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:i,extent:n,reduce:r,minPoints:o}=this.options,s=i/(n*Math.pow(2,e)),a=t.data,l=[],c=this.stride;for(let i=0;ie&&(d+=a[i+M])}if(d>p&&d>=o){let t,o=n*p,s=u*p,f=-1;const m=(i/c<<5)+(e+1)+this.points.length;for(const n of h){const l=n*c;if(a[l+2]<=e)continue;a[l+2]=e;const u=a[l+M];o+=a[l]*u,s+=a[l+1]*u,a[l+4]=m,r&&(t||(t=this._map(a,i,!0),f=this.clusterProps.length,this.clusterProps.push(t)),r(t,this._map(a,l)))}a[i+4]=m,l.push(o/d,s/d,1/0,m,-1,d),r&&l.push(f)}else{for(let t=0;t1)for(const t of h){const i=t*c;if(!(a[i+2]<=e)){a[i+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,i){if(t[e+M]>1){const n=this.clusterProps[t[e+P]];return i?Object.assign({},n):n}const n=this.points[t[e+I]].properties,r=this.options.map(n);return i&&r===n?Object.assign({},r):r}}function z(t,e,i){return{type:"Feature",id:t[e+I],properties:D(t,e,i),geometry:{type:"Point",coordinates:[(n=t[e],360*(n-.5)),B(t[e+1])]}};var n}function D(t,e,i){const n=t[e+M],r=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,o=t[e+P],s=-1===o?{}:Object.assign({},i[o]);return Object.assign(s,{cluster:!0,cluster_id:t[e+I],point_count:n,point_count_abbreviated:r})}function R(t){return t/360+.5}function O(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function B(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function N(t,e,i,n){for(var r,o=n,s=i-e>>1,a=i-e,l=t[e],c=t[e+1],u=t[i],h=t[i+1],p=e+3;po)r=p,o=d;else if(d===o){var f=Math.abs(p-s);fn&&(r-e>3&&N(t,e,r,n),t[r+2]=o,i-r>3&&N(t,r,i,n))}function F(t,e,i,n,r,o){var s=r-i,a=o-n;if(0!==s||0!==a){var l=((t-i)*s+(e-n)*a)/(s*s+a*a);l>1?(i=r,n=o):l>0&&(i+=s*l,n+=a*l)}return(s=t-i)*s+(a=e-n)*a}function U(t,e,i,n){var r={id:void 0===t?null:t,type:e,geometry:i,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)j(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var n=0;n0&&(s+=n?(r*c-l*o)/2:Math.sqrt(Math.pow(l-r,2)+Math.pow(c-o,2))),r=l,o=c}var u=e.length-3;e[2]=1,N(e,0,u,i),e[u+2]=1,e.size=Math.abs(s),e.start=0,e.end=e.size}function Z(t,e,i,n){for(var r=0;r1?1:i}function W(t,e,i,n,r,o,s,a){if(n/=e,o>=(i/=e)&&s=n)return null;for(var l=[],c=0;c=i&&f=n)){var m=[];if("Point"===p||"MultiPoint"===p)H(h,m,i,n,r);else if("LineString"===p)Y(h,m,i,n,r,!1,a.lineMetrics);else if("MultiLineString"===p)J(h,m,i,n,r,!1);else if("Polygon"===p)J(h,m,i,n,r,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&s<=n&&(e.push(t[o]),e.push(t[o+1]),e.push(t[o+2]))}}function Y(t,e,i,n,r,o,s){for(var a,l,c=K(t),u=0===r?tt:et,h=t.start,p=0;pi&&(l=u(c,d,f,g,_,i),s&&(c.start=h+a*l)):y>n?v=i&&(l=u(c,d,f,g,_,i),x=!0),v>n&&y<=n&&(l=u(c,d,f,g,_,n),x=!0),!o&&x&&(s&&(c.end=h+a*l),e.push(c),c=K(t)),s&&(h+=a)}var b=t.length-3;d=t[b],f=t[b+1],m=t[b+2],(y=0===r?d:f)>=i&&y<=n&&Q(c,d,f,m),b=c.length-3,o&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&Q(c,c[0],c[1],c[2]),c.length&&e.push(c)}function K(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function J(t,e,i,n,r,o){for(var s=0;ss.maxX&&(s.maxX=u),h>s.maxY&&(s.maxY=h)}return s}function at(t,e,i,n){var r=e.geometry,o=e.type,s=[];if("Point"===o||"MultiPoint"===o)for(var a=0;a0&&e.size<(r?s:n))i.numPoints+=e.length/3;else{for(var a=[],l=0;ls)&&(i.numSimplified++,a.push(e[l]),a.push(e[l+1])),i.numPoints++;r&&function(t,e){for(var i=0,n=0,r=t.length,o=r-2;n0===e)for(n=0,r=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var n=0;n1&&console.time("creation"),p=this.tiles[h]=st(t,e,i,n,l),this.tileCoords.push({z:e,x:i,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,n,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,r){if(e===l.maxZoom||e===r)continue;var f=1<1&&console.time("clipping");var m,g,_,y,v,x,b=.5*l.buffer/l.extent,w=.5-b,A=.5+b,E=1+b;m=g=_=y=null,v=W(t,u,i-b,i+A,0,p.minX,p.maxX,l),x=W(t,u,i+w,i+E,0,p.minX,p.maxX,l),t=null,v&&(m=W(v,u,n-b,n+A,1,p.minY,p.maxY,l),g=W(v,u,n+w,n+E,1,p.minY,p.maxY,l),v=null),x&&(_=W(x,u,n-b,n+A,1,p.minY,p.maxY,l),y=W(x,u,n+w,n+E,1,p.minY,p.maxY,l),x=null),c>1&&console.timeEnd("clipping"),a.push(m||[],e+1,2*i,2*n),a.push(g||[],e+1,2*i,2*n+1),a.push(_||[],e+1,2*i+1,2*n),a.push(y||[],e+1,2*i+1,2*n+1)}}},ct.prototype.getTile=function(t,e,i){var n=this.options,r=n.extent,o=n.debug;if(t<0||t>24)return null;var s=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,u=e,h=i;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[ut(c,u,h)];return l&&l.source?(o>1&&console.log("found parent tile z%d-%d-%d",c,u,h),o>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?rt(this.tiles[a],r):null):null};class pt extends t.VectorTileWorkerSource{constructor(t,e,i,n,r){super(t,e,i,n,ht),r&&(this.loadGeoJSON=r)}loadData(e,i){const n=e&&e.request,r=n&&n.collectResourceTiming;this.loadGeoJSON(e,((o,s)=>{if(o||!s)return i(o);if("object"!=typeof s)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{a(s,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const n=s.features.filter((t=>i.value.evaluate({zoom:0},t)));s={type:"FeatureCollection",features:n}}this._geoJSONIndex=e.cluster?new L(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const n={},r={},o={accumulated:null,zoom:0},s={properties:null},a=Object.keys(i);for(const e of a){const[o,s]=i[e],a=t.createExpression(s),l=t.createExpression("string"==typeof o?[o,["accumulated"],["get",e]]:o);n[e]=a.value,r[e]=l.value}return e.map=t=>{s.properties=t;const e={};for(const t of a)e[t]=n[t].evaluate(o,s);return e},e.reduce=(t,e)=>{s.properties=e;for(const e of a)o.accumulated=t[e],t[e]=r[e].evaluate(o,s)},e}(e)).load(s.features):function(t,e){return new ct(t,e)}(s,e.geojsonVtOptions)}catch(o){return i(o)}this.loaded={};const l={};if(r){const i=t.getPerformanceMeasurement(n);i&&(l.resourceTiming={},l.resourceTiming[e.source]=JSON.parse(JSON.stringify(i)))}i(null,l)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}loadGeoJSON(e,i){if(e.request)t.getJSON(e.request,i);else{if("string"!=typeof e.data)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));try{return i(null,JSON.parse(e.data))}catch(t){return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class dt{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=t.getProjection({name:"mercator"}),this.workerSourceTypes={vector:t.VectorTileWorkerSource,geojson:pt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}clearCaches(t,e,i){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t],i()}checkIfReady(t,e,i){i()}setReferrer(t,e){this.referrer=e}spriteLoaded(e,i){this.isSpriteLoaded[e]=i;for(const n in this.workerSources[e]){const r=this.workerSources[e][n];for(const e in r)r[e]instanceof t.VectorTileWorkerSource&&(r[e].isSpriteLoaded=i,r[e].fire(new t.Event("isSpriteLoaded")))}}setImages(t,e,i){this.availableImages[t]=e;for(const i in this.workerSources[t]){const n=this.workerSources[t][i];for(const t in n)n[t].availableImages=e}i()}enableTerrain(t,e,i){this.terrain=e,i()}setProjection(e,i){this.projections[e]=t.getProjection(i)}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(e,i,n){const r=this.enableTerrain?t.extend({enableTerrain:this.terrain},i):i;r.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,i.type,i.source).loadTile(r,n)}loadDEMTile(e,i,n){const r=this.enableTerrain?t.extend({buildQuadTree:this.terrain},i):i;this.getDEMWorkerSource(e,i.source).loadTile(r,n)}reloadTile(e,i,n){const r=this.enableTerrain?t.extend({enableTerrain:this.terrain},i):i;r.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,i.type,i.source).reloadTile(r,n)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,n){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();n(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){n(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e}getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const n={send:(e,i,n,r,o,s)=>{this.actor.send(e,i,n,t,o,s)},scheduler:this.actor.scheduler};this.workerSources[t][e][i]=new this.workerSourceTypes[e](n,this.getLayerIndex(t),this.getAvailableImages(t),this.isSpriteLoaded[t])}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new r),this.demWorkerSources[t][e]}enforceCacheSizeLimit(e,i){t.enforceCacheSizeLimit(i)}getWorkerPerformanceMetrics(t,e,i){i(void 0,void 0)}}return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new dt(self)),dt})),r(["./shared"],(function(t){function e(t,i){if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(let n=0;n{t.window.removeEventListener("click",p,!0)}),0)}function f(t,e){const i=t.getBoundingClientRect();return _(t,i,e)}function m(t,e){const i=t.getBoundingClientRect(),n=[];for(let r=0;r=0?0:e.button}function _(e,i,n){const r=e.offsetWidth===i.width?1:e.offsetWidth/i.width;return new t.Point((n.clientX-i.left)*r,(n.clientY-i.top)*r)}function y(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=i*o-r*n;return s?(t[0]=o*(s=1/s),t[1]=-n*s,t[2]=-r*s,t[3]=i*s,t):null}function v(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class x extends t.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,callback:e}of this.requestors)this._notify(t,e);this.requestors=[]}}hasImage(t){return!!this.getImage(t)}getImage(t){return this.images[t]}addImage(t,e){this._validate(t,e)&&(this.images[t]=e)}_validate(e,i){let n=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(t,e){if(!t)return!0;let i=0;for(const n of t){if(n[0]{this.ready=!0}))}broadcast(e,i,n){t.asyncAll(this.actors,((t,n)=>{t.send(e,i,n)}),n=n||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove()})),this.actors=[],this.workerPool.release(this.id)}}function M(e,i,n){return i*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}I.Actor=t.Actor;class P{constructor(t,e,i,n){this.screenBounds=t,this.cameraPoint=e,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,n)}static createFromScreenPoints(e,i){let n,r;if(e instanceof t.Point||"number"==typeof e[0]){const o=t.Point.convert(e);n=[o],r=i.isPointAboveHorizon(o)}else{const o=t.Point.convert(e[0]),s=t.Point.convert(e[1]);n=[o,s],r=t.polygonizeBounds(o,s).every((t=>i.isPointAboveHorizon(t)))}return new P(n,i.getCameraPoint(),r,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(e){return t.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],e)}bufferedCameraGeometry(e){const i=this.screenBounds[0],n=1===this.screenBounds.length?this.screenBounds[0].add(new t.Point(1,1)):this.screenBounds[1],r=t.polygonizeBounds(i,n,0,!1);return this.cameraPoint.y>n.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=n.x?r[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(r[3]=this.cameraPoint)),t.bufferConvexPolygon(r,e)}bufferedCameraGeometryGlobe(e){const i=this.screenBounds[0],n=1===this.screenBounds.length?this.screenBounds[0].add(new t.Point(1,1)):this.screenBounds[1],r=t.polygonizeBounds(i,n,e),o=this.cameraPoint.clone();switch(3*((o.y>i.y)+(o.y>n.y))+((o.x>i.x)+(o.x>n.x))){case 0:r[0]=o,r[4]=o.clone();break;case 1:r.splice(1,0,o);break;case 2:r[1]=o;break;case 3:r.splice(4,0,o);break;case 5:r.splice(2,0,o);break;case 6:r[3]=o;break;case 7:r.splice(3,0,o);break;case 8:r[2]=o}return r}containsTile(e,i,n,r=0){const o=e.queryPadding/i._pixelsPerMercatorPixel+1,s=n?this._bufferedCameraMercator(o,i):this._bufferedScreenMercator(o,i);let a=e.tileID.wrap+(s.unwrapped?r:0);const l=s.polygon.map((i=>t.getTilePoint(e.tileTransform,i,a)));if(!t.polygonIntersectsBox(l,0,0,t.EXTENT,t.EXTENT))return;a=e.tileID.wrap+(this.screenGeometryMercator.unwrapped?r:0);const c=this.screenGeometryMercator.polygon.map((i=>t.getTileVec3(e.tileTransform,i,a))),u=c.map((e=>new t.Point(e[0],e[1]))),h=i.getFreeCameraOptions().position||new t.MercatorCoordinate(0,0,0),p=t.getTileVec3(e.tileTransform,h,a),d=c.map((e=>{const i=t.sub(e,e,p);return t.normalize(i,i),new t.Ray(p,i)})),f=M(e,1,i.zoom)*i._pixelsPerMercatorPixel;return{queryGeometry:this,tilespaceGeometry:u,tilespaceRays:d,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=t.getBounds(l),m.min.x=t.clamp(m.min.x,0,t.EXTENT),m.min.y=t.clamp(m.min.y,0,t.EXTENT),m.max.x=t.clamp(m.max.x,0,t.EXTENT),m.max.y=t.clamp(m.max.y,0,t.EXTENT),m),tile:e,tileID:e.tileID,pixelToTileUnitsFactor:f};var m}_bufferedScreenMercator(t,e){const i=D(t);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let n;return n="globe"===e.projection.name?this._projectAndResample(this.bufferedScreenGeometry(t),e):{polygon:this.bufferedScreenGeometry(t).map((t=>e.pointCoordinate3D(t))),unwrapped:!0},this._screenRaycastCache[i]=n,n}}_bufferedCameraMercator(t,e){const i=D(t);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let n;return n="globe"===e.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(t),e):{polygon:this.bufferedCameraGeometry(t).map((t=>e.pointCoordinate3D(t))),unwrapped:!0},this._cameraRaycastCache[i]=n,n}}_projectAndResample(e,i){const n=function(e,i){const n=t.multiply([],i.pixelMatrix,i.globeMatrix),r=[0,-t.GLOBE_RADIUS,0,1],o=[0,t.GLOBE_RADIUS,0,1],s=[0,0,0,1];t.transformMat4$1(r,r,n),t.transformMat4$1(o,o,n),t.transformMat4$1(s,s,n);const a=new t.Point(r[0]/r[3],r[1]/r[3]),l=new t.Point(o[0]/o[3],o[1]/o[3]),c=t.polygonContainsPoint(e,a)&&r[3]1?L(e.slice(0,p),i):[],m=pnew t.Point(z(e.x),e.y))),m=m.map((e=>new t.Point(z(e.x),e.y)));const g=[...f];0===g.length&&g.push(m[m.length-1]);const _=t.number(g[g.length-1].y,(0===m.length?f[0]:m[0]).y,d);let y;return y=c?[new t.Point(0,_),new t.Point(0,0),new t.Point(1,0),new t.Point(1,_)]:[new t.Point(1,_),new t.Point(1,1),new t.Point(0,1),new t.Point(0,_)],g.push(...y),0===m.length?g.push(f[0]):g.push(...m),{polygon:g.map((e=>new t.MercatorCoordinate(e.x,e.y))),unwrapped:!1}}(e,i);if(n)return n;const r=function(e,i){let n=!1,r=-1/0,o=0;for(let t=0;tr&&(r=e[t].x,o=t);for(let t=0;t.5&&(r.x{t.x-=1})),{polygon:e,unwrapped:n}}(L(e,i).map((e=>new t.Point(z(e.x),e.y))),i);return{polygon:r.polygon.map((e=>new t.MercatorCoordinate(e.x,e.y))),unwrapped:r.unwrapped}}}function L(e,i){return t.resample(e,(t=>{const e=i.pointCoordinate3D(t);t.x=e.x,t.y=e.y}),1/256)}function z(t){return t<0?1+t%1:t%1}function D(t){return 100*t|0}function R(e,i,n,r,o){const s=function(n,r){if(n)return o(n);if(r){e.url&&r.tiles&&e.tiles&&delete e.tiles;const n=t.pick(t.extend(r,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);r.vector_layers&&(n.vectorLayers=r.vector_layers,n.vectorLayerIds=n.vectorLayers.map((t=>t.id))),n.tiles=i.canonicalizeTileset(n,e.url),o(null,n)}};return e.url?t.getJSON(i.transformRequest(i.normalizeSourceURL(e.url,null,n,r),t.ResourceType.Source),s):t.exported.frame((()=>s(null,e)))}class O{constructor(e,i,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=n||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(e){const i=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),o=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),s=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=n&&e.x=r&&e.y{this._tileJSONRequest=null,this._loaded=!0,r?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),n&&2!==n.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${n}`),this.fire(new t.ErrorEvent(r))):o&&(t.extend(this,o),o.bounds&&(this.tileBounds=new O(o.bounds,this.minzoom,this.maxzoom)),t.postTurnstileEvent(o.tiles,this.map._requestManager._customAccessToken),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))),e&&e(r)}))}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(t){return this._options.tiles=t,this.reload(),this}setUrl(t){return this.url=t,this._options.url=t,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return t.extend({},this._options)}loadTile(e,i){const n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),data:void 0,uid:e.uid,tileID:e.tileID,tileZoom:e.tileZoom,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:e.isSymbolTile};if(r.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state)"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",r,o.bind(this));else if(e.actor=this._tileWorkers[n]=this._tileWorkers[n]||this.dispatcher.getActor(),this.dispatcher.ready)e.request=e.actor.send("loadTile",r,o.bind(this),void 0,!0);else{const i=t.loadVectorTile.call({deduped:this._deduped},r,((t,i)=>{t||!i?o.call(this,t):(r.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},e.actor&&e.actor.send("loadTile",r,o.bind(this),void 0,!0))}),!0);e.request={cancel:i}}function o(n,r){return delete e.request,e.aborted?i(null):n&&404!==n.status?i(n):(r&&r.resourceTiming&&(e.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&e.setExpiryData(r),e.loadVectorData(r,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id})}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}hasTransition(){return!1}afterUpdate(){this._tileWorkers={}}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class Tt extends t.Evented{constructor(e,i,n,r){super(),this.id=e,this.dispatcher=n,this.setEventedParent(r),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(e){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=R(this._options,this.map._requestManager,null,null,((i,n)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new t.ErrorEvent(i)):n&&(t.extend(this,n),n.bounds&&(this.tileBounds=new O(n.bounds,this.minzoom,this.maxzoom)),t.postTurnstileEvent(n.tiles),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))),e&&e(i)}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(t){return this._options.tiles=t,this.reload(),this}setUrl(t){return this.url=t,this._options.url=t,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const n=t.exported.devicePixelRatio>=2,r=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),n,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),((n,r,o,s)=>(delete e.request,e.aborted?(e.state="unloaded",i(null)):n?(e.state="errored",i(n)):r?(this.map._refreshExpiredTiles&&e.setExpiryData({cacheControl:o,expires:s}),e.setTexture(r,this.map.painter),e.state="loaded",t.cacheEntryPossiblyAdded(this.dispatcher),void i(null)):i(null))))}static loadTileData(t,e,i){t.setTexture(e,i)}static unloadTileData(t,e){t.texture&&e.saveTileTexture(t.texture)}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}function kt(e,i,n,r,o,s,a,l){const c=[e,n,o,i,r,s,1,1,1],u=[a,l,1],h=t.adjoint([],c),[p,d,f]=t.transformMat3(u,u,t.transpose(h,h));return t.multiply$1(c,[p,0,0,0,d,0,0,0,f],c)}class St extends t.Evented{constructor(t,e,i,n){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=e,this._dirty=!1}load(e,i){this._loaded=i||!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,this._imageRequest=t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),((i,n)=>{if(this._imageRequest=null,this._loaded=!0,i)this.fire(new t.ErrorEvent(i));else if(n){const{HTMLImageElement:i}=t.window;this.image=n instanceof i?t.exported.getImageData(n):n,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,e&&(this.coordinates=e),this._finishLoading()}}))}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this._imageRequest&&t.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=t.url,this.load(t.coordinates,this._loaded),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),this.texture&&this.texture.destroy()}setCoordinates(e){this.coordinates=e,this._boundsArray=void 0;const i=e.map(t.MercatorCoordinate.fromLngLat);return this.tileID=function(e){let i=1/0,n=1/0,r=-1/0,o=-1/0;for(const t of e)i=Math.min(i,t.x),n=Math.min(n,t.y),r=Math.max(r,t.x),o=Math.max(o,t.y);const s=Math.max(r-i,o-n),a=Math.max(0,Math.floor(-Math.log(s)/Math.LN2)),l=Math.pow(2,a);return new t.CanonicalTileID(a,Math.floor((i+r)/2*l),Math.floor((n+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z,this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this}_clear(){this._boundsArray=void 0}_prepareData(e){for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}if(this._boundsArray)return;const i=t.tileTransform(this.tileID,this.map.transform.projection),[n,r,o,s]=this.coordinates.map((e=>{const n=i.projection.project(e[0],e[1]);return t.getTilePoint(i,n)._round()}));this.perspectiveTransform=function(e,i,n,r,o,s,a,l,c,u){const h=kt(0,0,e,0,0,i,e,i),p=kt(n,r,o,s,a,l,c,u);return t.multiply$1(p,t.adjoint(h,h),p),[p[6]/p[8]*e/t.EXTENT,p[7]/p[8]*i/t.EXTENT]}(this.width,this.height,n.x,n.y,r.x,r.y,s.x,s.y,o.x,o.y);const a=this._boundsArray=new t.StructArrayLayout4i8;a.emplaceBack(n.x,n.y,0,0),a.emplaceBack(r.x,r.y,t.EXTENT,0),a.emplaceBack(s.x,s.y,0,t.EXTENT),a.emplaceBack(o.x,o.y,t.EXTENT,t.EXTENT),this.boundsBuffer&&this.boundsBuffer.destroy(),this.boundsBuffer=e.createVertexBuffer(a,t.boundsAttributes.members),this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this._dirty&&(this.texture?this.texture.update(this.image):(this.texture=new t.Texture(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this._dirty=!1),this._prepareData(e)}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}const It={vector:Ct,raster:Tt,"raster-dem":class extends Tt{constructor(e,i,n,r){super(e,i,n,r),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}loadTile(e,i){const n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function r(t,n){t&&(e.state="errored",i(t)),n&&(e.dem=n,e.dem.onDeserialize(),e.needsHillshadePrepare=!0,e.needsDEMTextureUpload=!0,e.state="loaded",i(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,o,s,a){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(n)e.state="errored",i(n);else if(o){this.map._refreshExpiredTiles&&e.setExpiryData({cacheControl:s,expires:a});const i=t.window.ImageBitmap&&o instanceof t.window.ImageBitmap&&(null==st&&(st=t.window.OffscreenCanvas&&new t.window.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof t.window.createImageBitmap),st),n=1-(o.width-t.prevPowerOfTwo(o.width))/2;n<1||e.neighboringTiles||(e.neighboringTiles=this._getNeighboringTiles(e.tileID));const l=i?o:t.exported.getImageData(o,n),c={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:l,encoding:this.encoding,padding:n};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",c,r.bind(this),void 0,!0))}}.bind(this))}_getNeighboringTiles(e){const i=e.canonical,n=Math.pow(2,i.z),r=(i.x-1+n)%n,o=0===i.x?e.wrap-1:e.wrap,s=(i.x+1+n)%n,a=i.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,o,i.z,r,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,o,i.z,r,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+1{if(this._loaded=!0,this._pendingLoad=null,e)this.fire(new t.ErrorEvent(e));else{const e={dataType:"source",sourceDataType:this._metadataFired?"content":"metadata"};this._collectResourceTiming&&i&&i.resourceTiming&&i.resourceTiming[this.id]&&(e.resourceTiming=i.resourceTiming[this.id]),this.fire(new t.Event("data",e)),this._metadataFired=!0}this._coalesce&&(this._updateWorkerData(),this._coalesce=!1)}))}loaded(){return this._loaded}loadTile(e,i){const n=e.actor?"reloadTile":"loadTile";e.actor=this.actor,e.request=this.actor.send(n,{type:this.type,uid:e.uid,tileID:e.tileID,tileZoom:e.tileZoom,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},((t,r)=>(delete e.request,e.unloadVectorData(),e.aborted?i(null):t?i(t):(e.loadVectorData(r,this.map.painter,"reloadTile"===n),i(null)))),void 0,"loadTile"===n)}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._pendingLoad&&this._pendingLoad.cancel()}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}},video:class extends St{constructor(t,e,i,n){super(t,e,i,n),this.roundZoom=!0,this.type="video",this.options=e}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute("playsinline",""),this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(e)}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:St,canvas:class extends St{constructor(e,i,n,r){super(e,i,n,r),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i)}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}},custom:class extends t.Evented{constructor(e,i,n,r){super(),this.id=e,this.type="custom",this._dataType="raster",this._dispatcher=n,this._implementation=i,this.setEventedParent(r),this.scheme="xyz",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new t.ErrorEvent(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new t.ErrorEvent(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new O(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),t.extend(this,t.pick(i,["dataType","scheme","minzoom","maxzoom","tileSize","attribution","minTileCacheSize","maxTileCacheSize"]))}serialize(){return t.pick(this,["type","scheme","minzoom","maxzoom","tileSize","attribution"])}load(){this._loaded=!0,this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))}loaded(){return this._loaded}onAdd(e){this._map=e,this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._implementation.onAdd&&this._implementation.onAdd(e),this.load()}onRemove(t){this._implementation.onRemove&&this._implementation.onRemove(t)}hasTile(t){if(this._implementation.hasTile){const{x:e,y:i,z:n}=t.canonical;return this._implementation.hasTile({x:e,y:i,z:n})}return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const{x:n,y:r,z:o}=e.tileID.canonical,s=new t.window.AbortController;e.request=Promise.resolve(this._implementation.loadTile({x:n,y:r,z:o},{signal:s.signal})).then(function(n){return delete e.request,e.aborted?(e.state="unloaded",i(null)):void 0===n?(e.state="errored",i(null)):null===n?(this.loadTileData(e,{width:this.tileSize,height:this.tileSize,data:null}),e.state="loaded",i(null)):function(e){return e instanceof t.window.ImageData||e instanceof t.window.HTMLCanvasElement||e instanceof t.window.ImageBitmap||e instanceof t.window.HTMLImageElement}(n)?(this.loadTileData(e,n),e.state="loaded",void i(null)):(e.state="errored",i(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((t=>{20!==t.code&&(e.state="errored",i(t))})),e.request.cancel=()=>s.abort()}loadTileData(t,e){Tt.loadTileData(t,e,this._map.painter)}unloadTileData(t){Tt.unloadTileData(t,this._map.painter)}unloadTile(t,e){if(this.unloadTileData(t),this._implementation.unloadTile){const{x:e,y:i,z:n}=t.tileID.canonical;this._implementation.unloadTile({x:e,y:i,z:n})}e()}abortTile(t,e){t.request&&t.request.cancel&&(t.request.cancel(),delete t.request),e()}hasTransition(){return!1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((t=>({x:t.canonical.x,y:t.canonical.y,z:t.canonical.z})))}_clearTiles(){this._map.style._clearSource(this.id)}_update(){this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))}}},Mt=function(e,i,n,r){const o=new It[i.type](e,i,n,r);if(o.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${o.id}`);return t.bindAll(["load","abort","unload","serialize","prepare"],o),o};function Pt(e,i){const n=t.identity([]);return t.scale(n,n,[.5*e.width,.5*-e.height,1]),t.translate(n,n,[1,-1,0]),t.multiply(n,n,e.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(n)}function Lt(t,e,i,n,r,o,s,a=!1){const l=t.tilesIn(n,s,a);l.sort(Dt);const c=[];for(const n of l)c.push({wrappedTileID:n.tile.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(e,i,t._state,n,r,o,Pt(t.transform,n.tile.tileID),a)});const u=function(t){const e={},i={};for(const n of t){const t=n.queryResults,r=n.wrappedTileID,o=i[r]=i[r]||{};for(const i in t){const n=t[i],r=o[i]=o[i]||{},s=e[i]=e[i]||[];for(const t of n)r[t.featureIndex]||(r[t.featureIndex]=!0,s.push(t))}}return e}(c);for(const e in u)u[e].forEach((e=>{const i=e.feature,n=i.layer;n&&"background"!==n.type&&"sky"!==n.type&&(i.source=n.source,n["source-layer"]&&(i.sourceLayer=n["source-layer"]),i.state=void 0!==i.id?t.getFeatureState(n["source-layer"],i.id):{})}));return u}function zt(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),n=[],r={};for(let t=0;t{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[Ot]}numActive(){return Object.keys(this.active).length}}let Nt;function Ft(){return Nt||(Nt=new Bt),Nt}function Ut(e,i){const n={};for(const t in e)"ref"!==t&&(n[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(n[t]=i[t])})),n}function jt(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(r-s)/a:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}class Kt{constructor(t,e,i){const n=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||n<0||e>this.height)return!r&&[];const s=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=n){if(r)return!0;for(let t=0;t0:s}_queryCircle(t,e,i,n,r){const o=t-i,s=t+i,a=e-i,l=e+i;if(s<0||o>this.width||l<0||a>this.height)return!n&&[];const c=[];return this._forEachCell(o,a,s,l,this._queryCellCircle,c,{hitTest:n,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},r),n?c.length>0:c}query(t,e,i,n,r){return this._query(t,e,i,n,!1,r)}hitTest(t,e,i,n,r){return this._query(t,e,i,n,!0,r)}hitTestCircle(t,e,i,n){return this._queryCircle(t,e,i,!0,n)}_queryCell(t,e,i,n,r,o,s,a){const l=s.seenUids,c=this.boxCells[r];if(null!==c){const r=this.bboxes;for(const u of c)if(!l.box[u]){l.box[u]=!0;const c=4*u;if(t<=r[c+2]&&e<=r[c+3]&&i>=r[c+0]&&n>=r[c+1]&&(!a||a(this.boxKeys[u]))){if(s.hitTest)return o.push(!0),!0;o.push({key:this.boxKeys[u],x1:r[c],y1:r[c+1],x2:r[c+2],y2:r[c+3]})}}}const u=this.circleCells[r];if(null!==u){const r=this.circles;for(const c of u)if(!l.circle[c]){l.circle[c]=!0;const u=3*c;if(this._circleAndRectCollide(r[u],r[u+1],r[u+2],t,e,i,n)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return o.push(!0),!0;{const t=r[u],e=r[u+1],i=r[u+2];o.push({key:this.circleKeys[c],x1:t-i,y1:e-i,x2:t+i,y2:e+i})}}}}}_queryCellCircle(t,e,i,n,r,o,s,a){const l=s.circle,c=s.seenUids,u=this.boxCells[r];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e;if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!a||a(this.boxKeys[e])))return o.push(!0),!0}}const h=this.circleCells[r];if(null!==h){const t=this.circles;for(const e of h)if(!c.circle[e]){c.circle[e]=!0;const i=3*e;if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[e])))return o.push(!0),!0}}}_forEachCell(t,e,i,n,r,o,s,a){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(i),h=this._convertToYCellCoord(n);for(let p=l;p<=u;p++)for(let l=c;l<=h;l++)if(r.call(this,t,e,i,n,this.xCellCount*l+p,o,s,a))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,n,r,o){const s=n-t,a=r-e,l=i+o;return l*l>s*s+a*a}_circleAndRectCollide(t,e,i,n,r,o,s){const a=(o-n)/2,l=Math.abs(t-(n+a));if(l>a+i)return!1;const c=(s-r)/2,u=Math.abs(e-(r+c));if(u>c+i)return!1;if(l<=a||u<=c)return!0;const h=l-a,p=u-c;return h*h+p*p<=i*i}}const Jt={unknown:0,flipRequired:1,flipNotRequired:2},Qt=Math.tan(85*Math.PI/180);function te(e,i,n,r,o,s,a){const l=t.create();if(n)if("globe"===s.name){const e=t.calculateGlobeLabelMatrix(o,i);t.multiply(l,l,e)}else{const e=y([],a);l[0]=e[0],l[1]=e[1],l[4]=e[2],l[5]=e[3],r||t.rotateZ(l,l,o.angle)}else t.multiply(l,o.labelPlaneMatrix,e);return l}function ee(t,e,i,n,r,o,s){const a=te(t,e,i,n,r,o,s);return"globe"===o.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function ie(e,i,n,r,o,s,a){if(n){if("globe"===s.name){const l=te(e,i,n,r,o,s,a);return t.invert(l,l),t.multiply(l,e,l),l}{const i=t.clone(e),n=t.identity([]);return n[0]=a[0],n[1]=a[1],n[4]=a[2],n[5]=a[3],t.multiply(i,i,n),r||t.rotateZ(i,i,-o.angle),i}}return o.glCoordMatrix}function ne(e,i,n,r){const o=[e,i,n,1];n?t.transformMat4$1(o,o,r):fe(o,o,r);const s=o[3];return o[0]/=s,o[1]/=s,o[2]/=s,o}function re(t,e){return Math.min(.5+t/e*.5,1.5)}function oe(t,e){const i=t[0]/t[3],n=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&n>=-e[1]&&n<=e[1]}function se(e,i,n,r,o,s,a,l,c,u){const h=n.transform,p=r?e.textSizeData:e.iconSizeData,d=t.evaluateSizeForZoom(p,n.transform.zoom),f="globe"===h.projection.name,m=[256/n.width*2+1,256/n.height*2+1],g=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;g.clear();let _=null;f&&(_=r?e.text.globeExtVertexArray:e.icon.globeExtVertexArray);const y=e.lineVertexArray,v=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,x=n.transform.width/n.transform.height;let b,w=!1;for(let r=0;rMath.abs(n)?{useVertical:!0}:e===t.WritingMode.vertical?r>0?{needsFlipping:!0}:null:i!==Jt.unknown&&function(t,e){return 0===t||Math.abs(e/t)>Qt}(n,r)?i===Jt.flipRequired?{needsFlipping:!0}:null:n<0?{needsFlipping:!0}:null}function ce(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v){const x=i/24,b=e.lineOffsetX*x,w=e.lineOffsetY*x,{lineStartIndex:A,glyphStartIndex:E,numGlyphs:C,segment:T,writingMode:k,flipState:S}=e,I=A+e.lineLength,M=e=>{if(h){const[i,n,r]=e.up,o=u.length;t.updateGlobeVertexNormal(h,o+0,i,n,r),t.updateGlobeVertexNormal(h,o+1,i,n,r),t.updateGlobeVertexNormal(h,o+2,i,n,r),t.updateGlobeVertexNormal(h,o+3,i,n,r)}const[i,n,r]=e.point;t.addDynamicAttributes(u,i,n,r,e.angle)};if(C>1){const t=ae(x,l,b,w,n,p,d,e,c,s,f,g,!1,_,y,v);if(!t)return{notEnoughRoom:!0};if(r&&!n){let[i,n,r]=t.first.point,[o,s,l]=t.last.point;[i,n]=ne(i,n,r,a),[o,s]=ne(o,s,l,a);const c=le(k,S,(o-i)*m,s-n);if(e.flipState=c&&c.needsFlipping?Jt.flipRequired:Jt.flipNotRequired,c)return c}M(t.first);for(let t=E+1;t0?s:he(d,r,i,1,o,void 0,_,y.canonical),l=le(k,S,(a[0]-i[0])*m,a[1]-i[1]);if(e.flipState=l&&l.needsFlipping?Jt.flipRequired:Jt.flipNotRequired,l)return l}const i=pe(x*l.getoffsetX(E),b,w,n,p,d,T,A,I,c,s,f,g,!1,!1,_,y,v);if(!i)return{notEnoughRoom:!0};M(i)}return{}}function ue(t,e,i,n,r){const{x:o,y:s,z:a}=n.projectTilePoint(t.x,t.y,e);if(!r)return ne(o,s,a,i);const[l,c,u]=r(t);return ne(o+l,s+c,a+u,i)}function he(e,i,n,r,o,s,a,l){const c=ue(e.sub(i)._unit()._add(e),l,o,a,s);return t.sub(c,n,c),t.normalize(c,c),t.scaleAndAdd(c,n,c,r)}function pe(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y){const v=r?e-i:e+i;let x=v>0?1:-1,b=0;r&&(x*=-1,b=Math.PI),x<0&&(b+=Math.PI);let w=l+a+(x>0?0:1)|0,A=o,E=o,C=0,T=0;const k=Math.abs(v),S=[],I=[];let M=s,P=M;const L=()=>he(P,M,E,k-C+1,h,d,g,_.canonical);for(;C+T<=k;){if(w+=x,w=c)return null;if(E=A,P=M,S.push(E),f&&I.push(P),M=new t.Point(u.getx(w),u.gety(w)),A=p[w],!A){const t=ue(M,_.canonical,h,g,d);A=t[3]>0?p[w]=t:L()}C+=T,T=t.distance(E,A)}m&&d&&(p[w]&&(A=L(),T=t.distance(E,A)),p[w]=A);const z=(k-C)/T,D=M.sub(P)._mult(z)._add(P),R=t.sub([],A,E),O=t.scaleAndAdd([],E,R,z);let B=[0,0,1],N=R[0],F=R[1];if(y&&(B=g.upVector(_.canonical,D.x,D.y),0!==B[0]||0!==B[1]||1!==B[2])){const e=[B[2],0,-B[0]],i=t.cross([],B,e);t.normalize(e,e),t.normalize(i,i),N=t.dot(R,e),F=t.dot(R,i)}if(n){const e=t.cross([],B,R);t.normalize(e,e),t.scaleAndAdd(O,O,e,n*x)}const U=b+Math.atan2(F,N);return S.push(O),f&&I.push(D),{point:O,angle:U,path:S,tilePath:I,up:B}}function de(t,e){const i=e.length,n=i+4*t;e.resize(n),e.float32.fill(-1/0,4*i,4*n)}function fe(t,e,i){const n=e[0],r=e[1];return t[0]=i[0]*n+i[4]*r+i[12],t[1]=i[1]*n+i[5]*r+i[13],t[3]=i[3]*n+i[7]*r+i[15],t}const me=100;class ge{constructor(t,e,i=new Kt(t.width+200,t.height+200,25),n=new Kt(t.width+200,t.height+200,25)){this.transform=t,this.grid=i,this.ignoredGrid=n,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+me,this.screenBottomBoundary=t.height+me,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200,this.fogState=e}placeCollisionBox(t,e,i,n,r,o,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,u=i.projectedAnchorZ;const h=i.elevation,p=i.tileID,d=t.getProjection();if(h&&p){const[t,e,n]=d.upVector(p.canonical,i.tileAnchorX,i.tileAnchorY),r=d.upVectorScale(p.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=t*h*r,c+=e*h*r,u+=n*h*r}const f=this.projectAndGetPerspectiveRatio(s,l,c,u,i.tileID,"globe"===d.name||!!h||this.transform.pitch>0,d),m=o*f.perspectiveRatio,g=(i.x1*e+n.x-i.padding)*m+f.point.x,_=(i.y1*e+n.y-i.padding)*m+f.point.y,y=(i.x2*e+n.x+i.padding)*m+f.point.x,v=(i.y2*e+n.y+i.padding)*m+f.point.y,x=f.perspectiveRatio<=.55||f.occluded;return!this.isInsideGrid(g,_,y,v)||!r&&this.grid.hitTest(g,_,y,v,a)||x?{box:[],offscreen:!1,occluded:f.occluded}:{box:[g,_,y,v],offscreen:this.isOffscreen(g,_,y,v),occluded:!1}}placeCollisionCircles(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m){const g=[],_=this.transform.elevation,y=e.getProjection(),v=_?_.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,y):null,x=new t.Point(n.tileAnchorX,n.tileAnchorY);let{x:b,y:w,z:A}=y.projectTilePoint(x.x,x.y,m.canonical);if(v){const[t,e,i]=v(x);b+=t,w+=e,A+=i}const E="globe"===y.name,C=this.projectAndGetPerspectiveRatio(a,b,w,A,m,E||!!_||this.transform.pitch>0,y),{perspectiveRatio:T}=C,k=(h?s/T:s*T)/t.ONE_EM,S=ne(b,w,A,l),I=C.signedDistanceFromCamera>0?ae(k,o,n.lineOffsetX*k,n.lineOffsetY*k,!1,S,x,n,r,l,{},_&&!h?v:null,h&&!!_,y,m,h):null;let M=!1,P=!1,L=!0;if(I&&!C.occluded){const e=.5*d*T+f,n=new t.Point(-100,-100),r=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),o=new Yt,{first:s,last:a}=I,l=s.path.length;let h=[];for(let t=l-1;t>=1;t--)h.push(s.path[t]);for(let t=1;t(v&&!E&&(i=v(nt[3]<=0))&&(h=[]));let _=[];if(h.length>0){let e=1/0,i=-1/0,o=1/0,s=-1/0;for(const t of h)e=Math.min(e,t[0]),o=Math.min(o,t[1]),i=Math.max(i,t[0]),s=Math.max(s,t[1]);i>=n.x&&e<=r.x&&s>=n.y&&o<=r.y&&(_=[h.map((e=>new t.Point(e[0],e[1])))],(er.x||or.y)&&(_=t.clipLine(_,n.x,n.y,r.x,r.y)))}for(const t of _){o.reset(t,.25*e);let n=0;n=o.length<=.5*e?1:Math.ceil(o.paddedLength/m)+1;for(let t=0;t0){if(t.transformMat4$1(l,l,e),this.fogState&&o&&"globe"!==a.name){const e=function(e,i,n,r,o,s){const a=s.calculateFogTileMatrix(o),l=[i,n,r];return t.transformMat4(l,l,a),C(e,l,s.pitch,s._fov)}(this.fogState,i,n,r,o.toUnwrapped(),this.transform);c=e>.9}}else fe(l,l,e);const u=l[3];return{point:new t.Point((l[0]/u+1)/2*this.transform.width+me,(-l[1]/u+1)/2*this.transform.height+me),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/u*.5,1.5),signedDistanceFromCamera:u,occluded:s&&l[2]>u||c}}isOffscreen(t,e,i,n){return i=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(t,e,i,n){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function Te(e,i,n,r,o){const{horizontalAlign:s,verticalAlign:a}=t.getAnchorAlignment(e),l=-(s-.5)*i,c=-(a-.5)*n,u=t.evaluateVariableOffset(e,r);return new t.Point(l+u[0]*o,c+u[1]*o)}function ke(e,i,n,r,o){const s=new t.Point(e,i);return n&&s._rotate(r?o:-o),s}class Se{constructor(t,e,i,n,r){this.transform=t.clone(),this.projection=t.projection.name,this.collisionIndex=new ge(this.transform,r),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new Ce(i),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,i,n,r){const o=n.getBucket(i),s=n.latestFeatureIndex;if(!o||!s||i.id!==o.layerIds[0])return;const a=o.layers[0].layout,l=n.collisionBoxArray,c=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/t.EXTENT,h=n.tileID.toUnwrapped();this.transform.setProjection(o.projection);const p=(d=n.tileID,f=o.getProjection(),m=this.transform,f.name===this.projection?m.calculateProjMatrix(d.toUnwrapped()):_e(m,f,d));var d,f,m;const g="map"===a.get("text-pitch-alignment"),_="map"===a.get("text-rotation-alignment");i.compileFilter();const y=i.dynamicFilter(),v=i.dynamicFilterNeedsFeature(),x=this.transform.calculatePixelsToTileUnitsMatrix(n),b=ee(p,n.tileID.canonical,g,_,this.transform,o.getProjection(),x);let w=null;if(g){const e=ie(p,n.tileID.canonical,g,_,this.transform,o.getProjection(),x);w=t.multiply([],this.transform.labelPlaneMatrix,e)}let A=null;y&&n.latestFeatureIndex&&(A={unwrappedTileID:h,dynamicFilter:y,dynamicFilterNeedsFeature:v,featureIndex:n.latestFeatureIndex}),this.retainedQueryData[o.bucketInstanceId]=new Ee(o.bucketInstanceId,s,o.sourceLayerIndex,o.index,n.tileID);const E={bucket:o,layout:a,posMatrix:p,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:A,scale:c,textPixelRatio:u,holdingForFade:n.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(o.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:t.evaluateSizeForZoom(o.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(r)for(const t of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:n,symbolInstanceEnd:r}=t;e.push({sortKey:i,symbolInstanceStart:n,symbolInstanceEnd:r,parameters:E})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:E})}attemptAnchorPlacement(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_){const{textOffset0:y,textOffset1:v,crossTileID:x}=h,b=[y,v],w=Te(t,i,n,b,r),A=this.collisionIndex.placeCollisionBox(d,r,e,ke(w.x,w.y,o,s,this.transform.angle),u,a,l,c.predicate);if(m){const t=d.getSymbolInstanceIconSize(_,this.transform.zoom,h.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(d,t,m,ke(w.x,w.y,o,s,this.transform.angle),u,a,l,c.predicate).box.length)return}if(A.box.length>0){let e;return this.prevPlacement&&this.prevPlacement.variableOffsets[x]&&this.prevPlacement.placements[x]&&this.prevPlacement.placements[x].text&&(e=this.prevPlacement.variableOffsets[x].anchor),this.variableOffsets[x]={textOffset:b,width:i,height:n,anchor:t,textScale:r,prevAnchor:e},this.markUsedJustification(d,t,h,f),d.allowVerticalPlacement&&(this.markUsedOrientation(d,f,h),this.placedOrientations[x]=f),{shift:w,placedGlyphBoxes:A}}}placeLayerBucketPart(e,i,n,r){const{bucket:o,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:u,textPixelRatio:h,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:f,partiallyEvaluatedIconSize:m,collisionGroup:g}=e.parameters,_=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),w="map"===s.get("text-pitch-alignment"),A="none"!==s.get("icon-text-fit"),E="viewport-y"===s.get("symbol-z-order");this.transform.setProjection(o.projection);let C=v&&(x||!o.hasIconData()||y),T=x&&(v||!o.hasTextData()||_);!o.collisionArrays&&d&&o.deserializeCollisionBoxes(d),n&&r&&o.updateCollisionDebugBuffers(this.transform.zoom,d);const k=(e,r,d)=>{const{crossTileID:E,numVerticalGlyphVertices:k}=e;if(u){const n={zoom:this.transform.zoom,pitch:this.transform.pitch};let r=null;if(u.dynamicFilterNeedsFeature){const t=this.retainedQueryData[o.bucketInstanceId];r=u.featureIndex.loadFeature({featureIndex:e.featureIndex,bucketIndex:t.bucketIndex,sourceLayerIndex:t.sourceLayerIndex,layoutVertexArrayOffset:0})}if(!(0,u.dynamicFilter)(n,r,this.retainedQueryData[o.bucketInstanceId].tileID.canonical,new t.Point(e.tileAnchorX,e.tileAnchorY),this.transform.calculateDistanceTileData(u.unwrappedTileID)))return this.placements[E]=new we(!1,!1,!1,!0),void i.add(E)}if(i.has(E))return;if(p)return void(this.placements[E]=new we(!1,!1,!1));let S=!1,I=!1,M=!0,P=!1,L=!1,z=null,D={box:null,offscreen:null,occluded:null},R={box:null,offscreen:null,occluded:null},O=null,B=null,N=null,F=0,U=0,j=0;d.textFeatureIndex?F=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(F=e.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);const V=t=>{t.tileID=this.retainedQueryData[o.bucketInstanceId].tileID;const e=this.transform.elevation;(e||t.elevation)&&(t.elevation=e?e.getAtTileOffset(t.tileID,t.tileAnchorX,t.tileAnchorY):0)},G=d.textBox;if(G){V(G);const i=i=>{let n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[E];t&&(this.placedOrientations[E]=t,n=t,this.markUsedOrientation(o,n,e))}return n},n=(e,i)=>{if(o.allowVerticalPlacement&&k>0&&d.verticalTextBox){for(const n of o.writingModes)if(n===t.WritingMode.vertical?(D=i(),R=D):D=e(),D&&D.box&&D.box.length)break}else D=e()};if(s.get("text-variable-anchor")){let l=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[E]){const t=this.prevPlacement.variableOffsets[E];l.indexOf(t.anchor)>0&&(l=l.filter((e=>e!==t.anchor)),l.unshift(t.anchor))}const c=(t,i,n)=>{const s=o.getSymbolInstanceTextSize(f,e,this.transform.zoom,r),c=(t.x2-t.x1)*s+2*t.padding,u=(t.y2-t.y1)*s+2*t.padding,p=A&&!x?i:null;p&&V(p);let d={box:[],offscreen:!1,occluded:!1};const _=v?2*l.length:l.length;for(let i=0;i<_;++i){const _=this.attemptAnchorPlacement(l[i%l.length],t,c,u,s,b,w,h,a,g,i>=l.length,e,r,o,n,p,f,m);if(_&&(d=_.placedGlyphBoxes,d&&d.box&&d.box.length)){S=!0,z=_.shift;break}}return d};n((()=>c(G,d.iconBox,t.WritingMode.horizontal)),(()=>{const e=d.verticalTextBox;return e&&V(e),o.allowVerticalPlacement&&!(D&&D.box&&D.box.length)&&k>0&&e?c(e,d.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null,occluded:null}})),D&&(S=D.box,M=D.offscreen,P=D.occluded);const u=i(!(!D||!D.box));if(!S&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[E];t&&(this.variableOffsets[E]=t,this.markUsedJustification(o,t.anchor,e,u))}}else{const s=(i,n)=>{const s=o.getSymbolInstanceTextSize(f,e,this.transform.zoom,r),l=this.collisionIndex.placeCollisionBox(o,s,i,new t.Point(0,0),v,h,a,g.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(o,n,e),this.placedOrientations[E]=n),l};n((()=>s(G,t.WritingMode.horizontal)),(()=>{const e=d.verticalTextBox;return o.allowVerticalPlacement&&k>0&&e?(V(e),s(e,t.WritingMode.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(D&&D.box&&D.box.length))}}if(O=D,S=O&&O.box&&O.box.length>0,M=O&&O.offscreen,P=O&&O.occluded,e.useRuntimeCollisionCircles){const i=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex>=0?e.centerJustifiedTextSymbolIndex:e.verticalPlacedTextSymbolIndex),r=t.evaluateSizeForFeature(o.textSizeData,f,i),u=s.get("text-padding");B=this.collisionIndex.placeCollisionCircles(o,v,i,o.lineVertexArray,o.glyphOffsetArray,r,a,l,c,n,w,g.predicate,e.collisionCircleDiameter*r/t.ONE_EM,u,this.retainedQueryData[o.bucketInstanceId].tileID),S=v||B.circles.length>0&&!B.collisionDetected,M=M&&B.offscreen,P=B.occluded}if(d.iconFeatureIndex&&(j=d.iconFeatureIndex),d.iconBox){const i=i=>{V(i);const n=A&&z?ke(z.x,z.y,b,w,this.transform.angle):new t.Point(0,0),r=o.getSymbolInstanceIconSize(m,this.transform.zoom,e.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(o,r,i,n,x,h,a,g.predicate)};R&&R.box&&R.box.length&&d.verticalIconBox?(N=i(d.verticalIconBox),I=N.box.length>0):(N=i(d.iconBox),I=N.box.length>0),M=M&&N.offscreen,L=N.occluded}const q=_||0===e.numHorizontalGlyphVertices&&0===k,Z=y||0===e.numIconVertices;if(q||Z?Z?q||(I=I&&S):S=I&&S:I=S=I&&S,S&&O&&O.box&&this.collisionIndex.insertCollisionBox(O.box,s.get("text-ignore-placement"),o.bucketInstanceId,R&&R.box&&U?U:F,g.ID),I&&N&&this.collisionIndex.insertCollisionBox(N.box,s.get("icon-ignore-placement"),o.bucketInstanceId,j,g.ID),B&&(S&&this.collisionIndex.insertCollisionCircles(B.circles,s.get("text-ignore-placement"),o.bucketInstanceId,F,g.ID),n)){const t=o.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new Ae);for(let t=0;t=0;--e){const i=t[e];k(o.symbolInstances.get(i),i,o.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(o).crossTileID=h>=0&&o!==h?0:c),s>=0&&(e.text.placedSymbolArray.get(s).crossTileID=h>=0&&s!==h?0:c),a>=0&&(e.text.placedSymbolArray.get(a).crossTileID=h>=0&&a!==h?0:c),l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=h>=0&&l!==h?0:c)}markUsedOrientation(e,i,n){const r=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,o=i===t.WritingMode.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=n,u=e.text.placedSymbolArray;s>=0&&(u.get(s).placedOrientation=r),a>=0&&(u.get(a).placedOrientation=r),l>=0&&(u.get(l).placedOrientation=r),c>=0&&(u.get(c).placedOrientation=o)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const n=e?e.symbolFadeChange(t):1,r=e?e.opacities:{},o=e?e.variableOffsets:{},s=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=r[t];o?(this.opacities[t]=new be(o,n,e.text,e.icon,null,e.clipped),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new be(null,n,e.text,e.icon,e.skipFade,e.clipped),i=i||e.text||e.icon)}for(const t in r){const e=r[t];if(!this.opacities[t]){const r=new be(e,n,!1,!1);r.isHidden()||(this.opacities[t]=r,i=i||e.text.placed||e.icon.placed)}}for(const t in o)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=o[t]);for(const t in s)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=s[t]);i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i=new Set;for(const n of e){const e=n.getBucket(t);e&&n.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,n.collisionBoxArray)}}updateBucketOpacities(e,i,n){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const r=e.layers[0].layout,o=!!e.layers[0].dynamicFilter(),s=new be(null,0,!1,!1,!0),a=r.get("text-allow-overlap"),l=r.get("icon-allow-overlap"),c=r.get("text-variable-anchor"),u="map"===r.get("text-rotation-alignment"),h="map"===r.get("text-pitch-alignment"),p="none"!==r.get("icon-text-fit"),d=new be(null,0,a&&(l||!e.hasIconData()||r.get("icon-optional")),l&&(a||!e.hasTextData()||r.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);const f=(t,e,i)=>{for(let n=0;n0||l>0,b=_>0,w=this.placedOrientations[g],A=w===t.WritingMode.vertical,E=w===t.WritingMode.horizontal||w===t.WritingMode.horizontalOnly;if(!x&&!b||v.isHidden()||m++,x){const t=Be(v.text);f(e.text,a,A?Ne:t),f(e.text,l,E?Ne:t);const i=v.text.isHidden(),{leftJustifiedTextSymbolIndex:n,centerJustifiedTextSymbolIndex:o,rightJustifiedTextSymbolIndex:s,verticalPlacedTextSymbolIndex:c}=r,u=e.text.placedSymbolArray,h=i||A?1:0;n>=0&&(u.get(n).hidden=h),o>=0&&(u.get(o).hidden=h),s>=0&&(u.get(s).hidden=h),c>=0&&(u.get(c).hidden=i||E?1:0);const p=this.variableOffsets[g];p&&this.markUsedJustification(e,p.anchor,r,w);const d=this.placedOrientations[g];d&&(this.markUsedJustification(e,"left",r,d),this.markUsedOrientation(e,d,r))}if(b){const t=Be(v.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:n}=r,o=e.icon.placedSymbolArray,s=v.icon.isHidden()?1:0;i>=0&&(f(e.icon,_,A?Ne:t),o.get(i).hidden=s),n>=0&&(f(e.icon,r.numVerticalIconVertices,E?Ne:t),o.get(n).hidden=s)}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[n];if(i){let n=new t.Point(0,0),r=!0;if(i.textBox||i.verticalTextBox){if(c){const t=this.variableOffsets[g];t?(n=Te(t.anchor,t.width,t.height,t.textOffset,t.textScale),u&&n._rotate(h?this.transform.angle:-this.transform.angle)):r=!1}o&&(r=!v.clipped),i.textBox&&Ie(e.textCollisionBox.collisionVertexArray,v.text.placed,!r||A,n.x,n.y),i.verticalTextBox&&Ie(e.textCollisionBox.collisionVertexArray,v.text.placed,!r||E,n.x,n.y)}const s=r&&Boolean(!E&&i.verticalIconBox);i.iconBox&&Ie(e.iconCollisionBox.collisionVertexArray,v.icon.placed,s,p?n.x:0,p?n.y:0),i.verticalIconBox&&Ie(e.iconCollisionBox.collisionVertexArray,v.icon.placed,!s,p?n.x:0,p?n.y:0)}}}if(e.fullyClipped=0===m,e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Ie(t,e,i,n,r){t.emplaceBack(e?1:0,i?1:0,n||0,r||0),t.emplaceBack(e?1:0,i?1:0,n||0,r||0),t.emplaceBack(e?1:0,i?1:0,n||0,r||0),t.emplaceBack(e?1:0,i?1:0,n||0,r||0)}const Me=Math.pow(2,25),Pe=Math.pow(2,24),Le=Math.pow(2,17),ze=Math.pow(2,16),De=Math.pow(2,9),Re=Math.pow(2,8),Oe=Math.pow(2,1);function Be(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Me+e*Pe+i*Le+e*ze+i*De+e*Re+i*Oe+e}const Ne=0;class Fe{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[]}continuePlacement(t,e,i,n,r){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-r;return!this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],r=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=r)&&(!t.maxzoom||t.maxzoom>r)){if(this._inProgressLayer||(this._inProgressLayer=new Fe(t)),this._inProgressLayer.continuePlacement(n[t.source],this.placement,this._showCollisionBoxes,t,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const je=512/t.EXTENT/2;class Ve{constructor(e,i,n){this.tileID=e,this.bucketInstanceId=n,this.index=new t.KDBush(i.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const r=e.canonical.x*t.EXTENT,o=e.canonical.y*t.EXTENT;for(let t=0;tt.overscaledZ)for(const i in r){const o=r[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,n)}else{const o=r[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,n)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}const $e=(e,i)=>t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),Xe=t.pick(Vt,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setTerrain","setFog","setProjection"]),We=t.pick(Vt,["setCenter","setZoom","setBearing","setPitch"]),He={version:8,layers:[],sources:{}},Ye={fill:!0,line:!0,background:!0,hillshade:!0,raster:!0};class Ke extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new I(Ft(),this),this.imageManager=new x,this.imageManager.setEventedParent(this),this.glyphManager=new t.GlyphManager(e._requestManager,i.localFontFamily?t.LocalGlyphMode.all:i.localIdeographFontFamily?t.LocalGlyphMode.ideographs:t.LocalGlyphMode.none,i.localFontFamily||i.localIdeographFontFamily),this.crossTileSymbolIndex=new Ze,this._layers={},this._num3DLayers=0,this._numSymbolLayers=0,this._numCircleLayers=0,this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._availableImages=[],this._order=[],this._drapedFirstOrder=[],this._markersNeedUpdate=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());const n=this;this._rtlTextPluginCallback=Ke.registerForPluginStateChange((e=>{n.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in n._sourceCaches){const e=n._sourceCaches[t],i=e.getSource().type;"vector"!==i&&"geojson"!==i||e.reload()}}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.getSource(t.sourceId);if(e&&e.vectorLayerIds)for(const t in this._layers){const i=this._layers[t];i.source===e.id&&this._validateLayer(i)}}))}loadURL(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"}));const n="boolean"==typeof i.validate?i.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,i.accessToken);const r=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(r,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,n)}))}loadJSON(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(He,!1)}_updateLayerCount(t,e){const i=e?1:-1;t.is3D()&&(this._num3DLayers+=i),"circle"===t.type&&(this._numCircleLayers+=i),"symbol"===t.type&&(this._numSymbolLayers+=i)}_load(e,i){if(i&&$e(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=t.clone$1(e),this._updateMapProjection();for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});this._changed=!1,e.sprite?this._loadSprite(e.sprite):(this.imageManager.setLoaded(!0),this.dispatcher.broadcast("spriteLoaded",!0)),this.glyphManager.setURL(e.glyphs);const n=jt(this.stylesheet.layers);this._order=n.map((t=>t.id)),this._layers={},this._serializedLayers={};for(const e of n){const i=t.createStyleLayer(e);i.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=i,this._serializedLayers[i.id]=i.serialize(),this._updateLayerCount(i,!0)}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.stylesheet.terrain&&!this.terrainSetForDrapingOnly()&&this._createTerrain(this.stylesheet.terrain,1),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this._updateDrapeFirstLayers(),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}terrainSetForDrapingOnly(){return!!this.terrain&&0===this.terrain.drapeRenderMode}setProjection(t){t?this.stylesheet.projection=t:delete this.stylesheet.projection,this._updateMapProjection()}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast("setProjection",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?this.getTerrain()||this.stylesheet.terrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null))}_updateMapProjection(){this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.stylesheet.projection)}_loadSprite(e){this._spriteRequest=function(e,i,n){let r,o,s;const a=t.exported.devicePixelRatio>1?"@2x":"";let l=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,a,".json"),t.ResourceType.SpriteJSON),((t,e)=>{l=null,s||(s=t,r=e,u())})),c=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,a,".png"),t.ResourceType.SpriteImage),((t,e)=>{c=null,s||(s=t,o=e,u())}));function u(){if(s)n(s);else if(r&&o){const e=t.exported.getImageData(o),i={};for(const n in r){const{width:o,height:s,x:a,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:p,content:d}=r[n],f=new t.RGBAImage({width:o,height:s});t.RGBAImage.copy(e,f,{x:a,y:l},{x:0,y:0},{width:o,height:s}),i[n]={data:f,pixelRatio:u,sdf:c,stretchX:h,stretchY:p,content:d}}n(null,i)}}return{cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.dispatcher.broadcast("spriteLoaded",!0),this.fire(new t.Event("data",{dataType:"style"}))}))}_validateLayer(e){const i=this.getSource(e.source);if(!i)return;const n=e.sourceLayer;n&&("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${e.id}"`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this._sourceCaches)if(!this._sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];"custom"!==t.type&&e.push(t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.fog&&this.fog.hasTransition())return!0;for(const t in this._sourceCaches)if(this._sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}get order(){return this.map._optimizeForTerrain&&this.terrain?this._drapedFirstOrder:this._order}isLayerDraped(t){return!!this.terrain&&("function"==typeof t.isLayerDraped?t.isLayerDraped():Ye[t.type])}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];"reload"===e?this._reloadSource(t):"clear"===e&&this._clearSource(t)}this._updateTilesForChangedImages();for(const t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.fog&&this.fog.updateTransitions(e),this._resetUpdates()}const n={};for(const t in this._sourceCaches){const e=this._sourceCaches[t];n[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];if(i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)){const t=this._getLayerSourceCache(i);t&&(t.used=!0)}const n=this.map.painter;if(n){const t=i.getProgramIds();if(!t)continue;const r=i.getProgramConfiguration(e.zoom);for(const e of t)n.useProgram(e,r)}}for(const e in n){const i=this._sourceCaches[e];n[e]!==i.used&&i.getSource().fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:i.getSource().id}))}this.light.recalculate(e),this.terrain&&this.terrain.recalculate(e),this.fog&&this.fog.recalculate(e),this.z=e.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this._sourceCaches)this._sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setState(i){if(this._checkLoaded(),$e(this,t.validateStyle(i)))return!1;(i=t.clone$1(i)).layers=jt(i.layers);const n=function(t,i){if(!t)return[{command:Vt.setStyle,args:[i]}];let n=[];try{if(!e(t.version,i.version))return[{command:Vt.setStyle,args:[i]}];e(t.center,i.center)||n.push({command:Vt.setCenter,args:[i.center]}),e(t.zoom,i.zoom)||n.push({command:Vt.setZoom,args:[i.zoom]}),e(t.bearing,i.bearing)||n.push({command:Vt.setBearing,args:[i.bearing]}),e(t.pitch,i.pitch)||n.push({command:Vt.setPitch,args:[i.pitch]}),e(t.sprite,i.sprite)||n.push({command:Vt.setSprite,args:[i.sprite]}),e(t.glyphs,i.glyphs)||n.push({command:Vt.setGlyphs,args:[i.glyphs]}),e(t.transition,i.transition)||n.push({command:Vt.setTransition,args:[i.transition]}),e(t.light,i.light)||n.push({command:Vt.setLight,args:[i.light]}),e(t.fog,i.fog)||n.push({command:Vt.setFog,args:[i.fog]}),e(t.projection,i.projection)||n.push({command:Vt.setProjection,args:[i.projection]});const r={},o=[];!function(t,i,n,r){let o;for(o in i=i||{},t=t||{})t.hasOwnProperty(o)&&(i.hasOwnProperty(o)||qt(o,n,r));for(o in i){if(!i.hasOwnProperty(o))continue;const s=i[o];t.hasOwnProperty(o)?e(t[o],s)||("geojson"===t[o].type&&"geojson"===s.type&&$t(t,i,o)?n.push({command:Vt.setGeoJSONSourceData,args:[o,s.data]}):Zt(o,i,n,r)):Gt(o,i,n)}}(t.sources,i.sources,o,r);const s=[];t.layers&&t.layers.forEach((t=>{t.source&&r[t.source]?n.push({command:Vt.removeLayer,args:[t.id]}):s.push(t)}));let a=t.terrain;a&&r[a.source]&&(n.push({command:Vt.setTerrain,args:[void 0]}),a=void 0),n=n.concat(o),e(a,i.terrain)||n.push({command:Vt.setTerrain,args:[i.terrain]}),function(t,i,n){i=i||[];const r=(t=t||[]).map(Wt),o=i.map(Wt),s=t.reduce(Ht,{}),a=i.reduce(Ht,{}),l=r.slice(),c=Object.create(null);let u,h,p,d,f,m,g;for(u=0,h=0;u!(t.command in We)));if(0===n.length)return!1;const r=n.filter((t=>!(t.command in Xe)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((t=>t.command)).join(", ")}.`);return n.forEach((t=>{"setTransition"!==t.command&&"setProjection"!==t.command&&this[t.command].apply(this,t.args)})),this.stylesheet=i,this._updateMapProjection(),!0}addImage(e,i){return this.getImage(e)?this.fire(new t.ErrorEvent(new Error("An image with this name already exists."))):(this.imageManager.addImage(e,i),this._afterImageUpdated(e),this)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){return this.getImage(e)?(this.imageManager.removeImage(e),this._afterImageUpdated(e),this):this.fire(new t.ErrorEvent(new Error("No image with this name exists.")))}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this._availableImages.slice()}addSource(e,i,n={}){if(this._checkLoaded(),void 0!==this.getSource(e))throw new Error("There is already a source with this ID");if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(t.validateSource,`sources.${e}`,i,null,n))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const r=Mt(e,i,this.dispatcher,this);r.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(e),source:r.serialize(),sourceId:e})));const o=i=>{const n=(i?"symbol:":"other:")+e,o=this._sourceCaches[n]=new t.SourceCache(n,r,i);(i?this._symbolSourceCaches:this._otherSourceCaches)[e]=o,o.style=this,o.onAdd(this.map)};o(!1),"vector"!==i.type&&"geojson"!==i.type||o(!0),r.onAdd&&r.onAdd(this.map),this._changed=!0}removeSource(e){this._checkLoaded();const i=this.getSource(e);if(!i)throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while layer "${i}" is using it.`)));if(this.terrain&&this.terrain.get().source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while terrain is using it.`)));const n=this._getSourceCaches(e);for(const e of n)delete this._sourceCaches[e.id],delete this._updatedSources[e.id],e.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e.getSource().id})),e.setEventedParent(null),e.clearTiles();return delete this._otherSourceCaches[e],delete this._symbolSourceCaches[e],i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changed=!0,this}setGeoJSONSourceData(t,e){this._checkLoaded(),this.getSource(t).setData(e),this._changed=!0}getSource(t){const e=this._getSourceCache(t);return e&&e.getSource()}_getSources(){const t=[];for(const e in this._otherSourceCaches){const i=this._getSourceCache(e);i&&t.push(i.getSource())}return t}addLayer(e,i,n={}){this._checkLoaded();const r=e.id;if(this.getLayer(r))return void this.fire(new t.ErrorEvent(new Error(`Layer with id "${r}" already exists on this map`)));let o;if("custom"===e.type){if($e(this,t.validateCustomStyleLayer(e)))return;o=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(r,e.source),e=t.clone$1(e),e=t.extend(e,{source:r})),this._validate(t.validateLayer,`layers.${r}`,e,{arrayIndex:-1},n))return;o=t.createStyleLayer(e),this._validateLayer(o),o.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[o.id]=o.serialize(),this._updateLayerCount(o,!0)}const s=i?this._order.indexOf(i):this._order.length;if(i&&-1===s)return void this.fire(new t.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`)));this._order.splice(s,0,r),this._layerOrderChanged=!0,this._layers[r]=o;const a=this._getLayerSourceCache(o);if(this._removedLayers[r]&&o.source&&a&&"custom"!==o.type){const t=this._removedLayers[r];delete this._removedLayers[r],t.type!==o.type?this._updatedSources[o.source]="clear":(this._updatedSources[o.source]="reload",a.pause())}this._updateLayer(o),o.onAdd&&o.onAdd(this.map),this._updateDrapeFirstLayers()}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const n=this._order.indexOf(e);this._order.splice(n,1);const r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new t.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`))):(this._order.splice(r,0,e),this._layerOrderChanged=!0,this._updateDrapeFirstLayers())}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be removed.`)));i.setEventedParent(null),this._updateLayerCount(i,!1);const n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map),this._updateDrapeFirstLayers()}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}hasLayerType(t){for(const e in this._layers)if(this._layers[e].type===t)return!0;return!1}setLayerZoomRange(e,i,n){this._checkLoaded();const r=this.getLayer(e);r?r.minzoom===i&&r.maxzoom===n||(null!=i&&(r.minzoom=i),null!=n&&(r.maxzoom=n),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot have zoom extent.`)))}setFilter(i,n,r={}){this._checkLoaded();const o=this.getLayer(i);if(o){if(!e(o.filter,n))return null==n?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(t.validateFilter,`layers.${o.id}.filter`,n,{layerType:o.type},r)||(o.filter=t.clone$1(n),this._updateLayer(o)))}else this.fire(new t.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be filtered.`)))}getFilter(e){const i=this.getLayer(e);return i&&t.clone$1(i.filter)}setLayoutProperty(i,n,r,o={}){this._checkLoaded();const s=this.getLayer(i);s?e(s.getLayoutProperty(n),r)||(s.setLayoutProperty(n,r,o),this._updateLayer(s)):this.fire(new t.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)))}getLayoutProperty(e,i){const n=this.getLayer(e);if(n)return n.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style.`)))}setPaintProperty(i,n,r,o={}){this._checkLoaded();const s=this.getLayer(i);s?e(s.getPaintProperty(n),r)||(s.setPaintProperty(n,r,o)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[i]=!0):this.fire(new t.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)))}getPaintProperty(t,e){const i=this.getLayer(t);return i&&i.getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const n=e.source,r=e.sourceLayer,o=this.getSource(n);if(!o)return void this.fire(new t.ErrorEvent(new Error(`The source '${n}' does not exist in the map's style.`)));const s=o.type;if("geojson"===s&&r)return void this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));if("vector"===s&&!r)return void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided.")));const a=this._getSourceCaches(n);for(const t of a)t.setFeatureState(r,e.id,i)}removeFeatureState(e,i){this._checkLoaded();const n=e.source,r=this.getSource(n);if(!r)return void this.fire(new t.ErrorEvent(new Error(`The source '${n}' does not exist in the map's style.`)));const o=r.type,s="vector"===o?e.sourceLayer:void 0;if("vector"===o&&!s)return void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));if(i&&"string"!=typeof e.id&&"number"!=typeof e.id)return void this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));const a=this._getSourceCaches(n);for(const t of a)t.removeFeatureState(s,e.id,i)}getFeatureState(e){this._checkLoaded();const i=e.source,n=e.sourceLayer,r=this.getSource(i);if(r){if("vector"!==r.type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),this._getSourceCaches(i)[0].getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){const e={};for(const t in this._sourceCaches){const i=this._sourceCaches[t].getSource();e[i.id]||(e[i.id]=i.serialize())}return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,terrain:this.getTerrain()||void 0,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:e,layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0;const e=this._getLayerSourceCache(t);t.source&&!this._updatedSources[t.source]&&e&&"raster"!==e.getSource().type&&(this._updatedSources[t.source]="reload",e.pause()),this._changed=!0,t.invalidateCompiledFilter()}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},n=[];for(let r=this._order.length-1;r>=0;r--){const o=this._order[r];if(e(o)){i[o]=r;for(const e of t){const t=e[o];if(t)for(const e of t)n.push(e)}}}n.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const r=[];for(let o=this._order.length-1;o>=0;o--){const s=this._order[o];if(e(s))for(let t=n.length-1;t>=0;t--){const e=n[t].feature;if(i[e.layer.id]{const e=this.getLayer(t);return e&&e.is3D()})):this.has3DLayers(),a=P.createFromScreenPoints(e,n);for(const t in this._sourceCaches){const e=this._sourceCaches[t].getSource().id;i.layers&&!r[e]||o.push(Lt(this._sourceCaches[t],this._layers,this._serializedLayers,a,i,n,s,!!this.map._showQueryGeometry))}return this.placement&&o.push(function(t,e,i,n,r,o,s){const a={},l=o.queryRenderedSymbols(n),c=[];for(const t of Object.keys(l).map(Number))c.push(s[t]);c.sort(Dt);for(const i of c){const n=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],e,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,t);for(const t in n){const e=a[t]=a[t]||[],r=n[t];r.sort(((t,e)=>{const n=i.featureSortOrder;if(n){const i=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of r)e.push(t)}}for(const e in a)a[e].forEach((n=>{const r=n.feature,o=i(t[e]);if(!o)return;const s=o.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=s}));return a}(this._layers,this._serializedLayers,this._getLayerSourceCache.bind(this),a.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateFilter,"querySourceFeatures.filter",i.filter,null,i);const n=this._getSourceCaches(e);let r=[];for(const t of n)r=r.concat(zt(t,i));return r}addSourceType(t,e,i){return Ke.getSourceType(t)?i(new Error(`A source type called "${t}" already exists.`)):(Ke.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(t,i={}){this._checkLoaded();const n=this.light.getLight();let r=!1;for(const i in t)if(!e(t[i],n[i])){r=!0;break}if(!r)return;const o=this._setTransitionParameters({duration:300,delay:0});this.light.setLight(t,i),this.light.updateTransitions(o)}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:"",exaggeration:0},0)}setTerrain(i,n=1){if(this._checkLoaded(),!i)return delete this.terrain,delete this.stylesheet.terrain,this.dispatcher.broadcast("enableTerrain",!1),this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let r=i;if(1===n){if("object"==typeof r.source){const e="terrain-dem-src";this.addSource(e,r.source),r=t.clone$1(r),r=t.extend(r,{source:e})}if(this._validate(t.validateTerrain,"terrain",r))return}if(!this.terrain||this.terrain&&n!==this.terrain.drapeRenderMode){if(!r)return;this._createTerrain(r,n)}else{const i=this.terrain,n=i.get();for(const e of Object.keys(t.spec.terrain))!r.hasOwnProperty(e)&&t.spec.terrain[e].default&&(r[e]=t.spec.terrain[e].default);for(const t in r)if(!e(r[t],n[t])){i.set(r),this.stylesheet.terrain=r;const t=this._setTransitionParameters({duration:0});i.updateTransitions(t);break}}this._updateDrapeFirstLayers(),this._markersNeedUpdate=!0}_createFog(t){const e=this.fog=new S(t,this.map.transform);this.stylesheet.fog=t;const i=this._setTransitionParameters({duration:0});e.updateTransitions(i)}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const t of this.map._markers)t._evaluateOpacity()}))}getFog(){return this.fog?this.fog.get():null}setFog(t){if(this._checkLoaded(),!t)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog,n=i.get();0===Object.keys(t).length&&i.set(t);for(const r in t)if(!e(t[r],n[r])){i.set(t),this.stylesheet.fog=t;const e=this._setTransitionParameters({duration:0});i.updateTransitions(e);break}}else this._createFog(t);this._markersNeedUpdate=!0}_setTransitionParameters(e){return{now:t.exported.now(),transition:t.extend(e,this.stylesheet.transition)}}_updateDrapeFirstLayers(){if(!this.map._optimizeForTerrain||!this.terrain)return;const t=this._order.filter((t=>this.isLayerDraped(this._layers[t]))),e=this._order.filter((t=>!this.isLayerDraped(this._layers[t])));this._drapedFirstOrder=[],this._drapedFirstOrder.push(...t),this._drapedFirstOrder.push(...e)}_createTerrain(t,e){const i=this.terrain=new E(t,e);this.stylesheet.terrain=t,this.dispatcher.broadcast("enableTerrain",!this.terrainSetForDrapingOnly()),this._force3DLayerUpdate();const n=this._setTransitionParameters({duration:0});i.updateTransitions(n)}_force3DLayerUpdate(){for(const t in this._layers){const e=this._layers[t];"fill-extrusion"===e.type&&this._updateLayer(e)}}_forceSymbolLayerUpdate(){for(const t in this._layers){const e=this._layers[t];"symbol"===e.type&&this._updateLayer(e)}}_validate(e,i,n,r,o={}){return(!o||!1!==o.validate)&&$e(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:n,styleSpec:t.spec},r)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback);for(const t in this._layers)this._layers[t].setEventedParent(null);for(const t in this._sourceCaches)this._sourceCaches[t].clearTiles(),this._sourceCaches[t].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()}_clearSource(t){const e=this._getSourceCaches(t);for(const t of e)t.clearTiles()}_reloadSource(t){const e=this._getSourceCaches(t);for(const t of e)t.resume(),t.reload()}_reloadSources(){for(const t of this._getSources())t.reload&&t.reload()}_updateSources(t){for(const e in this._sourceCaches)this._sourceCaches[e].update(t)}_generateCollisionBoxes(){for(const t in this._sourceCaches){const e=this._sourceCaches[t];e.resume(),e.reload()}}_updatePlacement(e,i,n,r,o=!1){let s=!1,a=!1;const l={};for(const t of this._order){const i=this._layers[t];if("symbol"!==i.type)continue;if(!l[i.source]){const t=this._getLayerSourceCache(i);if(!t)continue;l[i.source]=t.getRenderableIds(!0).map((e=>t.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const n=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng,e.projection);s=s||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),o=o||this._layerOrderChanged||0===n,this._layerOrderChanged&&this.fire(new t.Event("neworder")),(o||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Ue(e,this._order,o,i,n,r,this.placement,this.fog&&e.projection.supportsFog?this.fog.state:null),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.exported.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this._sourceCaches)this._sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const n=t=>{t&&t.setDependencies(e.tileID.key,e.type,e.icons)};n(this._otherSourceCaches[e.source]),n(this._symbolSourceCaches[e.source])}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i)}getResource(e,i,n){return t.makeRequest(i,n)}_getSourceCache(t){return this._otherSourceCaches[t]}_getLayerSourceCache(t){return"symbol"===t.type?this._symbolSourceCaches[t.source]:this._otherSourceCaches[t.source]}_getSourceCaches(t){const e=[];return this._otherSourceCaches[t]&&e.push(this._otherSourceCaches[t]),this._symbolSourceCaches[t]&&e.push(this._symbolSourceCaches[t]),e}_isSourceCacheLoaded(e){const i=this._getSourceCaches(e);return 0===i.length?(this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`))),!1):i.every((t=>t.loaded()))}has3DLayers(){return this._num3DLayers>0}hasSymbolLayers(){return this._numSymbolLayers>0}hasCircleLayers(){return this._numCircleLayers>0}_clearWorkerCaches(){this.dispatcher.broadcast("clearCaches")}destroy(){this._clearWorkerCaches(),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain)}}Ke.getSourceType=function(t){return It[t]},Ke.setSourceType=function(t,e){It[t]=e},Ke.registerForPluginStateChange=t.registerForPluginStateChange;var Je="\n#define EPSILON 0.0000001\n#define PI 3.141592653589793\n#define EXTENT 8192.0\n#define HALF_PI PI/2.0\n#define QUARTER_PI PI/4.0\n#define RAD_TO_DEG 180.0/PI\n#define DEG_TO_RAD PI/180.0\n#define GLOBE_RADIUS EXTENT/PI/2.0",Qe="attribute highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;varying highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}",ti="\n#define ELEVATION_SCALE 7.0\n#define ELEVATION_OFFSET 450.0\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\n#else\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\n#endif\nconst float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}\n#ifdef TERRAIN\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;\n#else\nuniform sampler2D u_dem;uniform sampler2D u_dem_prev;\n#endif\nuniform vec4 u_dem_unpack;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float decodeElevation(vec4 v) {return dot(vec4(v.xyz*255.0,-1.0),u_dem_unpack);}float currentElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem,pos));\n#ifdef TERRAIN_DEM_NEAREST_FILTER\nreturn u_exaggeration*tl;\n#endif\nfloat tr=decodeElevation(texture2D(u_dem,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}float prevElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem_prev,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem_prev,pos));float tr=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem_prev,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}\n#ifdef TERRAIN_VERTEX_MORPHING\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\n#else\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nreturn currentElevation(apos);}\n#endif\nhighp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture2D(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\nunpack_depth(texture2D(u_depth,uv-df.xz)),unpack_depth(texture2D(u_depth,uv+df.xz)),unpack_depth(texture2D(u_depth,uv-df.zy)),unpack_depth(texture2D(u_depth,uv+df.zy))\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nfloat tl=texture2D(u_dem,pos).a;float tr=texture2D(u_dem,pos+vec2(off.x,0.0)).a;float bl=texture2D(u_dem,pos+vec2(0.0,off.y)).a;float br=texture2D(u_dem,pos+off).a;\n#else\nvec4 demtl=vec4(texture2D(u_dem,pos).xyz*255.0,-1.0);float tl=dot(demtl,u_dem_unpack);vec4 demtr=vec4(texture2D(u_dem,pos+vec2(off.x,0.0)).xyz*255.0,-1.0);float tr=dot(demtr,u_dem_unpack);vec4 dembl=vec4(texture2D(u_dem,pos+vec2(0.0,off.y)).xyz*255.0,-1.0);float bl=dot(dembl,u_dem_unpack);vec4 dembr=vec4(texture2D(u_dem,pos+off).xyz*255.0,-1.0);float br=dot(dembr,u_dem_unpack);\n#endif\nreturn vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\n#else\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\n#endif",ei="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;varying vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\n#endif",ii="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump float u_fog_temporal_offset;varying vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,opacity);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec3 fog_dither(vec3 color) {vec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\n#endif";let ni={},ri={};const oi=[];ui(Je,oi),ui(ti,oi),ui(ei,oi),ui(ii,oi),ni=hi("",ti),ri=hi(ii,ei);const si=hi("\n#if __VERSION__ >=300\n#define varying in\n#define gl_FragColor glFragColor\n#define texture2D texture\n#define textureCube texture\nout vec4 glFragColor;\n#endif\nhighp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}highp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}","\n#if __VERSION__ >=300\n#define attribute in\n#define varying out\n#define texture2D texture\n#endif\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\n#ifndef PROJECTED_POS_ON_VIEWPORT\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\n#else\nreturn vec3(0.0);\n#endif\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}const vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);//Normalized device coordinate that is not rendered."),ai=Je,li="\n#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif";var ci={background:hi("uniform vec4 u_color;uniform float u_opacity;\n#ifdef LIGHTING_3D_MODE\nvarying vec4 v_color;\n#endif\nvoid main() {vec4 out_color;\n#ifdef LIGHTING_3D_MODE\nout_color=v_color;\n#else\nout_color=u_color;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#ifdef LIGHTING_3D_MODE\nuniform vec4 u_color;varying vec4 v_color;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(u_color);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),backgroundPattern:hi("uniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),circle:hi("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\n#endif\ngl_FragColor=out_color*(v_visibility*opacity_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","#define NUM_VISIBILITY_RINGS 2\n#define INV_SQRT2 0.70710678\n#define ELEVATION_BIAS 0.0001\n#define NUM_SAMPLES_PER_RING 16\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\n#if defined(TERRAIN)\nreturn elevation(pos)+ELEVATION_BIAS;\n#else\nreturn 0.0;\n#endif\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\n#ifdef PITCH_WITH_MAP\n#ifdef PROJECTION_GLOBE_VIEW\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\n#else\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\n#endif\n#else\nreturn projected_center+vec4(sample_offset,0,0);\n#endif\n}float get_sample_step() {\n#ifdef PITCH_WITH_MAP\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\n#else\nreturn PI/float(NUM_SAMPLES_PER_RING);\n#endif\n}void main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\n#else \nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\n#endif\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\n#ifdef PITCH_WITH_MAP\n#ifdef SCALE_WITH_MAP\nview_scale=1.0;\n#else\nview_scale=projected_center.w/u_camera_to_center_distance;\n#endif\n#else\n#ifdef SCALE_WITH_MAP\nview_scale=u_camera_to_center_distance;\n#else\nview_scale=projected_center.w;\n#endif\n#endif\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\n#ifdef TERRAIN\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\n#ifdef PITCH_WITH_MAP\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\n#else\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\n#endif\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\n#else\nvisibility=1.0;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nvisibility=1.0;\n#endif\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\n#ifdef FOG\nv_fog_pos=fog_position(world_center.xyz);\n#endif\n}"),clippingMask:hi("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:hi("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef FOG\nif (u_is_globe==0) {gl_FragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#else\npos=vec3(tilePos+extrude,elevation(tilePos));\n#endif\ngl_Position=u_matrix*vec4(pos,1);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),heatmapTexture:hi("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}"),collisionBox:hi("varying float v_placed;varying float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);gl_FragColor =mix(red,blue,step(0.5,v_placed))*0.5;gl_FragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}","attribute vec3 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;attribute float a_size_scale;attribute vec2 a_padding;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*elevation(a_anchor_pos),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:hi("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos_2f;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:hi("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;\n#endif\nvarying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\n#else\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\n#endif\n}"),fill:hi("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\nvec4 out_color=color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutline:hi("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutlinePattern:hi("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillPattern:hi("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillExtrusion:hi("varying vec4 v_color;\n#ifdef RENDER_SHADOWS\nvarying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\nvoid main() {\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvec3 normal=v_normal;\n#endif\nfloat z;vec4 color;\n#ifdef ZERO_ROOF_RADIUS\nz=float(normal.z > 0.00001);color=mix(v_color,v_roof_color,z);\n#else\ncolor=v_color;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\n#ifdef ZERO_ROOF_RADIUS\nconcave*=(1.0-z);\n#endif\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);color.rgb=color.rgb*shade;\n#endif\n#ifdef RENDER_SHADOWS\n#ifdef ZERO_ROOF_RADIUS\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\n#endif\ncolor.xyz=shadowed_color_normal(color.xyz,normalize(normal),v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec4 v_color;\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nv_normal=normal;\n#endif\nbase=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=0.0;float c_ele;vec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\n#else\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);\n#ifdef RENDER_SHADOWS\nv_pos_light_view_0=u_light_matrix_0*vec4(pos,1);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1);v_depth=gl_Position.w;\n#endif\nfloat NdotL=0.0;float colorvalue=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}v_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(color,NdotL);\n#else\nv_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_color*=u_opacity;\n#ifdef ZERO_ROOF_RADIUS\nv_roof_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef LIGHTING_3D_MODE\nv_roof_color=apply_lighting(color,calculate_NdotL(vec3(0.0,0.0,1.0)));\n#else\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_roof_color*=u_opacity;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),fillExtrusionPattern:hi("uniform vec2 u_texsize;uniform sampler2D u_image;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;uniform lowp float u_opacity;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color,v_NdotL)*u_opacity;\n#else\nout_color=out_color*v_lighting;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\n#else\np=vec3(pos_nx.xy,z);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\n? pos_nx.xy\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_NdotL=NdotL;\n#else\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\n#endif \n#ifdef FOG\nv_fog_pos=fog_position(p);\n#endif\n}"),hillshadePrepare:hi("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nreturn texture2D(u_image,coord).a/4.0;\n#else\nvec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;\n#endif\n}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\n)/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:hi("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef LIGHTING_3D_MODE\ngl_FragColor=apply_lighting(gl_FragColor);\n#endif\n#ifdef FOG\ngl_FragColor=fog_dither(fog_apply_premultiplied(gl_FragColor,v_fog_pos));\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),line:hi("uniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform sampler2D u_dash_image;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform sampler2D u_gradient_image;\n#endif\nuniform float u_border_width;uniform vec4 u_border_color;float luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\n#ifdef RENDER_LINE_DASH\nfloat sdfdist=texture2D(u_dash_image,v_tex).a;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\n#endif\nhighp vec4 out_color;\n#ifdef RENDER_LINE_GRADIENT\nout_color=texture2D(u_gradient_image,v_uv.xy);\n#else\nout_color=color;\n#endif\nfloat trimmed=1.0;\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\n#endif\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\n#ifdef RENDER_LINE_ALPHA_DISCARD\nif (alpha < u_alpha_discard_threshold) {discard;}\n#endif\n#ifdef RENDER_LINE_BORDER\nfloat edgeBlur=(u_border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);\n#ifdef RENDER_LINE_BORDER_AUTO\nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}\n#else\nout_color.rgb=mix(u_border_color.rgb*u_border_color.a*trimmed,out_color.rgb,smoothAlpha);\n#endif\n}\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define EXTRUDE_SCALE 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nattribute highp vec4 a_packed;\n#endif\n#ifdef RENDER_LINE_DASH\nattribute float a_linesofar;\n#endif\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform float u_image_height;\n#endif\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\n#ifdef RENDER_LINE_GRADIENT\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\n#else\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\n#endif\n#ifdef RENDER_LINE_DASH\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\n#endif\nv_width2=vec2(outset,inset);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),linePattern:hi("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_tile_units_to_pixels;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x=mod(v_linesofar/pattern_size.x*aspect,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec4 color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\ncolor=apply_lighting(color);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_linesofar;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),raster:hi("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply(out_color,v_fog_pos));\n#endif\ngl_FragColor=vec4(out_color*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {float w=1.0+dot(a_texture_pos,u_perspective_transform);gl_Position=u_matrix*vec4(a_pos*w,0,w);v_pos0=a_texture_pos/8192.0;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),symbolIcon:hi("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;}"),symbolSDF:hi("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade);}"),symbolTextAndIcon:hi("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade,is_sdf);}"),terrainRaster:hi("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nvarying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nvoid main() {vec4 color=texture2D(u_image0,v_pos0);\n#ifdef RENDER_SHADOWS\ncolor.xyz=shadowed_color(color.xyz,v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#else\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\n#endif\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_skirt_height;attribute vec2 a_pos;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nconst float wireframeOffset=0.00015;void main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;\n#ifdef TERRAIN_WIREFRAME\nelevation+=wireframeOffset;\n#endif\nv_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\nv_fog_pos=fog_position(decodedPos);\n#else\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);v_depth=gl_Position.w;\n#endif\n}"),terrainDepth:hi("#ifdef GL_ES\nprecision highp float;\n#endif\nvarying float v_depth;void main() {gl_FragColor=pack_depth(v_depth);}","uniform mat4 u_matrix;attribute vec2 a_pos;varying float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}"),skybox:hi("\nvarying lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=textureCube(u_cubemap,uv).rgb;\n#ifdef FOG\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\n#endif\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);gl_FragColor=vec4(sky_color*u_opacity,u_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",Qe),skyboxGradient:hi("varying highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture2D(u_color_ramp,vec2(progress,0.5));\n#ifdef FOG\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\n#endif\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",Qe),skyboxCapture:hi("\nvarying highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;\n#ifdef GL_ES\nprecision highp float;\n#endif\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\n#define BETA_M vec3(21e-6,21e-6,21e-6)\n#define MIE_G 0.76\n#define DENSITY_HEIGHT_SCALE_R 8000.0\n#define DENSITY_HEIGHT_SCALE_M 1200.0\n#define PLANET_RADIUS 6360e3\n#define ATMOSPHERE_RADIUS 6420e3\n#define SAMPLE_STEPS 10\n#define DENSITY_STEPS 4\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;gl_FragColor=vec4(color,1.0);}","attribute highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;varying highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}"),globeRaster:hi("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifndef FOG\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\n#endif\nvoid main() {vec4 color;\n#ifdef CUSTOM_ANTIALIASING\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture2D(u_image0,v_pos0);color=vec4(raster.rgb*antialias,raster.a*antialias);\n#else\ncolor=texture2D(u_image0,v_pos0);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\n#ifdef GLOBE_POLES\nattribute vec3 a_globe_pos;attribute vec2 a_uv;\n#else\nattribute vec2 a_pos;\n#endif\nvarying vec2 v_pos0;const float wireframeOffset=1e3;float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(QUARTER_PI+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}void main() {\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\n#else\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\n#endif\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\n#ifdef GLOBE_POLES\nvec3 up_vector=globe_derived_up_vector;\n#else\nvec3 up_vector=elevationVector(tile_pos);\n#endif\nfloat height=elevation(tile_pos);\n#ifdef TERRAIN_WIREFRAME\nheight+=wireframeOffset;\n#endif\nglobe_pos+=up_vector*height;\n#ifndef GLOBE_POLES\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\n#endif\n#ifdef GLOBE_POLES\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\n#else\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\n#endif\ngl_Position=u_proj_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n}"),globeAtmosphere:hi("uniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec3 u_start_color;uniform vec4 u_color;uniform vec4 u_space_color;uniform vec4 u_high_color;uniform float u_star_intensity;uniform float u_star_size;uniform float u_star_density;uniform float u_horizon_angle;uniform mat4 u_rotation_matrix;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;highp float random(highp vec3 p) {p=fract(p*vec3(23.2342,97.1231,91.2342));p+=dot(p.zxy,p.yxz+123.1234);return fract(p.x*p.y);}float stars(vec3 p,float scale,vec2 offset) {vec2 uv_scale=(u_viewport/u_star_size)*scale;vec3 position=vec3(p.xy*uv_scale+offset*u_viewport,p.z);vec3 q=fract(position)-0.5;vec3 id=floor(position);float random_visibility=step(random(id),u_star_density);float circle=smoothstep(0.5+u_star_intensity,0.5,length(q));return circle*random_visibility;}void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\n#ifdef PROJECTION_GLOBE_VIEW\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {discard;return;}\n#endif\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\n0.0 : max(acos(dot(dir,horizon_dir)),0.0);float horizon_angle;\n#ifdef PROJECTION_GLOBE_VIEW\nhighp vec3 closest_point=globe_pos_dot_dir*dir;float closest_point_to_center=length(closest_point-u_globe_pos);float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\n#else\nhorizon_angle=horizon_angle_mercator;\n#endif\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;vec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c =mix(color_stop_2,c2,t);float a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);vec2 uv=gl_FragCoord.xy/u_viewport-0.5;float aspect_ratio=u_viewport.x/u_viewport.y;vec4 uv_dir=vec4(normalize(vec3(uv.x*aspect_ratio,uv.y,1.0)),1.0);uv_dir=u_rotation_matrix*uv_dir;vec3 n=abs(uv_dir.xyz);vec2 uv_remap=(n.x > n.y && n.x > n.z) ? uv_dir.yz/uv_dir.x:\n(n.y > n.x && n.y > n.z) ? uv_dir.zx/uv_dir.y:\nuv_dir.xy/uv_dir.z;uv_remap.x/=aspect_ratio;vec3 D=vec3(uv_remap,1.0);highp float star_field=0.0;if (u_star_intensity > 0.0) {star_field+=stars(D,1.2,vec2(0.0,0.0));star_field+=stars(D,1.0,vec2(1.0,0.0));star_field+=stars(D,0.8,vec2(0.0,1.0));star_field+=stars(D,0.6,vec2(1.0,1.0));star_field*=(1.0-pow(t,0.25+(1.0-u_high_color.a)*0.75));c+=star_field*alpha_2;}c=dither(c,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=vec4(c,a);}","attribute vec3 a_pos;attribute vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}")};function ui(t,e){const i=t.replace(/\s*\/\/[^\n]*\n/g,"\n").split("\n");for(let t of i)if(t=t.trim(),"#"===t[0]&&t.includes("if")&&!t.includes("endif")){t=t.replace("#","").replace(/ifdef|ifndef|elif|if/g,"").replace(/!|defined|\(|\)|\|\||&&/g,"").replace(/\s+/g," ").trim();const i=t.split(" ");for(const t of i)e.includes(t)||e.push(t)}}function hi(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute (highp |mediump |lowp )?([\w]+) ([\w]+)/g),r={},o=[...oi];return ui(t,o),ui(e,o),{fragmentSource:t=t.replace(i,((t,e,i,n,o)=>(r[o]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${o}\nvarying ${i} ${n} ${o};\n#else\nuniform ${i} ${n} u_${o};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${o}\n ${i} ${n} ${o} = u_${o};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,n,o)=>{const s="float"===n?"vec2":"vec4",a=o.match(/color/)?"color":s;return r[o]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${o}\nuniform lowp float u_${o}_t;\nattribute ${i} ${s} a_${o};\nvarying ${i} ${n} ${o};\n#else\nuniform ${i} ${n} u_${o};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${o}\n ${o} = a_${o};\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${o}\n ${o} = unpack_mix_${a}(a_${o}, u_${o}_t);\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${o}\nuniform lowp float u_${o}_t;\nattribute ${i} ${s} a_${o};\n#else\nuniform ${i} ${n} u_${o};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${o}\n ${i} ${n} ${o} = a_${o};\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${o}\n ${i} ${n} ${o} = unpack_mix_${a}(a_${o}, u_${o}_t);\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`})),staticAttributes:n,usedDefines:o}}class pi{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null}bind(t,e,i,n,r,o,s){this.context=t;let a=this.boundPaintVertexBuffers.length!==n.length;for(let t=0;!a&&t{const r=i.paint.get("hillshade-shadow-color"),o=i.paint.get("hillshade-highlight-color"),s=i.paint.get("hillshade-accent-color");let a=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(a-=t.transform.angle);const l=!t.options.moving;return{u_matrix:n||t.transform.calculateProjMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:di(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),a],u_shadow:r,u_highlight:o,u_accent:s}})(e,n,r,e.terrain?i.projMatrix:null);e.prepareDrawProgram(l,h,i.toUnwrapped());const{tileBoundsBuffer:d,tileBoundsIndexBuffer:f,tileBoundsSegments:m}=e.getTileBoundsBuffers(n);h.draw(l,c.TRIANGLES,o,s,a,t.CullFaceMode.disabled,p,r.id,d,f,m)}function mi(e,i,n){if(!i.needsDEMTextureUpload)return;const r=e.context,o=r.gl;r.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(n.stride);const s=n.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new t.Texture(r,s,o.RGBA,{premultiply:!1}),i.needsDEMTextureUpload=!1}function gi(e,i,n,r,o,s){const a=e.context,l=a.gl;if(!i.dem)return;const c=i.dem;if(a.activeTexture.set(l.TEXTURE1),mi(e,i,c),!i.demTexture)return;i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);const u=c.dim;a.activeTexture.set(l.TEXTURE0);let h=i.fbo;if(!h){const e=new t.Texture(a,{width:u,height:u,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),h=i.fbo=a.createFramebuffer(u,u,!0),h.colorAttachment.set(e.texture)}a.bindFramebuffer.set(h.framebuffer),a.viewport.set([0,0,u,u]);const{tileBoundsBuffer:p,tileBoundsIndexBuffer:d,tileBoundsSegments:f}=e.getMercatorTileBoundsBuffers();e.useProgram("hillshadePrepare").draw(a,l.TRIANGLES,r,o,s,t.CullFaceMode.disabled,((e,i)=>{const n=i.stride,r=t.create();return t.ortho(r,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(r,r,[0,-t.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:i.unpackVector}})(i.tileID,c),n.id,p,d,f),i.needsHillshadePrepare=!1}const _i=e=>({u_matrix:new t.UniformMatrix4f(e),u_image0:new t.Uniform1i(e),u_skirt_height:new t.Uniform1f(e)}),yi=(t,e)=>({u_matrix:t,u_image0:0,u_skirt_height:e}),vi=(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f)=>({u_proj_matrix:Float32Array.from(t),u_globe_matrix:e,u_normalize_matrix:Float32Array.from(n),u_merc_matrix:i,u_zoom_transition:r,u_merc_center:o,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:u,u_globe_radius:h,u_viewport:p,u_grid_matrix:f?Float32Array.from(f):new Float32Array(9),u_skirt_height:d});function xi(t,e){return null!=t&&null!=e&&!(!t.hasData()||!e.hasData())&&null!=t.demTexture&&null!=e.demTexture&&t.tileID.key!==e.tileID.key}const bi=new class{constructor(){this.operations={}}newMorphing(t,e,i,n,r){if(t in this.operations){const e=this.operations[t];e.to.tileID.key!==i.tileID.key&&(e.queued=i)}else this.operations[t]={startTime:n,phase:0,duration:r,from:e,to:i,queued:null}}getMorphValuesForProxy(t){if(!(t in this.operations))return null;const e=this.operations[t];return{from:e.from,to:e.to,phase:e.phase}}update(t){for(const e in this.operations){const i=this.operations[e];for(i.phase=(t-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,t)){delete this.operations[e];break}}}_nextOp(t,e){return!!t.queued&&(t.from=t.to,t.to=t.queued,t.queued=null,t.phase=0,t.startTime=e,!0)}_validOp(t){return t.from.hasData()&&t.to.hasData()}},wi={0:null,1:"TERRAIN_VERTEX_MORPHING",2:"TERRAIN_WIREFRAME"};function Ai(t){return 6*Math.pow(1.5,22-t)}function Ei(t,e){const i=1<({u_matrix:t});function Ti(e,i,n,r,o){if(o>0){const s=t.exported.now(),a=(s-e.timeAdded)/o,l=i?(s-i.timeAdded)/o:-1,c=n.getSource(),u=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(e.tileID.overscaledZ-u),p=h&&e.refreshedUponExpiration?1:t.clamp(h?a:1-l,0,1);return e.refreshedUponExpiration&&a>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}class ki extends t.SourceCache{constructor(t){const e={type:"raster-dem",maxzoom:t.transform.maxZoom},i=new I(Ft(),null),n=Mt("mock-dem",e,i,t.style);super("mock-dem",n,!1),n.setEventedParent(this),this._sourceLoaded=!0}_loadTile(t,e){t.state="loaded",e(null)}}class Si extends t.SourceCache{constructor(t){const e=Mt("proxy",{type:"geojson",maxzoom:t.transform.maxZoom},new I(Ft(),null),t.style);super("proxy",e,!1),e.setEventedParent(this),this.map=this.getSource().map=t,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}update(e,i,n){if(e.freezeTileCoverage)return;this.transform=e;const r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((i,n)=>{if(i[n.key]="",!this._tiles[n.key]){const i=new t.Tile(n,this._source.tileSize*n.overscaleFactor(),e.tileZoom);i.state="loaded",this._tiles[n.key]=i}return i}),{});for(const t in this._tiles)t in r||(this.freeFBO(t),this._tiles[t].unloadVectorData(),delete this._tiles[t])}freeFBO(t){const e=this.proxyCachedFBO[t];if(void 0!==e){const i=Object.values(e);this.renderCachePool.push(...i),delete this.proxyCachedFBO[t]}}deallocRenderCache(){this.renderCache.forEach((t=>t.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}}class Ii extends t.OverscaledTileID{constructor(t,e,i){super(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y),this.proxyTileKey=e,this.projMatrix=i}}class Mi extends t.Elevation{constructor(e,i){super(),this.painter=e,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[n,r,o]=function(e){const i=new t.StructArrayLayout2i4,n=new t.StructArrayLayout3ui6,r=131;i.reserve(17161),n.reserve(33800);const o=t.EXTENT/128,s=t.EXTENT+o/2,a=s+o;for(let e=-o;es||e<0||e>s?24575:0,o=t.clamp(Math.round(n),0,t.EXTENT),a=t.clamp(Math.round(e),0,t.EXTENT);i.emplaceBack(o+r,a)}const l=(t,e)=>{const i=e*r+t;n.emplaceBack(i+1,i,i+r),n.emplaceBack(i+r,i+r+1,i+1)};for(let t=1;t<129;t++)for(let e=1;e<129;e++)l(e,t);return[0,129].forEach((t=>{for(let e=0;e<130;e++)l(e,t),l(t,e)})),[i,n,32768]}(),s=e.context;this.gridBuffer=s.createVertexBuffer(n,t.posAttributes.members),this.gridIndexBuffer=s.createIndexBuffer(r),this.gridSegments=t.SegmentVector.simpleSegment(0,0,n.length,r.length),this.gridNoSkirtSegments=t.SegmentVector.simpleSegment(0,0,n.length,o),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new Si(i.map),this.orthoMatrix=t.create(),t.ortho(this.orthoMatrix,"globe"===this.painter.transform.projection.name?.015:0,t.EXTENT,0,t.EXTENT,0,1);const a=s.gl;this._overlapStencilMode=new t.StencilMode({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=e.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new ki(i.map)}set style(t){t.on("data",this._onStyleDataEvent.bind(this)),t.on("neworder",this._checkRenderCacheEfficiency.bind(this)),this._style=t,this._checkRenderCacheEfficiency(),this._style.map.on("moveend",(()=>{this._clearLineLayersFromRenderCache()}))}update(e,i,n){if(e&&e.terrain){this._style!==e&&(this.style=e),this.enabled=!0;const r=e.terrain.properties;this.sourceCache=0===e.terrain.drapeRenderMode?this._mockSourceCache:e._getSourceCache(r.get("source")),this._exaggeration=r.get("exaggeration");const o=()=>{this.sourceCache.used&&t.warnOnce(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const e=this.getScaledDemTileSize();this.sourceCache.update(i,e,!0),this.resetTileLookupCache(this.sourceCache.id)};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,o(),this._initializing=!0),o(),i.updateElevation(!0,n),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0}else this._disable()}resetTileLookupCache(t){this._findCoveringTileCache[t]={}}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_checkRenderCacheEfficiency(){const e=this.renderCacheEfficiency(this._style);this._style.map._optimizeForTerrain||100!==e.efficiency&&t.warnOnce(`Terrain render cache efficiency is not optimal (${e.efficiency}%) and performance\n may be affected negatively, consider placing all background, fill and line layers before layer\n with id '${e.firstUndrapedLayer}' or create a map using optimizeForTerrain: true option.`)}_onStyleDataEvent(t){t.coord&&"source"===t.dataType?this._clearRenderCacheForTile(t.sourceCacheId,t.coord):"style"===t.dataType&&(this._invalidateRenderCache=!0)}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const t in this._style._sourceCaches)this._style._sourceCaches[t].usedForTerrain=!1}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((t=>t.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0)}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const t=2*this.proxySourceCache.getSource().tileSize;return[t,t]}set useVertexMorphing(t){this._useVertexMorphing=t}updateTileBinding(e){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,n=this.painter.transform;this._initializing&&(this._initializing=0===n._centerAltitude&&-1===this.getAtPointOrZero(t.MercatorCoordinate.fromLngLat(n.center),-1),this._emptyDEMTextureDirty=!this._initializing);const r=this.proxyCoords=i.getIds().map((t=>{const e=i.getTileByID(t).tileID;return e.projMatrix=n.calculateProjMatrix(e.toUnwrapped()),e}));!function(e,i){const n=i.transform.pointCoordinate(i.transform.getCameraPoint()),r=new t.Point(n.x,n.y);e.sort(((e,i)=>{if(i.overscaledZ-e.overscaledZ)return i.overscaledZ-e.overscaledZ;const n=new t.Point(e.canonical.x+(1<{this.proxyToSource[t.key]={}})),this.terrainTileForTile={};const s=this._style._sourceCaches;for(const t in s){const i=s[t];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,e[t],o),i.usedForTerrain)continue;const n=e[t];i.getSource().reparseOverscaled&&this._assignTerrainTiles(n)}this.proxiedCoords[i.id]=r.map((t=>new Ii(t,t.key,this.orthoMatrix))),this._assignTerrainTiles(r),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(o),this.renderingToTexture=!1,this._updateTimestamp=t.exported.now();const a={};this._visibleDemTiles=[];for(const t of this.proxyCoords){const e=this.terrainTileForTile[t.key];if(!e)continue;const i=e.tileID.key;i in a||(this._visibleDemTiles.push(e),a[i]=i)}}_assignTerrainTiles(t){this._initializing||t.forEach((t=>{if(this.terrainTileForTile[t.key])return;const e=this._findTileCoveringTileID(t,this.sourceCache);e&&(this.terrainTileForTile[t.key]=e)}))}_prepareDEMTextures(){const t=this.painter.context,e=t.gl;for(const i in this.terrainTileForTile){const n=this.terrainTileForTile[i],r=n.dem;!r||n.demTexture&&!n.needsDEMTextureUpload||(t.activeTexture.set(e.TEXTURE1),mi(this.painter,n,r))}}_prepareDemTileUniforms(t,e,i,n){if(!e||null==e.demTexture)return!1;const r=t.tileID.canonical,o=Math.pow(2,e.tileID.canonical.z-r.z),s=n||"";return i[`u_dem_tl${s}`]=[r.x*o%1,r.y*o%1],i[`u_dem_scale${s}`]=o,!0}get emptyDEMTexture(){return!this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const e=this.painter.context,i=e.gl;if(!this._emptyDepthBufferTexture){const n=new t.RGBAImage({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new t.Texture(e,n,i.RGBA,{premultiply:!1})}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let t=0;const e=this._visibleDemTiles.reduce(((e,i)=>{if(!i.dem)return e;const n=i.dem.tree.minimums[0];return n>0&&t++,e+n}),0);return t?e/t:0}_updateEmptyDEMTexture(){const e=this.painter.context,i=e.gl;e.activeTexture.set(i.TEXTURE2);const n=this._getLoadedAreaMinimum(),r=new t.RGBAImage({width:1,height:1},new Uint8Array(t.DEMData.pack(n,this.sourceCache.getSource().encoding)));this._emptyDEMTextureDirty=!1;let o=this._emptyDEMTexture;return o?o.update(r,{premultiply:!1}):o=this._emptyDEMTexture=new t.Texture(e,r,i.RGBA,{premultiply:!1}),o}setupElevationDraw(e,i,n){const r=this.painter.context,o=r.gl,s=(a=this.sourceCache.getSource().encoding,{u_dem:2,u_dem_prev:4,u_dem_unpack:t.DEMData.getUnpackVector(a),u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0});var a;s.u_dem_size=this.sourceCache.getSource().tileSize,s.u_exaggeration=this.exaggeration();let l=null,c=null,u=1;if(n&&n.morphing&&this._useVertexMorphing){const t=n.morphing.srcDemTile,i=n.morphing.dstDemTile;u=n.morphing.phase,t&&i&&(this._prepareDemTileUniforms(e,t,s,"_prev")&&(c=t),this._prepareDemTileUniforms(e,i,s)&&(l=i))}if(c&&l?(r.activeTexture.set(o.TEXTURE2),l.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE,o.NEAREST),r.activeTexture.set(o.TEXTURE4),c.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE,o.NEAREST),s.u_dem_lerp=u):(l=this.terrainTileForTile[e.tileID.key],r.activeTexture.set(o.TEXTURE2),(this._prepareDemTileUniforms(e,l,s)?l.demTexture:this.emptyDEMTexture).bind(o.NEAREST,o.CLAMP_TO_EDGE)),r.activeTexture.set(o.TEXTURE3),n&&n.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),n&&n.useMeterToDem&&l){const e=(1<{if(c===t)return;const n=[wi[t],"PROJECTION_GLOBE_VIEW"];p&&n.push("CUSTOM_ANTIALIASING"),i&&n.push(wi[u]),l=e.useProgram("globeRaster",null,n),c=t},f=e.colorModeForRenderPass(),m=new t.DepthMode(a.LEQUAL,t.DepthMode.ReadWrite,e.depthRangeFor3D);bi.update(o);const g=t.calculateGlobeMercatorMatrix(h),_=[t.mercatorXfromLng(h.center.lng),t.mercatorYfromLat(h.center.lat)],y=u?[!1,!0]:[!1],v=e.globeSharedBuffers,x=[h.width*t.exported.devicePixelRatio,h.height*t.exported.devicePixelRatio],b=Float32Array.from(h.globeMatrix),w={useDenormalizedUpVectorScale:!0};if(y.forEach((u=>{const h=e.transform,p=Ai(h.zoom)*i.exaggeration();c=-1;const y=u?a.LINES:a.TRIANGLES;for(const c of r){const r=n.getTile(c),A=t.StencilMode.disabled,E=i.prevTerrainTileForTile[c.key],C=i.terrainTileForTile[c.key];xi(E,C)&&bi.newMorphing(c.key,E,C,o,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const T=bi.getMorphValuesForProxy(c.key),k=T?1:0;T&&t.extend$1(w,{morphing:{srcDemTile:T.from,dstDemTile:T.to,phase:t.easeCubicInOut(T.phase)}});const S=t.tileCornersToBounds(c.canonical),I=t.getLatitudinalLod(S.getCenter().lat),M=t.getGridMatrix(c.canonical,S,I,h.worldSize/h._pixelsPerMercatorPixel),P=t.globeNormalizeECEF(t.globeTileBounds(c.canonical)),L=vi(h.projMatrix,b,g,P,t.globeToMercatorTransition(h.zoom),_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,x,p,M);if(d(k,u),i.setupElevationDraw(r,l,w),e.prepareDrawProgram(s,l,c.toUnwrapped()),v){const[i,n,r]=u?v.getWirefameBuffers(e.context,I):v.getGridBuffers(I,0!==p);l.draw(s,y,m,A,f,t.CullFaceMode.backCCW,L,"globe_raster",i,n,r)}}})),v){const o=["GLOBE_POLES","PROJECTION_GLOBE_VIEW"];p&&o.push("CUSTOM_ANTIALIASING"),l=e.useProgram("globeRaster",null,o);for(const o of r){const{x:r,y:c,z:u}=o.canonical,p=0===c,d=c===(1<e.draw(s,a.TRIANGLES,m,t.StencilMode.disabled,f,t.CullFaceMode.disabled,vi(h.projMatrix,v,v,E,0,_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,x,0),"globe_pole_raster",i,b,A);i.setupElevationDraw(c,l,w),e.prepareDrawProgram(s,l,o.toUnwrapped()),p&&C(l,g),d&&(v=t.scale(t.create(),v,[1,-1,1]),C(l,y))}}}}(e,i,n,r,o);else{const s=e.context,a=s.gl;let l,c;const u=e.options.showTerrainWireframe?2:0,h=(t,i)=>{if(c===t)return;const n=[wi[t]];i&&n.push(wi[u]),l=e.useProgram("terrainRaster",null,n),c=t},p=e.colorModeForRenderPass(),d=new t.DepthMode(a.LEQUAL,t.DepthMode.ReadWrite,e.depthRangeFor3D);bi.update(o);const f=e.transform,m=Ai(f.zoom)*i.exaggeration();(u?[!1,!0]:[!1]).forEach((u=>{c=-1;const g=u?a.LINES:a.TRIANGLES,[_,y]=u?i.getWirefameBuffer():[i.gridIndexBuffer,i.gridSegments];for(const c of r){const r=n.getTile(c),v=t.StencilMode.disabled,x=i.prevTerrainTileForTile[c.key],b=i.terrainTileForTile[c.key];xi(x,b)&&bi.newMorphing(c.key,x,b,o,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);const w=bi.getMorphValuesForProxy(c.key),A=w?1:0;let E;w&&(E={morphing:{srcDemTile:w.from,dstDemTile:w.to,phase:t.easeCubicInOut(w.phase)}});const C=yi(c.projMatrix,Ei(c.canonical,f.renderWorldCopies)?m/10:m);h(A,u),i.setupElevationDraw(r,l,E),e.prepareDrawProgram(s,l,c.toUnwrapped()),l.draw(s,g,d,v,p,t.CullFaceMode.backCCW,C,"terrain_raster",i.gridBuffer,_,y)}}))}}(i,this,this.proxySourceCache,e,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),e.splice(0,e.length))}renderBatch(e){if(0===this._drapedRenderBatches.length)return e+1;this.renderingToTexture=!0;const i=this.painter,n=this.painter.context,r=this.proxySourceCache,o=this.proxiedCoords[r.id],s=this._drapedRenderBatches.shift(),a=[],l=i.style.order;let c=0;for(const u of o){const o=r.getTileByID(u.proxyTileKey),h=r.proxyCachedFBO[u.key]?r.proxyCachedFBO[u.key][e]:void 0,p=void 0!==h?r.renderCache[h]:this.pool[c++],d=void 0!==h;if(o.texture=p.tex,d&&!p.dirty){a.push(o.tileID);continue}let f;n.bindFramebuffer.set(p.fb.framebuffer),this.renderedToTile=!1,p.dirty&&(n.clear({color:t.Color.transparent,stencil:0}),p.dirty=!1);for(let t=s.start;t<=s.end;++t){const e=i.style._layers[l[t]];if(e.isHidden(i.transform.zoom))continue;const r=i.style._getLayerSourceCache(e),o=r?this.proxyToSource[u.key][r.id]:[u];if(!o)continue;const s=o;n.viewport.set([0,0,p.fb.width,p.fb.height]),f!==(r?r.id:null)&&(this._setupStencil(p,o,e,r),f=r?r.id:null),i.renderLayer(i,r,e,s)}this.renderedToTile?(p.dirty=!0,a.push(o.tileID)):d||--c,5===c&&(c=0,this.renderToBackBuffer(a))}return this.renderToBackBuffer(a),this.renderingToTexture=!1,n.bindFramebuffer.set(null),n.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}renderCacheEfficiency(t){const e=t.order.length;if(0===e)return{efficiency:100};let i,n=0,r=0,o=!1;for(let s=0;st.dem)).forEach((e=>{t=Math.min(t,e.dem.tree.minimums[0])})),0===t?t:(t-30)*this._exaggeration}raycast(t,e,i){if(!this._visibleDemTiles)return null;const n=this._visibleDemTiles.filter((t=>t.dem)).map((n=>{const r=n.tileID,o=1<(null!==t.t?t.t:Number.MAX_VALUE)-(null!==e.t?e.t:Number.MAX_VALUE)));for(const r of n){if(null==r.t)return null;const n=r.tile.dem.tree.raycast(r.minx,r.miny,r.maxx,r.maxy,t,e,i);if(null!=n)return n}return null}_createFBO(){const e=this.painter.context,i=e.gl,n=this.drapeBufferSize;e.activeTexture.set(i.TEXTURE0);const r=new t.Texture(e,{width:n[0],height:n[1],data:null},i.RGBA);r.bind(i.LINEAR,i.CLAMP_TO_EDGE);const o=e.createFramebuffer(n[0],n[1],!1);return o.colorAttachment.set(r.texture),o.depthAttachment=new wt(e,o.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=e.createRenderbuffer(e.gl.DEPTH_STENCIL,n[0],n[1]),this._stencilRef=0,o.depthAttachment.set(this._sharedDepthStencil),e.clear({stencil:0})):o.depthAttachment.set(this._sharedDepthStencil),e.extTextureFilterAnisotropic&&!e.extTextureFilterAnisotropicForceOff&&i.texParameterf(i.TEXTURE_2D,e.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.extTextureFilterAnisotropicMax),{fb:o,tex:r,dirty:!1}}_initFBOPool(){for(;this.pool.length{const e=this._style._layers[t],i=e.isHidden(this.painter.transform.zoom);return"custom"===e.type?!i&&e.shouldRedrape():!i&&e.hasTransition()}))}_clearLineLayersFromRenderCache(){let e=!1;for(const t of this._style._getSources())if(t instanceof Ct){e=!0;break}if(!e)return;const i={};for(let e=0;ee.renderCachePool.length){const t=Object.values(e.proxyCachedFBO);e.proxyCachedFBO={};for(let i=0;i=0;r--){const o=i[r];if(e.getTileByID(o.key),void 0!==e.proxyCachedFBO[o.key]){const i=t[o.key],r=this.proxyToSource[o.key];let s=0;for(const t in r){const e=r[t],o=i[t];if(!o||o.length!==e.length||e.some(((e,i)=>e!==o[i]||n[t]&&n[t].hasOwnProperty(e.key)))){s=-1;break}++s}for(const t in e.proxyCachedFBO[o.key])e.renderCache[e.proxyCachedFBO[o.key][t]].dirty=s<0||s!==Object.values(i).length}}const r=[...this._drapedRenderBatches];r.sort(((t,e)=>e.end-e.start-(t.end-t.start)));for(const t of r)for(const n of i){if(e.proxyCachedFBO[n.key])continue;let i=e.renderCachePool.pop();void 0===i&&e.renderCache.length<50&&(i=e.renderCache.length,e.renderCache.push(this._createFBO())),void 0!==i&&(e.proxyCachedFBO[n.key]={},e.proxyCachedFBO[n.key][t.start]=i,e.renderCache[i].dirty=!0)}this._tilesDirty={}}_setupStencil(t,e,i,n){if(!n||!this._sourceTilesOverlap[n.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const r=this.painter.context,o=r.gl;if(e.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=e.length,this._overlapStencilMode.test={func:o.EQUAL,mask:255},this._overlapStencilType="Clip";else{if(!(e[0].overscaledZ>e[e.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:o.GREATER,mask:255},this._overlapStencilType="Mask"}this._stencilRef+s>255&&(r.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(e,this._overlapStencilMode.ref)}clipOrMaskOverlapStencilType(){return"Clip"===this._overlapStencilType||"Mask"===this._overlapStencilType}stencilModeForRTTOverlap(e){return this.renderingToTexture&&this._overlapStencilType?("Clip"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[e.key]),this._overlapStencilMode):t.StencilMode.disabled}_renderTileClippingMasks(e,i){const n=this.painter,r=this.painter.context,o=r.gl;n._tileClippingMaskIDs={},r.setColorMode(t.ColorMode.disabled),r.setDepthMode(t.DepthMode.disabled);const s=n.useProgram("clippingMask");for(const a of e){const e=n._tileClippingMaskIDs[a.key]=--i;s.draw(r,o.TRIANGLES,t.DepthMode.disabled,new t.StencilMode({func:o.ALWAYS,mask:0},e,255,o.KEEP,o.KEEP,o.REPLACE),t.ColorMode.disabled,t.CullFaceMode.disabled,Ci(a.projMatrix),"$clipping",n.tileExtentBuffer,n.quadTriangleIndexBuffer,n.tileExtentSegments)}}pointCoordinate(e){const i=this.painter.transform;if(e.x<0||e.x>i.width||e.y<0||e.y>i.height)return null;const n=[e.x,e.y,1,1];t.transformMat4$1(n,n,i.pixelMatrixInverse),t.scale$1(n,n,1/n[3]),n[0]/=i.worldSize,n[1]/=i.worldSize;const r=i._camera.position,o=t.mercatorZfromAltitude(1,i.center.lat),s=[r[0],r[1],r[2]/o,0],a=t.subtract([],n.slice(0,3),s);t.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(t.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=o,s):null}drawDepth(){const e=this.painter,i=e.context,n=this.proxySourceCache,r=Math.ceil(e.width),o=Math.ceil(e.height);if(!this._depthFBO||this._depthFBO.width===r&&this._depthFBO.height===o||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const e=i.gl,n=i.createFramebuffer(r,o,!0);i.activeTexture.set(e.TEXTURE0);const s=new t.Texture(i,{width:r,height:o,data:null},e.RGBA);s.bind(e.NEAREST,e.CLAMP_TO_EDGE),n.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,r,o);n.depthAttachment.set(a),this._depthFBO=n,this._depthTexture=s}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,r,o]),function(e,i,n,r){if("globe"===e.transform.projection.name)return;const o=e.context,s=o.gl;o.clear({depth:1});const a=e.useProgram("terrainDepth"),l=new t.DepthMode(s.LESS,t.DepthMode.ReadWrite,e.depthRangeFor3D);for(const e of r){const r=n.getTile(e),c=yi(e.projMatrix,0);i.setupElevationDraw(r,a),a.draw(o,s.TRIANGLES,l,t.StencilMode.disabled,t.ColorMode.unblended,t.CullFaceMode.backCCW,c,"terrain_depth",i.gridBuffer,i.gridIndexBuffer,i.gridNoSkirtSegments)}}(e,this,n,this.proxyCoords)}_setupProxiedCoordsForOrtho(t,e,i){if(t.getSource()instanceof St)return this._setupProxiedCoordsForImageSource(t,e,i);this._findCoveringTileCache[t.id]=this._findCoveringTileCache[t.id]||{};const n=this.proxiedCoords[t.id]=[],r=this.proxyCoords;for(let e=0;e(t.min.x=Math.min(t.min.x,e.x-a.x),t.min.y=Math.min(t.min.y,e.y-a.y),t.max.x=Math.max(t.max.x,e.x-a.x),t.max.y=Math.max(t.max.y,e.y-a.y),t)),{min:new t.Point(Number.MAX_VALUE,Number.MAX_VALUE),max:new t.Point(-Number.MAX_VALUE,-Number.MAX_VALUE)}),c=(e,i)=>{const n=e.wrap+e.canonical.x/(1<s+l.max.x||r+oa+l.max.y};for(let t=0;tt.key===i.tileID.key));if(t)return t}if(i.tileID.key!==e.key){const n=e.canonical.z-i.tileID.canonical.z;let o,s,a;r=t.create();const l=i.tileID.wrap-e.wrap<0?(o=t.EXTENT>>n,s=o*((i.tileID.canonical.x<=r){const n=e.canonical.z-r;i.getSource().reparseOverscaled?(a=Math.max(e.canonical.z+2,i.transform.tileZoom),s=new t.OverscaledTileID(a,e.wrap,r,e.canonical.x>>n,e.canonical.y>>n)):0!==n&&(a=r,s=new t.OverscaledTileID(a,e.wrap,r,e.canonical.x>>n,e.canonical.y>>n))}s.key!==e.key&&(c.push(s.key),n=i.getTile(s))}const u=t=>{c.forEach((e=>{r[e]=t})),c.length=0};for(a-=1;a>=l&&(!n||!n.hasData());a--){n&&u(n.tileID.key);const t=s.calculateScaledKey(a);if(n=i.getTileByID(t),n&&n.hasData())break;const e=r[t];if(null===e)break;void 0===e?c.push(t):n=i.getTileByID(e)}return u(n?n.tileID.key:null),n&&n.hasData()?n:null}findDEMTileFor(t){return this.enabled?this._findTileCoveringTileID(t,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0}_clearRenderCacheForTile(t,e){let i=this._tilesDirty[t];i||(i=this._tilesDirty[t]={}),i[e.key]=!0}getWirefameBuffer(){if(!this.wireframeSegments){const e=function(e){let i=0;const n=new t.StructArrayLayout2ui4,r=131;for(let t=1;t<129;t++){for(let e=1;e<129;e++)i=t*r+e,n.emplaceBack(i,i+1),n.emplaceBack(i,i+r),n.emplaceBack(i+1,i+r),128===t&&n.emplaceBack(i+r,i+r+1);n.emplaceBack(i+1,i+1+r)}return n}();this.wireframeIndexBuffer=this.painter.context.createIndexBuffer(e),this.wireframeSegments=t.SegmentVector.simpleSegment(0,0,this.gridBuffer.length,e.length)}return[this.wireframeIndexBuffer,this.wireframeSegments]}}class Pi{static cacheKey(t,e,i,n){let r=`${e}${n?n.cacheKey:""}`;for(const e of i)t.usedDefines.includes(e)&&(r+=`/${e}`);return r}constructor(e,i,n,r,o,s){const a=e.gl;this.program=a.createProgram();const l=function(t){const e=[];for(let i=0;i`#define ${t}`)));const p=e.isWebGL2?"#version 300 es\n":"",d=p+h.concat(e.extStandardDerivatives&&0===p.length?"#extension GL_OES_standard_derivatives : enable\n".concat(li):li,li,ai,si.fragmentSource,ri.fragmentSource,n.fragmentSource).join("\n"),f=p+h.concat("\n#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif",ai,si.vertexSource,ri.vertexSource,ni.vertexSource,n.vertexSource).join("\n"),m=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(m,d),a.compileShader(m),a.attachShader(this.program,m);const g=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(g,f),a.compileShader(g),a.attachShader(this.program,g),this.attributes={},this.numAttributes=u.length;for(let t=0;t({u_dem:new t.Uniform1i(e),u_dem_prev:new t.Uniform1i(e),u_dem_unpack:new t.Uniform4f(e),u_dem_tl:new t.Uniform2f(e),u_dem_scale:new t.Uniform1f(e),u_dem_tl_prev:new t.Uniform2f(e),u_dem_scale_prev:new t.Uniform1f(e),u_dem_size:new t.Uniform1f(e),u_dem_lerp:new t.Uniform1f(e),u_exaggeration:new t.Uniform1f(e),u_depth:new t.Uniform1i(e),u_depth_size_inv:new t.Uniform2f(e),u_meter_to_dem:new t.Uniform1f(e),u_label_plane_matrix_inv:new t.UniformMatrix4f(e)}))(e)),s.includes("GLOBE")&&(this.globeUniforms=(e=>({u_tile_tl_up:new t.Uniform3f(e),u_tile_tr_up:new t.Uniform3f(e),u_tile_br_up:new t.Uniform3f(e),u_tile_bl_up:new t.Uniform3f(e),u_tile_up_scale:new t.Uniform1f(e)}))(e)),s.includes("FOG")&&(this.fogUniforms=(e=>({u_fog_matrix:new t.UniformMatrix4f(e),u_fog_range:new t.Uniform2f(e),u_fog_color:new t.Uniform4f(e),u_fog_horizon_blend:new t.Uniform1f(e),u_fog_temporal_offset:new t.Uniform1f(e),u_frustum_tl:new t.Uniform3f(e),u_frustum_tr:new t.Uniform3f(e),u_frustum_br:new t.Uniform3f(e),u_frustum_bl:new t.Uniform3f(e),u_globe_pos:new t.Uniform3f(e),u_globe_radius:new t.Uniform1f(e),u_globe_transition:new t.Uniform1f(e),u_is_globe:new t.Uniform1i(e),u_viewport:new t.Uniform2f(e)}))(e))}}setTerrainUniformValues(t,e){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){t.program.set(this.program);for(const t in e)i[t]&&i[t].set(this.program,t,e[t])}}setGlobeUniformValues(t,e){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){t.program.set(this.program);for(const t in e)i[t]&&i[t].set(this.program,t,e[t])}}setFogUniformValues(t,e){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){t.program.set(this.program);for(const t in e)i[t].set(this.program,t,e[t])}}draw(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f){const m=t.gl;if(this.failedToCreate)return;t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(n),t.setColorMode(r),t.setCullFace(o);for(const t of Object.keys(this.fixedUniforms))this.fixedUniforms[t].set(this.program,t,s[t]);d&&d.setUniforms(this.program,t,this.binderUniforms,h,{zoom:p});const g={[m.LINES]:2,[m.TRIANGLES]:3,[m.LINE_STRIP]:1}[e];for(const i of u.get()){const n=i.vaos||(i.vaos={});(n[a]||(n[a]=new pi)).bind(t,this,l,d?d.getPaintVertexBuffers():[],c,i.vertexOffset,f||[]),m.drawElements(e,i.primitiveLength*g,m.UNSIGNED_SHORT,i.primitiveOffset*g*2)}}}function Li(t,e){const i=Math.pow(2,e.tileID.overscaledZ),n=e.tileSize*Math.pow(2,t.transform.tileZoom)/i,r=n*(e.tileID.canonical.x+e.tileID.wrap*i),o=n*e.tileID.canonical.y;return{u_image:0,u_texsize:e.imageAtlasTexture.size,u_tile_units_to_pixels:1/M(e,1,t.transform.tileZoom),u_pixel_coord_upper:[r>>16,o>>16],u_pixel_coord_lower:[65535&r,65535&o]}}const zi=t.create(),Di=(e,i,n,r,o,s,a,l,c,u,h)=>{const p=i.style.light,d=p.properties.get("position"),f=[d.x,d.y,d.z],m=t.create$1();"viewport"===p.properties.get("anchor")&&(t.fromRotation(m,-i.transform.angle),t.transformMat3(f,f,m));const g=p.properties.get("color"),_=i.transform,y={u_matrix:e,u_lightpos:f,u_lightintensity:p.properties.get("intensity"),u_lightcolor:[g.r,g.g,g.b],u_vertical_gradient:+n,u_opacity:r,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:zi,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:o,u_edge_radius:s};return"globe"===_.projection.name&&(y.u_tile_id=[a.canonical.x,a.canonical.y,1<{const d=Di(e,i,n,r,o,s,a,c,u,h,p),f={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return t.extend(d,Li(i,l),f)},Oi=t=>({u_matrix:t}),Bi=(e,i,n)=>t.extend(Oi(e),Li(i,n)),Ni=(t,e)=>({u_matrix:t,u_world:e}),Fi=(e,i,n,r)=>t.extend(Bi(e,i,n),{u_world:r}),Ui=t.create(),ji=(e,i,n,r,o,s)=>{const a=e.transform,l="globe"===a.projection.name;let c;if("map"===s.paint.get("circle-pitch-alignment"))if(l){const e=t.globePixelsToTileUnits(a.zoom,i.canonical)*a._pixelsPerMercatorPixel;c=Float32Array.from([e,0,0,e])}else c=a.calculatePixelsToTileUnitsMatrix(n);else c=new Float32Array([a.pixelsToGLUnits[0],0,0,a.pixelsToGLUnits[1]]);const u={u_camera_to_center_distance:a.cameraToCenterDistance,u_matrix:e.translatePosMatrix(i.projMatrix,n,s.paint.get("circle-translate"),s.paint.get("circle-translate-anchor")),u_device_pixel_ratio:t.exported.devicePixelRatio,u_extrude_scale:c,u_inv_rot_matrix:Ui,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(l){u.u_inv_rot_matrix=r,u.u_merc_center=o,u.u_tile_id=[i.canonical.x,i.canonical.y,1<{const e=[];return"map"===t.paint.get("circle-pitch-alignment")&&e.push("PITCH_WITH_MAP"),"map"===t.paint.get("circle-pitch-scale")&&e.push("SCALE_WITH_MAP"),e},Gi=(e,i,n,r)=>{const o=t.EXTENT/n.tileSize;return{u_matrix:e,u_camera_to_center_distance:i.getCameraToCenterDistance(r),u_extrude_scale:[i.pixelsToGLUnits[0]/o,i.pixelsToGLUnits[1]/o]}},qi=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),Zi=t.create(),$i=(e,i,n,r,o,s,a)=>{const l=e.transform,c="globe"===l.projection.name,u=c?t.globePixelsToTileUnits(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:M(n,1,s),h={u_matrix:i.projMatrix,u_extrude_scale:u,u_intensity:a,u_inv_rot_matrix:Zi,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){h.u_inv_rot_matrix=r,h.u_merc_center=o,h.u_tile_id=[i.canonical.x,i.canonical.y,1<{const a=t.transform,l=a.calculatePixelsToTileUnitsMatrix(e);return{u_matrix:Yi(t,e,i,n),u_pixels_to_tile_units:l,u_device_pixel_ratio:o,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:r,u_texsize:Ki(i)?e.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Hi(e,t.transform),u_alpha_discard_threshold:0,u_trim_offset:s}},Wi=(t,e,i,n,r)=>{const o=t.transform;return{u_matrix:Yi(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_pixels_to_tile_units:o.calculatePixelsToTileUnitsMatrix(e),u_device_pixel_ratio:r,u_image:0,u_tile_units_to_pixels:Hi(e,o),u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]],u_alpha_discard_threshold:0}};function Hi(t,e){return 1/M(t,1,e.tileZoom)}function Yi(t,e,i,n){return t.translatePosMatrix(n||e.tileID.projMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}function Ki(t){const e=t.paint.get("line-dasharray").value;return e.value||"constant"!==e.kind}const Ji=(t,e,i,n,r,o)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get("raster-brightness-min"),u_brightness_high:r.paint.get("raster-brightness-max"),u_saturation_factor:(a=r.paint.get("raster-saturation"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=r.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:Qi(r.paint.get("raster-hue-rotate")),u_perspective_transform:o};var s,a};function Qi(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return[(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const tn=t.create(),en=(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g)=>{const _=o.transform,y={u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:_.cameraToCenterDistance,u_rotate_symbol:+n,u_aspect_ratio:_.width/_.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+r,u_texsize:u,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:tn,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:tn,u_up_vector:[0,-1,0]};return"globe"===g.name&&(y.u_tile_id=[h.canonical.x,h.canonical.y,1<t.extend(en(e,i,n,r,o,s,a,l,c,u,p,d,f,m,g,_),{u_gamma_scale:r?o.transform.cameraToCenterDistance*Math.cos(o.terrain?0:o.transform._pitch):1,u_device_pixel_ratio:t.exported.devicePixelRatio,u_is_halo:+h}),rn=(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g)=>t.extend(nn(e,i,n,r,o,s,a,l,!0,c,!0,h,p,d,f,m,g),{u_texsize_icon:u,u_texture_icon:1}),on=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),sn=(e,i,n,r,o)=>t.extend(function(t,e,i){const n=e.imageManager.getPattern(t.toString()),{width:r,height:o}=e.imageManager.getPixelSize(),s=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/s,l=a*(i.tileID.canonical.x+i.tileID.wrap*s),c=a*i.tileID.canonical.y;return{u_image:0,u_pattern_tl:n.tl,u_pattern_br:n.br,u_texsize:[r,o],u_pattern_size:n.displaySize,u_tile_units_to_pixels:1/M(i,1,e.transform.tileZoom),u_pixel_coord_upper:[l>>16,c>>16],u_pixel_coord_lower:[65535&l,65535&c]}}(r,n,o),{u_matrix:e,u_opacity:i}),an={fillExtrusion:e=>({u_matrix:new t.UniformMatrix4f(e),u_lightpos:new t.Uniform3f(e),u_lightintensity:new t.Uniform1f(e),u_lightcolor:new t.Uniform3f(e),u_vertical_gradient:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e),u_edge_radius:new t.Uniform1f(e),u_ao:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_up_dir:new t.Uniform3f(e),u_height_lift:new t.Uniform1f(e)}),fillExtrusionPattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_lightpos:new t.Uniform3f(e),u_lightintensity:new t.Uniform1f(e),u_lightcolor:new t.Uniform3f(e),u_vertical_gradient:new t.Uniform1f(e),u_height_factor:new t.Uniform1f(e),u_edge_radius:new t.Uniform1f(e),u_ao:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_up_dir:new t.Uniform3f(e),u_height_lift:new t.Uniform1f(e),u_image:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e)}),fill:e=>({u_matrix:new t.UniformMatrix4f(e)}),fillPattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_image:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e)}),fillOutline:e=>({u_matrix:new t.UniformMatrix4f(e),u_world:new t.Uniform2f(e)}),fillOutlinePattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_world:new t.Uniform2f(e),u_image:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e)}),circle:e=>({u_camera_to_center_distance:new t.Uniform1f(e),u_extrude_scale:new t.UniformMatrix2f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_up_dir:new t.Uniform3f(e)}),collisionBox:e=>({u_matrix:new t.UniformMatrix4f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_extrude_scale:new t.Uniform2f(e)}),collisionCircle:e=>({u_matrix:new t.UniformMatrix4f(e),u_inv_matrix:new t.UniformMatrix4f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_viewport_size:new t.Uniform2f(e)}),debug:e=>({u_color:new t.UniformColor(e),u_matrix:new t.UniformMatrix4f(e),u_overlay:new t.Uniform1i(e),u_overlay_scale:new t.Uniform1f(e)}),clippingMask:e=>({u_matrix:new t.UniformMatrix4f(e)}),heatmap:e=>({u_extrude_scale:new t.Uniform1f(e),u_intensity:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_up_dir:new t.Uniform3f(e)}),heatmapTexture:e=>({u_image:new t.Uniform1i(e),u_color_ramp:new t.Uniform1i(e),u_opacity:new t.Uniform1f(e)}),hillshade:e=>({u_matrix:new t.UniformMatrix4f(e),u_image:new t.Uniform1i(e),u_latrange:new t.Uniform2f(e),u_light:new t.Uniform2f(e),u_shadow:new t.UniformColor(e),u_highlight:new t.UniformColor(e),u_accent:new t.UniformColor(e)}),hillshadePrepare:e=>({u_matrix:new t.UniformMatrix4f(e),u_image:new t.Uniform1i(e),u_dimension:new t.Uniform2f(e),u_zoom:new t.Uniform1f(e),u_unpack:new t.Uniform4f(e)}),line:e=>({u_matrix:new t.UniformMatrix4f(e),u_pixels_to_tile_units:new t.UniformMatrix2f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_units_to_pixels:new t.Uniform2f(e),u_dash_image:new t.Uniform1i(e),u_gradient_image:new t.Uniform1i(e),u_image_height:new t.Uniform1f(e),u_texsize:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e),u_alpha_discard_threshold:new t.Uniform1f(e),u_trim_offset:new t.Uniform2f(e)}),linePattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_texsize:new t.Uniform2f(e),u_pixels_to_tile_units:new t.UniformMatrix2f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_image:new t.Uniform1i(e),u_units_to_pixels:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e),u_alpha_discard_threshold:new t.Uniform1f(e)}),raster:e=>({u_matrix:new t.UniformMatrix4f(e),u_tl_parent:new t.Uniform2f(e),u_scale_parent:new t.Uniform1f(e),u_fade_t:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e),u_image0:new t.Uniform1i(e),u_image1:new t.Uniform1i(e),u_brightness_low:new t.Uniform1f(e),u_brightness_high:new t.Uniform1f(e),u_saturation_factor:new t.Uniform1f(e),u_contrast_factor:new t.Uniform1f(e),u_spin_weights:new t.Uniform3f(e),u_perspective_transform:new t.Uniform2f(e)}),symbolIcon:e=>({u_is_size_zoom_constant:new t.Uniform1i(e),u_is_size_feature_constant:new t.Uniform1i(e),u_size_t:new t.Uniform1f(e),u_size:new t.Uniform1f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_rotate_symbol:new t.Uniform1i(e),u_aspect_ratio:new t.Uniform1f(e),u_fade_change:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_label_plane_matrix:new t.UniformMatrix4f(e),u_coord_matrix:new t.UniformMatrix4f(e),u_is_text:new t.Uniform1i(e),u_pitch_with_map:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_camera_forward:new t.Uniform3f(e),u_tile_matrix:new t.UniformMatrix4f(e),u_up_vector:new t.Uniform3f(e),u_ecef_origin:new t.Uniform3f(e),u_texture:new t.Uniform1i(e)}),symbolSDF:e=>({u_is_size_zoom_constant:new t.Uniform1i(e),u_is_size_feature_constant:new t.Uniform1i(e),u_size_t:new t.Uniform1f(e),u_size:new t.Uniform1f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_rotate_symbol:new t.Uniform1i(e),u_aspect_ratio:new t.Uniform1f(e),u_fade_change:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_label_plane_matrix:new t.UniformMatrix4f(e),u_coord_matrix:new t.UniformMatrix4f(e),u_is_text:new t.Uniform1i(e),u_pitch_with_map:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_texture:new t.Uniform1i(e),u_gamma_scale:new t.Uniform1f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_camera_forward:new t.Uniform3f(e),u_tile_matrix:new t.UniformMatrix4f(e),u_up_vector:new t.Uniform3f(e),u_ecef_origin:new t.Uniform3f(e),u_is_halo:new t.Uniform1i(e)}),symbolTextAndIcon:e=>({u_is_size_zoom_constant:new t.Uniform1i(e),u_is_size_feature_constant:new t.Uniform1i(e),u_size_t:new t.Uniform1f(e),u_size:new t.Uniform1f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_rotate_symbol:new t.Uniform1i(e),u_aspect_ratio:new t.Uniform1f(e),u_fade_change:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_label_plane_matrix:new t.UniformMatrix4f(e),u_coord_matrix:new t.UniformMatrix4f(e),u_is_text:new t.Uniform1i(e),u_pitch_with_map:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_texsize_icon:new t.Uniform2f(e),u_texture:new t.Uniform1i(e),u_texture_icon:new t.Uniform1i(e),u_gamma_scale:new t.Uniform1f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_is_halo:new t.Uniform1i(e)}),background:e=>({u_matrix:new t.UniformMatrix4f(e),u_opacity:new t.Uniform1f(e),u_color:new t.UniformColor(e)}),backgroundPattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_opacity:new t.Uniform1f(e),u_image:new t.Uniform1i(e),u_pattern_tl:new t.Uniform2f(e),u_pattern_br:new t.Uniform2f(e),u_texsize:new t.Uniform2f(e),u_pattern_size:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e)}),terrainRaster:_i,terrainDepth:_i,skybox:e=>({u_matrix:new t.UniformMatrix4f(e),u_sun_direction:new t.Uniform3f(e),u_cubemap:new t.Uniform1i(e),u_opacity:new t.Uniform1f(e),u_temporal_offset:new t.Uniform1f(e)}),skyboxGradient:e=>({u_matrix:new t.UniformMatrix4f(e),u_color_ramp:new t.Uniform1i(e),u_center_direction:new t.Uniform3f(e),u_radius:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e),u_temporal_offset:new t.Uniform1f(e)}),skyboxCapture:e=>({u_matrix_3f:new t.UniformMatrix3f(e),u_sun_direction:new t.Uniform3f(e),u_sun_intensity:new t.Uniform1f(e),u_color_tint_r:new t.Uniform4f(e),u_color_tint_m:new t.Uniform4f(e),u_luminance:new t.Uniform1f(e)}),globeRaster:e=>({u_proj_matrix:new t.UniformMatrix4f(e),u_globe_matrix:new t.UniformMatrix4f(e),u_normalize_matrix:new t.UniformMatrix4f(e),u_merc_matrix:new t.UniformMatrix4f(e),u_zoom_transition:new t.Uniform1f(e),u_merc_center:new t.Uniform2f(e),u_image0:new t.Uniform1i(e),u_grid_matrix:new t.UniformMatrix3f(e),u_skirt_height:new t.Uniform1f(e),u_frustum_tl:new t.Uniform3f(e),u_frustum_tr:new t.Uniform3f(e),u_frustum_br:new t.Uniform3f(e),u_frustum_bl:new t.Uniform3f(e),u_globe_pos:new t.Uniform3f(e),u_globe_radius:new t.Uniform1f(e),u_viewport:new t.Uniform2f(e)}),globeAtmosphere:e=>({u_frustum_tl:new t.Uniform3f(e),u_frustum_tr:new t.Uniform3f(e),u_frustum_br:new t.Uniform3f(e),u_frustum_bl:new t.Uniform3f(e),u_horizon:new t.Uniform1f(e),u_transition:new t.Uniform1f(e),u_fadeout_range:new t.Uniform1f(e),u_color:new t.Uniform4f(e),u_high_color:new t.Uniform4f(e),u_space_color:new t.Uniform4f(e),u_star_intensity:new t.Uniform1f(e),u_star_density:new t.Uniform1f(e),u_star_size:new t.Uniform1f(e),u_temporal_offset:new t.Uniform1f(e),u_horizon_angle:new t.Uniform1f(e),u_rotation_matrix:new t.UniformMatrix4f(e)})};let ln;function cn(e,i,n,r,o,s,a){const l=e.context,c=l.gl,u=e.transform,h=e.useProgram("collisionBox"),p=[];let d=0,f=0;for(let m=0;m0){const e=t.create(),i=x;t.mul(e,y.placementInvProjMatrix,u.glCoordMatrix),t.mul(e,e,y.placementViewportMatrix),p.push({circleArray:w,circleOffset:f,transform:i,invTransform:e,projection:y.getProjection()}),d+=w.length/4,f=d}b&&(e.terrain&&e.terrain.setupElevationDraw(_,h),h.draw(l,c.LINES,t.DepthMode.disabled,t.StencilMode.disabled,e.colorModeForRenderPass(),t.CullFaceMode.disabled,Gi(x,u,_,y.getProjection()),n.id,b.layoutVertexBuffer,b.indexBuffer,b.segments,null,u.zoom,null,[b.collisionVertexBuffer,b.collisionVertexBufferExt]))}if(!a||!p.length)return;const m=e.useProgram("collisionCircle"),g=new t.StructArrayLayout2f1f2i16;g.resize(4*d),g._trim();let _=0;for(const t of p)for(let e=0;e=0&&(m[x.associatedIconIndex]={x:C,y:T,z:k,angle:L})}else de(A,d)}if(h){f.clear();const i=e.icon.placedSymbolArray;for(let e=0;et.sortKey-e.sortKey));for(const t of T){const i=t.state;if(e.terrain&&e.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:!C,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),d.activeTexture.set(f.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,f.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(f.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),i.isSDF){const r=i.uniformValues;i.hasHalo&&(r.u_is_halo=1,mn(i.buffers,t.segments,n,e,i.program,w,h,p,r)),r.u_is_halo=0}mn(i.buffers,t.segments,n,e,i.program,w,h,p,i.uniformValues)}}function mn(e,i,n,r,o,s,a,l,c){const u=r.context,h=[e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer,e.globeExtVertexBuffer];o.draw(u,u.gl.TRIANGLES,s,a,l,t.CullFaceMode.disabled,c,n.id,e.layoutVertexBuffer,e.indexBuffer,i,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),h)}function gn(e,i,n,r,o,s,a){const l=e.context.gl,c=n.paint.get("fill-pattern"),u=c&&c.constantOr(1);let h,p,d,f,m;a?(p=u&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",h=l.LINES):(p=u?"fillPattern":"fill",h=l.TRIANGLES);for(const g of r){const r=i.getTile(g);if(u&&!r.patternsLoaded())continue;const _=r.getBucket(n);if(!_)continue;e.prepareDrawTile();const y=_.programConfigurations.get(n.id),v=e.useProgram(p,y);u&&(e.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers());const x=c.constantOr(null);if(x&&r.imageAtlas){const t=r.imageAtlas.patternPositions[x.toString()];t&&y.setConstantPatternPositions(t)}const b=e.translatePosMatrix(g.projMatrix,r,n.paint.get("fill-translate"),n.paint.get("fill-translate-anchor"));if(a){f=_.indexBuffer2,m=_.segments2;const t=e.terrain&&e.terrain.renderingToTexture?e.terrain.drapeBufferSize:[l.drawingBufferWidth,l.drawingBufferHeight];d="fillOutlinePattern"===p&&u?Fi(b,e,r,t):Ni(b,t)}else f=_.indexBuffer,m=_.segments,d=u?Bi(b,e,r):Oi(b);e.prepareDrawProgram(e.context,v,g.toUnwrapped()),v.draw(e.context,h,o,e.stencilModeForClipping(g),s,t.CullFaceMode.disabled,d,n.id,_.layoutVertexBuffer,f,m,n.paint,e.transform.zoom,y)}}function _n(e,i,n,r,o,s,a){const l=e.context,c=l.gl,u=e.transform,h=n.paint.get("fill-extrusion-pattern"),p=h.constantOr(1),d=n.paint.get("fill-extrusion-opacity"),f=[n.paint.get("fill-extrusion-ambient-occlusion-intensity"),n.paint.get("fill-extrusion-ambient-occlusion-radius")],m=n.layout.get("fill-extrusion-edge-radius"),g=m>0&&!n.paint.get("fill-extrusion-rounded-roof"),_=g?0:m,y="globe"===u.projection.name?t.fillExtrusionHeightLift():0,v="globe"===u.projection.name,x=v?t.globeToMercatorTransition(u.zoom):0,b=[t.mercatorXfromLng(u.center.lng),t.mercatorYfromLat(u.center.lat)],w=[];v&&w.push("PROJECTION_GLOBE_VIEW"),f[0]>0&&w.push("FAUX_AO"),g&&w.push("ZERO_ROOF_RADIUS");for(const m of r){const r=i.getTile(m),g=r.getBucket(n);if(!g||g.projection.name!==u.projection.name)continue;const A=g.programConfigurations.get(n.id),E=e.useProgram(p?"fillExtrusionPattern":"fillExtrusion",A,w);if(e.terrain){const t=e.terrain;if(e.style.terrainSetForDrapingOnly())t.setupElevationDraw(r,E,{useMeterToDem:!0});else{if(!g.enableTerrain)continue;if(t.setupElevationDraw(r,E,{useMeterToDem:!0}),yn(l,i,m,g,n,t),!g.centroidVertexBuffer){const t=E.attributes.a_centroid_pos;void 0!==t&&c.vertexAttrib2f(t,0,0)}}}p&&(e.context.activeTexture.set(c.TEXTURE0),r.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),A.updatePaintBuffers());const C=h.constantOr(null);if(C&&r.imageAtlas){const t=r.imageAtlas.patternPositions[C.toString()];t&&A.setConstantPatternPositions(t)}const T=e.translatePosMatrix(m.projMatrix,r,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),k=u.projection.createInversionMatrix(u,m.canonical),S=n.paint.get("fill-extrusion-vertical-gradient"),I=p?Ri(T,e,S,d,f,_,m,r,y,x,b,k):Di(T,e,S,d,f,_,m,y,x,b,k);e.prepareDrawProgram(l,E,m.toUnwrapped());const M=[];e.terrain&&M.push(g.centroidVertexBuffer),v&&M.push(g.layoutVertexExtBuffer),E.draw(l,l.gl.TRIANGLES,o,s,a,t.CullFaceMode.backCCW,I,n.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,n.paint,e.transform.zoom,A,M)}}function yn(e,i,n,r,o,s){const a=[e=>{let i=e.canonical.x-1,n=e.wrap;return i<0&&(i=(1<{let i=e.canonical.x+1,n=e.wrap;return i===1<new t.OverscaledTileID(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,(0===e.canonical.y?1<new t.OverscaledTileID(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y===(1<{const e=i.getSource().minzoom,n=t=>{const e=i.getTileByID(t);if(e&&e.hasData())return e.getBucket(o)},r=[0,-1,1];for(const i of r){if(t.overscaledZ+i(c[0]=Math.min(e.min.y,i.min.y),c[1]=Math.max(e.max.y,i.max.y),c[2]=t.EXTENT-i.min.x>e.max.x?i.min.x-t.EXTENT:e.max.x,c),h=(e,i)=>(c[0]=Math.min(e.min.x,i.min.x),c[1]=Math.max(e.max.x,i.max.x),c[2]=t.EXTENT-i.min.y>e.max.y?i.min.y-t.EXTENT:e.max.y,c),p=[(t,e)=>u(t,e),(t,e)=>u(e,t),(t,e)=>h(t,e),(t,e)=>h(e,t)],d=new t.Point(0,0);let f,m,g;const _=(e,i,r,o,a)=>{const l=[[o?r:e,o?e:r,0],[o?r:i,o?i:r,0]],c=a<0?t.EXTENT+a:a,u=[o?c:(e+i)/2,o?(e+i)/2:c,0];return 0===r&&a<0||0!==r&&a>0?s.getForTilePoints(g,[u],!0,m):l.push(u),s.getForTilePoints(n,l,!0,f),Math.max(l[0][2],l[1][2],u[2])/s.exaggeration()};for(let e=0;e<4;e++){const i=(e<2?1:5)-e,o=r.borders[e];if(0===o.length)continue;const c=g=a[e](n),u=l(c);if(!(u&&u instanceof t.FillExtrusionBucket&&u.enableTerrain))continue;if(r.borderDoneWithNeighborZ[e]===u.canonical.z&&u.borderDoneWithNeighborZ[i]===r.canonical.z)continue;if(m=s.findDEMTileFor(c),!m||!m.dem)continue;if(!f){const t=s.findDEMTileFor(n);if(!t||!t.dem)return;f=t}const h=u.borders[i];let y=0;const v=u.borderDoneWithNeighborZ[i]!==r.canonical.z;if(r.canonical.z===u.canonical.z){for(let n=0;na[0]+3));)v&&u.encodeCentroid(void 0,l,!1),y++;if(l&&ya[1]-3)&&(o++,++y!==h.length);)l=u.featuresOnBorder[h[y]];if(l=u.featuresOnBorder[h[n]],s.intersectsCount()>1||l.intersectsCount()>1||1!==o){1!==o&&(y=n),r.encodeCentroid(void 0,s,!1),v&&u.encodeCentroid(void 0,l,!1);continue}const c=p[e](s,l),f=e%2?t.EXTENT-1:0;d.x=_(c[0],Math.min(t.EXTENT-1,c[1]),f,e<2,c[2]),d.y=0,r.encodeCentroid(d,s,!1),v&&u.encodeCentroid(d,l,!1)}else r.encodeCentroid(void 0,s,!1)}r.borderDoneWithNeighborZ[e]=u.canonical.z,r.needsCentroidUpdate=!0,v&&(u.borderDoneWithNeighborZ[i]=r.canonical.z,u.needsCentroidUpdate=!0)}else{for(const t of o)r.encodeCentroid(void 0,r.featuresOnBorder[t],!1);if(v){for(const t of h)u.encodeCentroid(void 0,u.featuresOnBorder[t],!1);u.borderDoneWithNeighborZ[i]=r.canonical.z,u.needsCentroidUpdate=!0}r.borderDoneWithNeighborZ[e]=u.canonical.z,r.needsCentroidUpdate=!0}}(r.needsCentroidUpdate||!r.centroidVertexBuffer&&0!==r.centroidVertexArray.length)&&r.uploadCentroid(e)}const vn=new t.Color(1,0,0,1),xn=new t.Color(0,1,0,1),bn=new t.Color(0,0,1,1),wn=new t.Color(1,0,1,1),An=new t.Color(0,1,1,1);function En(e,i,n){const r=e.context,o=e.transform,s=r.gl,a="globe"===o.projection.name,l=a?["PROJECTION_GLOBE_VIEW"]:null;let c=n.projMatrix;if(a&&t.globeToMercatorTransition(o.zoom)>0){const e=t.transitionTileAABBinECEF(n.canonical,o),i=t.globeDenormalizeECEF(e);c=t.multiply(new Float32Array(16),o.globeMatrix,i),t.multiply(c,o.projMatrix,c)}const u=e.useProgram("debug",null,l),h=i.getTileByID(n.key);e.terrain&&e.terrain.setupElevationDraw(h,u);const p=t.DepthMode.disabled,d=t.StencilMode.disabled,f=e.colorModeForRenderPass(),m="$debug";r.activeTexture.set(s.TEXTURE0),e.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),a?h._makeGlobeTileDebugBuffers(e.context,o):h._makeDebugTileBoundsBuffers(e.context,o.projection);const g=h._tileDebugBuffer||e.debugBuffer,_=h._tileDebugIndexBuffer||e.debugIndexBuffer,y=h._tileDebugSegments||e.debugSegments;u.draw(r,s.LINE_STRIP,p,d,f,t.CullFaceMode.disabled,qi(c,t.Color.red),m,g,_,y,null,null,null,[h._globeTileDebugBorderBuffer]);const v=h.latestRawTileData,x=Math.floor((v&&v.byteLength||0)/1024),b=i.getTile(n).tileSize,w=512/Math.min(b,512)*(n.overscaledZ/o.zoom)*.5;let A=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(A+=` => ${n.overscaledZ}`),A+=` ${x}kb`,function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,n=t.context.gl,r=t.debugOverlayCanvas.getContext("2d");r.clearRect(0,0,i.width,i.height),r.shadowColor="white",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle="white",r.textBaseline="top",r.font="bold 36px Open Sans, sans-serif",r.fillText(e,5,5),r.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,A);const E=h._tileDebugTextBuffer||e.debugBuffer,C=h._tileDebugTextIndexBuffer||e.quadTriangleIndexBuffer,T=h._tileDebugTextSegments||e.debugSegments;u.draw(r,s.TRIANGLES,p,d,t.ColorMode.alphaBlended,t.CullFaceMode.disabled,qi(c,t.Color.transparent,w),m,E,C,T,null,null,null,[h._globeTileDebugTextBuffer])}function Cn(t,e,i,n){kn(t,0,e+i/2,t.transform.width,i,n)}function Tn(t,e,i,n){kn(t,e-i/2,0,i,t.transform.height,n)}function kn(e,i,n,r,o,s){const a=e.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*t.exported.devicePixelRatio,n*t.exported.devicePixelRatio,r*t.exported.devicePixelRatio,o*t.exported.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST)}const Sn=t.createLayout([{name:"a_pos_3f",components:3,type:"Float32"}]),{members:In}=Sn;function Mn(t,e,i,n){t.emplaceBack(e,i,n)}class Pn{constructor(e){this.vertexArray=new t.StructArrayLayout3f12,this.indices=new t.StructArrayLayout3ui6,Mn(this.vertexArray,-1,-1,1),Mn(this.vertexArray,1,-1,1),Mn(this.vertexArray,-1,1,1),Mn(this.vertexArray,1,1,1),Mn(this.vertexArray,-1,-1,-1),Mn(this.vertexArray,1,-1,-1),Mn(this.vertexArray,-1,1,-1),Mn(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=e.createVertexBuffer(this.vertexArray,In),this.indexBuffer=e.createIndexBuffer(this.indices),this.segment=t.SegmentVector.simpleSegment(0,0,36,12)}}function Ln(e,i,n,r,o,s){const a=e.gl,l=i.paint.get("sky-atmosphere-color"),c=i.paint.get("sky-atmosphere-halo-color"),u=i.paint.get("sky-atmosphere-sun-intensity"),h=((t,e,i,n,r)=>({u_matrix_3f:t,u_sun_direction:e,u_sun_intensity:i,u_color_tint_r:[n.r,n.g,n.b,n.a],u_color_tint_m:[r.r,r.g,r.b,r.a],u_luminance:5e-5}))(t.fromMat4(t.create$1(),r),o,u,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),n.draw(e,a.TRIANGLES,t.DepthMode.disabled,t.StencilMode.disabled,t.ColorMode.unblended,t.CullFaceMode.frontCW,h,"skyboxCapture",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}const zn=t.createLayout([{type:"Float32",name:"a_pos",components:3},{type:"Float32",name:"a_uv",components:2}]);class Dn{constructor(e){const i=new t.StructArrayLayout5f20;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const n=new t.StructArrayLayout3ui6;n.emplaceBack(0,1,2),n.emplaceBack(2,3,0),this.vertexBuffer=e.createVertexBuffer(i,zn.members),this.indexBuffer=e.createIndexBuffer(n),this.segments=t.SegmentVector.simpleSegment(0,0,4,2)}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy()}}const Rn={symbol:function(e,i,n,r,o){if("translucent"!==e.renderPass)return;const s=t.StencilMode.disabled,a=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,i,n,r,o,s,a){const l=i.transform,c="map"===o,u="map"===s;for(const i of e){const e=r.getTile(i),o=e.getBucket(n);if(!o||!o.text||!o.text.segments.get().length)continue;const s=t.evaluateSizeForZoom(o.textSizeData,l.zoom),h=ve(i,o.getProjection(),l),p=l.calculatePixelsToTileUnitsMatrix(e),d=te(h,e.tileID.canonical,u,c,l,o.getProjection(),p),f="none"!==n.layout.get("icon-text-fit")&&o.hasIconData();if(s){const n=Math.pow(2,l.zoom-e.tileID.overscaledZ);pn(o,c,u,a,t.symbolSize,l,d,i,n,s,f)}}}(r,e,n,i,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),o),0!==n.paint.get("icon-opacity").constantOr(1)&&fn(e,i,n,r,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),s,a),0!==n.paint.get("text-opacity").constantOr(1)&&fn(e,i,n,r,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),s,a),i.map.showCollisionBoxes&&(cn(e,i,n,r,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),!0),cn(e,i,n,r,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),!1))},circle:function(e,i,n,r){if("translucent"!==e.renderPass)return;const o=n.paint.get("circle-opacity"),s=n.paint.get("circle-stroke-width"),a=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0===o.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const c=e.context,u=c.gl,h=e.transform,p=e.depthModeForSublayer(0,t.DepthMode.ReadOnly),d=t.StencilMode.disabled,f=e.colorModeForRenderPass(),m="globe"===h.projection.name,g=[t.mercatorXfromLng(h.center.lng),t.mercatorYfromLat(h.center.lat)],_=[];for(let o=0;ot.sortKey-e.sortKey));const y={useDepthForOcclusion:!m};for(const i of _){const{programConfiguration:r,program:o,layoutVertexBuffer:s,globeExtVertexBuffer:a,indexBuffer:l,uniformValues:m,tile:g}=i.state,_=i.segments;e.terrain&&e.terrain.setupElevationDraw(g,o,y),e.prepareDrawProgram(c,o,g.tileID.toUnwrapped()),o.draw(c,u.TRIANGLES,p,d,f,t.CullFaceMode.disabled,m,n.id,s,l,_,n.paint,h.zoom,r,[a])}},heatmap:function(e,i,n,r){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const o=e.context,s=o.gl,a=t.StencilMode.disabled,l=new t.ColorMode([s.ONE,s.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i,n){const r=t.gl,o=e.width*n,s=e.height*n;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,o,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==o||a.height!==s)){a&&a.destroy();const e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),a=i.heatmapFbo=t.createFramebuffer(o,s,!1),function(t,e,i,n,r,o){const s=t.gl;s.texImage2D(s.TEXTURE_2D,0,t.isWebGL2&&t.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,r,o,0,s.RGBA,t.extRenderToTextureHalfFloat?t.isWebGL2?s.HALF_FLOAT:t.extTextureHalfFloat.HALF_FLOAT_OES:s.UNSIGNED_BYTE,null),n.colorAttachment.set(i)}(t,0,e,a,o,s)}else r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer)}(o,e,n,"globe"===e.transform.projection.name?.5:.25),o.clear({color:t.Color.transparent});const c=e.transform,u="globe"===c.projection.name,h=u?["PROJECTION_GLOBE_VIEW"]:null,p=u?t.CullFaceMode.frontCCW:t.CullFaceMode.disabled,d=[t.mercatorXfromLng(c.center.lng),t.mercatorYfromLat(c.center.lat)];for(let f=0;f({u_image:0,u_color_ramp:1,u_opacity:e.paint.get("heatmap-opacity")}))(0,i),i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,n))},line:function(e,i,n,r){if("translucent"!==e.renderPass)return;const o=n.paint.get("line-opacity"),s=n.paint.get("line-width");if(0===o.constantOr(1)||0===s.constantOr(1))return;const a=e.depthModeForSublayer(0,t.DepthMode.ReadOnly),l=e.colorModeForRenderPass(),c=e.terrain&&e.terrain.renderingToTexture?1:t.exported.devicePixelRatio,u=n.paint.get("line-dasharray"),h=u.constantOr(1),p=n.layout.get("line-cap"),d=n.paint.get("line-pattern"),f=d.constantOr(1),m=n.paint.get("line-gradient"),g=f?"linePattern":"line",_=e.context,y=_.gl,v=(t=>{const e=[];Ki(t)&&e.push("RENDER_LINE_DASH"),t.paint.get("line-gradient")&&e.push("RENDER_LINE_GRADIENT");const i=t.paint.get("line-trim-offset");0===i[0]&&0===i[1]||e.push("RENDER_LINE_TRIM_OFFSET");const n=t.paint.get("line-pattern").constantOr(1),r=1!==t.paint.get("line-opacity").constantOr(1);return!n&&r&&e.push("RENDER_LINE_ALPHA_DISCARD"),e})(n);let x=v.includes("RENDER_LINE_ALPHA_DISCARD");e.terrain&&e.terrain.clipOrMaskOverlapStencilType()&&(x=!1);for(const o of r){const r=i.getTile(o);if(f&&!r.patternsLoaded())continue;const s=r.getBucket(n);if(!s)continue;e.prepareDrawTile();const b=s.programConfigurations.get(n.id),w=e.useProgram(g,b,v),A=d.constantOr(null);if(A&&r.imageAtlas){const t=r.imageAtlas.patternPositions[A.toString()];t&&b.setConstantPatternPositions(t)}const E=u.constantOr(null),C=p.constantOr(null);if(!f&&E&&C&&r.lineAtlas){const t=r.lineAtlas.getDash(E,C);t&&b.setConstantPatternPositions(t)}let[T,k]=n.paint.get("line-trim-offset");if("round"===C||"square"===C){const t=1;T!==k&&(0===T&&(T-=t),1===k&&(k+=t))}const S=e.terrain?o.projMatrix:null,I=f?Wi(e,r,n,S,c):Xi(e,r,n,S,s.lineClipsArray.length,c,[T,k]);if(m){const r=s.gradients[n.id];let a=r.texture;if(n.gradientVersion!==r.version){let l=256;if(n.stepInterpolant){const n=i.getSource().maxzoom,r=o.canonical.z===n?Math.ceil(1<{w.draw(_,y.TRIANGLES,a,i,l,t.CullFaceMode.disabled,I,n.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,n.paint,e.transform.zoom,b,[s.layoutVertexBuffer2])};if(x){const i=e.stencilModeForClipping(o).ref;0===i&&e.terrain&&_.clear({stencil:0});const n={func:y.EQUAL,mask:255};I.u_alpha_discard_threshold=.8,M(new t.StencilMode(n,i,255,y.KEEP,y.KEEP,y.INVERT)),I.u_alpha_discard_threshold=0,M(new t.StencilMode(n,i,255,y.KEEP,y.KEEP,y.KEEP))}else M(e.stencilModeForClipping(o))}x&&(e.resetStencilClippingMasks(),e.terrain&&_.clear({stencil:0}))},fill:function(e,i,n,r){const o=n.paint.get("fill-color"),s=n.paint.get("fill-opacity");if(0===s.constantOr(1))return;const a=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===o.constantOr(t.Color.transparent).a&&1===s.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){const o=e.depthModeForSublayer(1,"opaque"===e.renderPass?t.DepthMode.ReadWrite:t.DepthMode.ReadOnly);gn(e,i,n,r,o,a,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){const o=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,t.DepthMode.ReadOnly);gn(e,i,n,r,o,a,!0)}},"fill-extrusion":function(e,i,n,r){const o=n.paint.get("fill-extrusion-opacity");if(0!==o&&"translucent"===e.renderPass){const s=new t.DepthMode(e.context.gl.LEQUAL,t.DepthMode.ReadWrite,e.depthRangeFor3D);if(1!==o||n.paint.get("fill-extrusion-pattern").constantOr(1))_n(e,i,n,r,s,t.StencilMode.disabled,t.ColorMode.disabled),_n(e,i,n,r,s,e.stencilModeFor3D(),e.colorModeForRenderPass()),e.resetStencilClippingMasks();else{const o=e.colorModeForRenderPass();_n(e,i,n,r,s,t.StencilMode.disabled,o)}}},hillshade:function(e,i,n,r){if("offscreen"!==e.renderPass&&"translucent"!==e.renderPass)return;const o=e.context,s=e.depthModeForSublayer(0,t.DepthMode.ReadOnly),a=e.colorModeForRenderPass(),l=e.terrain&&e.terrain.renderingToTexture,[c,u]="translucent"!==e.renderPass||l?[{},r]:e.stencilConfigForOverlap(r);for(const r of u){const o=i.getTile(r);if(o.needsHillshadePrepare&&"offscreen"===e.renderPass)gi(e,o,n,s,t.StencilMode.disabled,a);else if("translucent"===e.renderPass){const t=l&&e.terrain?e.terrain.stencilModeForRTTOverlap(r):c[r.overscaledZ];fi(e,r,o,n,s,t,a)}}o.viewport.set([0,0,e.width,e.height]),e.resetStencilClippingMasks()},raster:function(e,i,n,r,o,s){if("translucent"!==e.renderPass)return;if(0===n.paint.get("raster-opacity"))return;if(!r.length)return;const a=e.context,l=a.gl,c=i.getSource(),u=e.useProgram("raster"),h=e.colorModeForRenderPass(),p=e.terrain&&e.terrain.renderingToTexture,[d,f]=c instanceof St||p?[{},r]:e.stencilConfigForOverlap(r),m=f[f.length-1].overscaledZ,g=!e.options.moving;for(const r of f){const o=p?t.DepthMode.disabled:e.depthModeForSublayer(r.overscaledZ-m,1===n.paint.get("raster-opacity")?t.DepthMode.ReadWrite:t.DepthMode.ReadOnly,l.LESS),f=r.toUnwrapped(),_=i.getTile(r);if(p&&(!_||!_.hasData()))continue;const y=p?r.projMatrix:e.transform.calculateProjMatrix(f,g),v=e.terrain&&p?e.terrain.stencilModeForRTTOverlap(r):d[r.overscaledZ],x=s?0:n.paint.get("raster-fade-duration");_.registerFadeDuration(x);const b=i.findLoadedParent(r,0),w=Ti(_,b,i,e.transform,x);let A,E;e.terrain&&e.terrain.prepareDrawTile();const C="nearest"===n.paint.get("raster-resampling")?l.NEAREST:l.LINEAR;a.activeTexture.set(l.TEXTURE0),_.texture.bind(C,l.CLAMP_TO_EDGE),a.activeTexture.set(l.TEXTURE1),b?(b.texture.bind(C,l.CLAMP_TO_EDGE),A=Math.pow(2,b.tileID.overscaledZ-_.tileID.overscaledZ),E=[_.tileID.canonical.x*A%1,_.tileID.canonical.y*A%1]):_.texture.bind(C,l.CLAMP_TO_EDGE),_.texture.useMipmap&&a.extTextureFilterAnisotropic&&e.transform.pitch>20&&l.texParameterf(l.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax);const T=Ji(y,E||[0,0],A||1,w,n,c instanceof St?c.perspectiveTransform:[0,0]);if(e.prepareDrawProgram(a,u,f),c instanceof St)c.boundsBuffer&&c.boundsSegments&&u.draw(a,l.TRIANGLES,o,t.StencilMode.disabled,h,t.CullFaceMode.disabled,T,n.id,c.boundsBuffer,e.quadTriangleIndexBuffer,c.boundsSegments);else{const{tileBoundsBuffer:i,tileBoundsIndexBuffer:r,tileBoundsSegments:s}=e.getTileBoundsBuffers(_);u.draw(a,l.TRIANGLES,o,v,h,t.CullFaceMode.disabled,T,n.id,i,r,s)}}e.resetStencilClippingMasks()},background:function(e,i,n,r){const o=n.paint.get("background-color"),s=n.paint.get("background-opacity");if(0===s)return;const a=e.context,l=a.gl,c=e.transform,u=c.tileSize,h=n.paint.get("background-pattern");if(e.isPatternMissing(h))return;const p=!h&&1===o.a&&1===s&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==p)return;const d=t.StencilMode.disabled,f=e.depthModeForSublayer(0,"opaque"===p?t.DepthMode.ReadWrite:t.DepthMode.ReadOnly),m=e.colorModeForRenderPass(),g=e.useProgram(h?"backgroundPattern":"background");let _,y=r;y||(_=e.getBackgroundTiles(),y=Object.values(_).map((t=>t.tileID))),h&&(a.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context));for(const p of y){const y=p.toUnwrapped(),v=r?p.projMatrix:e.transform.calculateProjMatrix(y);e.prepareDrawTile();const x=i?i.getTile(p):_?_[p.key]:new t.Tile(p,u,c.zoom,e),b=h?sn(v,s,e,h,{tileID:p,tileSize:u}):on(v,s,o);e.prepareDrawProgram(a,g,y);const{tileBoundsBuffer:w,tileBoundsIndexBuffer:A,tileBoundsSegments:E}=e.getTileBoundsBuffers(x);g.draw(a,l.TRIANGLES,f,d,m,t.CullFaceMode.disabled,b,n.id,w,A,E)}},sky:function(e,i,n){const r=e.transform,o="mercator"===r.projection.name||"globe"===r.projection.name?1:t.smoothstep(7,8,r.zoom),s=n.paint.get("sky-opacity")*o;if(0===s)return;const a=e.context,l=n.paint.get("sky-type"),c=new t.DepthMode(a.gl.LEQUAL,t.DepthMode.ReadOnly,[0,1]),u=e.frameCounter/1e3%1;"atmosphere"===l?"offscreen"===e.renderPass?n.needsSkyboxCapture(e)&&(function(e,i,n,r){const o=e.context,s=o.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=o.createFramebuffer(32,32,!1),i.skyboxGeometry=new Pn(o),i.skyboxTexture=o.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let t=0;t<6;++t)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null)}o.bindFramebuffer.set(a.framebuffer),o.viewport.set([0,0,32,32]);const l=i.getCenter(e,!0),c=e.useProgram("skyboxCapture"),u=new Float64Array(16);t.identity(u),t.rotateY(u,u,.5*-Math.PI),Ln(o,i,c,u,l,0),t.identity(u),t.rotateY(u,u,.5*Math.PI),Ln(o,i,c,u,l,1),t.identity(u),t.rotateX(u,u,.5*-Math.PI),Ln(o,i,c,u,l,2),t.identity(u),t.rotateX(u,u,.5*Math.PI),Ln(o,i,c,u,l,3),t.identity(u),Ln(o,i,c,u,l,4),t.identity(u),t.rotateY(u,u,Math.PI),Ln(o,i,c,u,l,5),o.viewport.set([0,0,e.width,e.height])}(e,n),n.markSkyboxValid(e)):"sky"===e.renderPass&&function(e,i,n,r,o){const s=e.context,a=s.gl,l=e.transform,c=e.useProgram("skybox");s.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_CUBE_MAP,i.skyboxTexture);const u=((t,e,i,n,r)=>({u_matrix:t,u_sun_direction:e,u_cubemap:0,u_opacity:n,u_temporal_offset:r}))(l.skyboxMatrix,i.getCenter(e,!1),0,r,o);e.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,n,t.StencilMode.disabled,e.colorModeForRenderPass(),t.CullFaceMode.backCW,u,"skybox",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(e,n,c,s,u):"gradient"===l&&"sky"===e.renderPass&&function(e,i,n,r,o){const s=e.context,a=s.gl,l=e.transform,c=e.useProgram("skyboxGradient");i.skyboxGeometry||(i.skyboxGeometry=new Pn(s)),s.activeTexture.set(a.TEXTURE0);let u=i.colorRampTexture;u||(u=i.colorRampTexture=new t.Texture(s,i.colorRamp,a.RGBA)),u.bind(a.LINEAR,a.CLAMP_TO_EDGE);const h=((e,i,n,r,o)=>({u_matrix:e,u_color_ramp:0,u_center_direction:i,u_radius:t.degToRad(n),u_opacity:r,u_temporal_offset:o}))(l.skyboxMatrix,i.getCenter(e,!1),i.paint.get("sky-gradient-radius"),r,o);e.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,n,t.StencilMode.disabled,e.colorModeForRenderPass(),t.CullFaceMode.backCW,h,"skyboxGradient",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(e,n,c,s,u)},debug:function(t,e,i){for(let n=0;nn)return void(this.transform.fogCullDistSq=null);const r=i+.78*(n-i);this.transform.fogCullDistSq=r*r}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}resize(e,i){if(this.width=e*t.exported.devicePixelRatio,this.height=i*t.exported.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style.order)this.style._layers[t].resize()}setup(){const e=this.context,i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,t.posAttributes.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);const n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,t.posAttributes.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);const r=new t.StructArrayLayout2i4;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(-1,1),r.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(r,t.posAttributes.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);const o=new t.StructArrayLayout4i8;o.emplaceBack(0,0,0,0),o.emplaceBack(t.EXTENT,0,t.EXTENT,0),o.emplaceBack(0,t.EXTENT,0,t.EXTENT),o.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.mercatorBoundsBuffer=e.createVertexBuffer(o,t.boundsAttributes.members),this.mercatorBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);const s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);const a=new t.StructArrayLayout1ui2;for(const t of[0,1,3,2,0])a.emplaceBack(t);this.debugIndexBuffer=e.createIndexBuffer(a),this.emptyTexture=new t.Texture(e,new t.RGBAImage({width:1,height:1},Uint8Array.of(0,0,0,0)),e.gl.RGBA),this.identityMat=t.create();const l=this.context.gl;this.stencilClearMode=new t.StencilMode({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(t.window.performance.now()),this.atmosphereBuffer=new Dn(this.context)}getMercatorTileBoundsBuffers(){return{tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(t){return t._makeTileBoundsBuffers(this.context,this.transform.projection),t._tileBoundsBuffer?{tileBoundsBuffer:t._tileBoundsBuffer,tileBoundsIndexBuffer:t._tileBoundsIndexBuffer,tileBoundsSegments:t._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.useProgram("clippingMask").draw(e,i.TRIANGLES,t.DepthMode.disabled,this.stencilClearMode,t.ColorMode.disabled,t.CullFaceMode.disabled,Ci(this.identityMat),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={})}_renderTileClippingMasks(e,i,n){if(!i||this.currentStencilSource===i.id||!e.isTileClipped()||!n||0===n.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let t=!1;for(const e of n)if(void 0===this._tileClippingMaskIDs[e.key]){t=!0;break}if(!t)return}this.currentStencilSource=i.id;const r=this.context,o=r.gl;this.nextStencilID+n.length>256&&this.clearStencil(),r.setColorMode(t.ColorMode.disabled),r.setDepthMode(t.DepthMode.disabled);const s=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const e of n){const n=i.getTile(e),a=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,{tileBoundsBuffer:l,tileBoundsIndexBuffer:c,tileBoundsSegments:u}=this.getTileBoundsBuffers(n);s.draw(r,o.TRIANGLES,t.DepthMode.disabled,new t.StencilMode({func:o.ALWAYS,mask:0},a,255,o.KEEP,o.KEEP,o.REPLACE),t.ColorMode.disabled,t.CullFaceMode.disabled,Ci(e.projMatrix),"$clipping",l,c,u)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,i=this.context.gl;return new t.StencilMode({func:i.NOTEQUAL,mask:255},e,255,i.KEEP,i.KEEP,i.REPLACE)}stencilModeForClipping(e){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(e);const i=this.context.gl;return new t.StencilMode({func:i.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,i.KEEP,i.KEEP,i.REPLACE)}stencilConfigForOverlap(e){const i=this.context.gl,n=e.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=n[n.length-1].overscaledZ,o=n[0].overscaledZ-r+1;if(o>1){this.currentStencilSource=void 0,this.nextStencilID+o>256&&this.clearStencil();const e={};for(let n=0;n=0;this.currentLayer--){const t=this.style._layers[n[this.currentLayer]],i=e._getLayerSourceCache(t);if(t.isSky())continue;const r=i?s[i.id]:void 0;this._renderTileClippingMasks(t,i,r),this.renderLayer(this,i,t,r)}if(this.style.fog&&this.transform.projection.supportsFog&&function(e,i){const n=e.context,r=n.gl,o=e.transform,s=new t.DepthMode(r.LEQUAL,t.DepthMode.ReadOnly,[0,1]),a=e.useProgram("globeAtmosphere",null,"globe"===o.projection.name?["PROJECTION_GLOBE_VIEW","FOG"]:["FOG"]),l=t.globeToMercatorTransition(o.zoom),c=i.properties.get("color").toArray01(),u=i.properties.get("high-color").toArray01(),h=i.properties.get("space-color").toArray01PremultipliedAlpha(),p=t.identity$1([]);t.rotateY$1(p,p,-t.degToRad(o._center.lng)),t.rotateX$1(p,p,t.degToRad(o._center.lat)),t.rotateZ$1(p,p,o.angle),t.rotateX$1(p,p,-o._pitch);const d=t.fromQuat(new Float32Array(16),p),f=t.mapValue(i.properties.get("star-intensity"),0,1,0,.25),m=5e-4,g=t.mapValue(i.properties.get("horizon-blend"),0,1,m,.25),_=t.globeUseCustomAntiAliasing(e,n,o)&&g===m?o.worldSize/(2*Math.PI*1.025)-1:o.globeRadius,y=e.frameCounter/1e3%1,v=t.length(o.globeCenterInViewSpace),x=Math.sqrt(Math.pow(v,2)-Math.pow(_,2)),b=Math.acos(x/v),w=((e,i,n,r,o,s,a,l,c,u,h,p,d,f)=>({u_frustum_tl:e,u_frustum_tr:i,u_frustum_br:n,u_frustum_bl:r,u_horizon:o,u_transition:s,u_fadeout_range:a,u_color:l,u_high_color:c,u_space_color:u,u_star_intensity:h,u_star_size:5*t.exported.devicePixelRatio,u_star_density:0,u_temporal_offset:p,u_horizon_angle:d,u_rotation_matrix:f}))(o.frustumCorners.TL,o.frustumCorners.TR,o.frustumCorners.BR,o.frustumCorners.BL,o.frustumCorners.horizon,l,g,c,u,h,f,y,b,d);e.prepareDrawProgram(n,a);const A=e.atmosphereBuffer;A&&a.draw(n,r.TRIANGLES,s,t.StencilMode.disabled,t.ColorMode.alphaBlended,t.CullFaceMode.backCW,w,"skybox",A.vertexBuffer,A.indexBuffer,A.segments)}(this,this.style.fog),this.renderPass="sky",(t.globeToMercatorTransition(this.transform.zoom)>0||"globe"!==this.transform.projection.name)&&this.transform.isHorizonVisible())for(this.currentLayer=0;this.currentLayer{const n=e._getLayerSourceCache(t);n&&!t.isHidden(this.transform.zoom)&&(!i||i.getSource().maxzoom0?e.pop():null}isPatternMissing(t){return null===t||void 0!==t&&!this.imageManager.getPattern(t.toString())}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}currentGlobalDefines(){const t=this.terrain&&this.terrain.renderingToTexture,e=this.terrain&&0===this.terrain.exaggeration(),i=this.style&&this.style.fog,n=[];return this.terrainRenderModeElevated()&&n.push("TERRAIN"),"globe"===this.transform.projection.name&&n.push("GLOBE"),e&&n.push("ZERO_EXAGGERATION"),i&&!t&&0!==i.getOpacity(this.transform.pitch)&&n.push("FOG"),t&&n.push("RENDER_TO_TEXTURE"),this._showOverdrawInspector&&n.push("OVERDRAW_INSPECTOR"),n}useProgram(t,e,i){this.cache=this.cache||{};const n=i||[],r=this.currentGlobalDefines().concat(n),o=Pi.cacheKey(ci[t],t,r,e);return this.cache[o]||(this.cache[o]=new Pi(this.context,t,ci[t],e,an[t],r)),this.cache[o]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this._terrain&&this._terrain.destroy(),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.atmosphereBuffer&&this.atmosphereBuffer.destroy()}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile()}prepareDrawProgram(e,i,n){if(this.terrain&&this.terrain.renderingToTexture)return;const r=this.style.fog;if(r){const o=r.getOpacity(this.transform.pitch),s=((e,i,n,r,o,s,a,l,c,u,h)=>{const p=e.transform,d=i.properties.get("color").toArray01();d[3]=r;const f=e.frameCounter/1e3%1;return{u_fog_matrix:n?p.calculateFogTileMatrix(n):e.identityMat,u_fog_range:i.getFovAdjustedRange(p._fov),u_fog_color:d,u_fog_horizon_blend:i.properties.get("horizon-blend"),u_fog_temporal_offset:f,u_frustum_tl:o,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:u,u_viewport:h,u_globe_transition:t.globeToMercatorTransition(p.zoom),u_is_globe:+("globe"===p.projection.name)}})(this,r,n,o,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*t.exported.devicePixelRatio,this.transform.height*t.exported.devicePixelRatio]);i.setFogUniformValues(e,s)}}setTileLoadedFlag(t){this.tileLoaded=t}saveCanvasCopy(){const t=this.canvasCopy();t&&(this.frameCopies.push(t),this.tileLoaded=!1)}canvasCopy(){const t=this.context.gl,e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,t.drawingBufferWidth,t.drawingBufferHeight,0),e}getCanvasCopiesAndTimestamps(){return{canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return!1;const t=this.style&&this.style.fog;return!!t&&0!==t.getOpacity(this.transform.pitch)}getBackgroundTiles(){const e=this._backgroundTiles,i=this._backgroundTiles={},n=this.transform.coveringTiles({tileSize:512});for(const r of n)i[r.key]=e[r.key]||new t.Tile(r,512,this.transform.tileZoom,this);return i}clearBackgroundTiles(){this._backgroundTiles={}}}class Bn{constructor(t=0,e=0,i=0,n=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=i,this.right=n}interpolate(e,i,n){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,n)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,n)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,n)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,n)),this}getCenter(e,i){const n=t.clamp((this.left+e-this.right)/2,0,e),r=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(n,r)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Bn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Nn(e,i){const n=t.getColumn(e,3);t.fromQuat(e,i),t.setColumn(e,3,n)}function Fn(e,i){const n=t.identity$1([]);return t.rotateZ$1(n,n,-i),t.rotateX$1(n,n,-e),n}function Un(e,i){const n=[e[0],e[1],0],r=[i[0],i[1],0];if(t.length(n)>=1e-15){const e=t.normalize([],n);t.scale$2(r,e,t.dot(r,e)),i[0]=r[0],i[1]=r[1]}const o=t.cross([],i,e);if(t.len(o)<1e-15)return null;const s=Math.atan2(-o[1],o[0]);return Fn(Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2]),s)}class jn{constructor(t,e){this.position=t,this.orientation=e}get position(){return this._position}set position(e){if(e){const i=e instanceof t.MercatorCoordinate?e:new t.MercatorCoordinate(e[0],e[1],e[2]);this._renderWorldCopies&&(i.x=t.wrap(i.x,0,1)),this._position=i}else this._position=null}lookAtPoint(e,i){if(this.orientation=null,!this.position)return;const n=this.position,r=this._elevation?this._elevation.getAtPointOrZero(t.MercatorCoordinate.fromLngLat(e)):0,o=t.MercatorCoordinate.fromLngLat(e,r),s=[o.x-n.x,o.y-n.y,o.z-n.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=Un(s,i)}setPitchBearing(e,i){this.orientation=Fn(t.degToRad(e),t.degToRad(-i))}}class Vn{constructor(e,i){this._transform=t.identity([]),this.orientation=i,this.position=e}get mercatorPosition(){const e=this.position;return new t.MercatorCoordinate(e[0],e[1],e[2])}get position(){const e=t.getColumn(this._transform,3);return[e[0],e[1],e[2]]}set position(e){var i;e&&t.setColumn(this._transform,3,[(i=e)[0],i[1],i[2],1])}get orientation(){return this._orientation}set orientation(e){this._orientation=e||t.identity$1([]),e&&Nn(this._transform,this._orientation)}getPitchBearing(){const t=this.forward(),e=this.right();return{bearing:Math.atan2(-e[1],e[0]),pitch:Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2])}}setPitchBearing(t,e){this._orientation=Fn(t,e),Nn(this._transform,this._orientation)}forward(){const e=t.getColumn(this._transform,2);return[-e[0],-e[1],-e[2]]}up(){const e=t.getColumn(this._transform,1);return[-e[0],-e[1],-e[2]]}right(){const e=t.getColumn(this._transform,0);return[e[0],e[1],e[2]]}getCameraToWorld(e,i){const n=new Float64Array(16);return t.invert(n,this.getWorldToCamera(e,i)),n}getWorldToCameraPosition(e,i,n){const r=this.position;t.scale$2(r,r,-e);const o=new Float64Array(16);return t.fromScaling(o,[n,n,n]),t.translate(o,o,r),o[10]*=i,o}getWorldToCamera(e,i){const n=new Float64Array(16),r=new Float64Array(4),o=this.position;return t.conjugate(r,this._orientation),t.scale$2(o,o,-e),t.fromQuat(n,r),t.translate(n,n,o),n[1]*=-1,n[5]*=-1,n[9]*=-1,n[13]*=-1,n[8]*=i,n[9]*=i,n[10]*=i,n[11]*=i,n}getCameraToClipPerspective(e,i,n,r){const o=new Float64Array(16);return t.perspective(o,e,i,n,r),o}getDistanceToElevation(e,i=!1){const n=0===e?0:t.mercatorZfromAltitude(e,i?t.latFromMercatorY(this.position[1]):this.position[1]),r=this.forward();return(n-this.position[2])/r[2]}clone(){return new Vn([...this.position],[...this.orientation])}}function Gn(e,i){const n=Zn(e.projection,e.zoom,e.width,e.height),r=function(e,i,n,r,o){const s=new t.LngLat(n.lng-180*$n,n.lat),a=new t.LngLat(n.lng+180*$n,n.lat),l=e.project(s.lng,s.lat),c=e.project(a.lng,a.lat),u=-Math.atan2(c.y-l.y,c.x-l.x),h=t.MercatorCoordinate.fromLngLat(n);h.y=t.clamp(h.y,-1+$n,1-$n);const p=h.toLngLat(),d=e.project(p.lng,p.lat),f=t.MercatorCoordinate.fromLngLat(p);f.x+=$n;const m=f.toLngLat(),g=e.project(m.lng,m.lat),_=Wn(g.x-d.x,g.y-d.y,u),y=t.MercatorCoordinate.fromLngLat(p);y.y+=$n;const v=y.toLngLat(),x=e.project(v.lng,v.lat),b=Wn(x.x-d.x,x.y-d.y,u),w=Math.abs(_.x)/Math.abs(b.y),A=t.identity([]);t.rotateZ(A,A,-u*(1-(o?0:r)));const E=t.identity([]);return t.scale(E,E,[1,1-(1-w)*r,1]),E[4]=-b.x/b.y*r,t.rotateZ(E,E,u),t.multiply(E,A,E),E}(e.projection,0,e.center,n,i),o=qn(e);return t.scale(r,r,[o,o,1]),r}function qn(e){const i=e.projection,n=Zn(e.projection,e.zoom,e.width,e.height),r=Xn(i,e.center),o=Xn(i,t.LngLat.convert(i.center));return Math.pow(2,r*n+(1-n)*o)}function Zn(e,i,n,r,o=1/0){const s=e.range;if(!s)return 0;const a=Math.min(o,Math.max(n,r)),l=Math.log(a/1024)/Math.LN2;return t.smoothstep(s[0]+l,s[1]+l,i)}const $n=1/4e4;function Xn(e,i){const n=t.clamp(i.lat,-t.MAX_MERCATOR_LATITUDE,t.MAX_MERCATOR_LATITUDE),r=new t.LngLat(i.lng-180*$n,n),o=new t.LngLat(i.lng+180*$n,n),s=e.project(r.lng,n),a=e.project(o.lng,n),l=t.MercatorCoordinate.fromLngLat(r),c=t.MercatorCoordinate.fromLngLat(o),u=a.x-s.x,h=a.y-s.y,p=c.x-l.x,d=c.y-l.y,f=Math.sqrt((p*p+d*d)/(u*u+h*h));return Math.log(f)/Math.LN2}function Wn(t,e,i){const n=Math.cos(i),r=Math.sin(i);return{x:t*n-e*r,y:t*r+e*n}}class Hn{constructor(e,i,n,r,o,s,a){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==n?0:n,this._maxPitch=null==r?60:r,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new Bn,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._distanceTileDataCache={},this._camera=new Vn,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference="ground",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._horizonShift=.1}clone(){const t=new Hn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return t._elevation=this._elevation,t._centerAltitude=this._centerAltitude,t._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,t.tileSize=this.tileSize,t.mercatorFromTransition=this.mercatorFromTransition,t.width=this.width,t.height=this.height,t.cameraElevationReference=this.cameraElevationReference,t._center=this._center,t._setZoom(this.zoom),t._seaLevelZoom=this._seaLevelZoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._nearZ=this._nearZ,t._farZ=this._farZ,t._averageElevation=this._averageElevation,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._camera=this._camera.clone(),t._calcMatrices(),t.freezeTileCoverage=this.freezeTileCoverage,t.frustumCorners=this.frustumCorners,t}get elevation(){return this._elevation}set elevation(t){this._elevation!==t&&(this._elevation=t,this._updateCameraOnTerrain(),this._calcMatrices())}updateElevation(t,e=!1){const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(t||i)&&this._constrainCamera(e),this._calcMatrices()}getProjection(){return t.pick(this.projection,["name","center","parallels"])}setProjection(i){this.projectionOptions=i||{name:"mercator"};const n=this.projection?this.getProjection():void 0;this.projection=t.getProjection(this.projectionOptions);const r=!e(n,this.getProjection());return r&&this._calcMatrices(),this.mercatorFromTransition=!1,r}setMercatorFromTransition(){const e=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:"mercator"},this.projection=t.getProjection({name:"mercator"});const i=e!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const t=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(t))}get cameraWorldSize(){const t=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(t))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return t.mercatorZfromAltitude(this.center.lat,this.cameraWorldSizeForFog)}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.Point(this.width,this.height)}get bearing(){return t.wrap(this.rotation,-180,180)}set bearing(t){this.rotation=t}get rotation(){return-this.angle/Math.PI*180}set rotation(e){const i=-e*Math.PI/180;var n;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(n=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),function(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);t[0]=n*l+o*a,t[1]=r*l+s*a,t[2]=n*-a+o*l,t[3]=r*-a+s*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const t=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/t)}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=t.degToRad(e),this._calcMatrices())}get averageElevation(){return this._averageElevation}set averageElevation(t){this._averageElevation=t,this._calcFogMatrices(),this._distanceTileDataCache={}}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._setZoom(e),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices())}_setZoom(t){this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom}_updateCameraOnTerrain(){if(!this._elevation||!this._elevation.isDataAvailableAtPoint(this.locationCoordinate(this.center)))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const t=this._elevation;this._centerAltitude=t.getAtPointOrZero(this.locationCoordinate(this.center)),this._centerAltitudeValidForExaggeration=t.exaggeration(),this._updateSeaLevelZoom()}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize))}sampleAverageElevation(){if(!this._elevation)return 0;const e=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],n=this.horizonLineFromTop();let r=0,o=0;for(let s=0;se.maxzoom&&(i=e.maxzoom);const s=this.locationCoordinate(this.center),a=this.center.lat,l=1<{const i=1/4e4,n=new t.MercatorCoordinate(e.x+i,e.y,e.z),r=new t.MercatorCoordinate(e.x,e.y+i,e.z),o=e.toLngLat(),s=n.toLngLat(),a=r.toLngLat(),l=this.locationCoordinate(o),c=this.locationCoordinate(s),u=this.locationCoordinate(a),h=Math.hypot(c.x-l.x,c.y-l.y),p=Math.hypot(u.x-l.x,u.y-l.y);return Math.sqrt(h*p)*b/i},A=e=>{const i=v,n=x;return{aabb:t.tileAABB(this,l,0,0,0,e,n,i,this.projection),zoom:0,x:0,y:0,minZ:n,maxZ:i,wrap:e,fullyVisible:!1}},E=[];let C=[];const T=i,k=e.reparseOverscaled?n:i,S=t=>t*t,I=S((m-this._centerAltitude)*f),M=t=>{if(!this._elevation||!t.tileID||!o)return;const e=this._elevation.getMinMaxForTile(t.tileID),i=t.aabb;e?(i.min[2]=e.min,i.max[2]=e.max,i.center[2]=(i.min[2]+i.max[2])/2):(t.shouldSplit=P(t),t.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude))},P=e=>{if(e.zoom=.9)return!0}else if(r&&(s=S(e.aabb.distanceZ(g)*f)),this.projection.isReprojectedInTileSpace&&n<=5){const i=Math.pow(2,e.zoom),n=w(new t.MercatorCoordinate((e.x+.5)/i,(e.y+.5)/i));l=n>.85?1:n}const c=i*i+o*o+s,h=S((1<{if(e*S(.707)0;){const n=E.pop(),s=n.x,a=n.y;let h=n.fullyVisible;if(!h){const t=n.aabb.intersects(p);if(0===t)continue;h=2===t}if(n.zoom!==T&&P(n))for(let e=0;e<4;e++){const i=(s<<1)+e%2,c=(a<<1)+(e>>1),p={aabb:o?n.aabb.quadrant(e):t.tileAABB(this,l,n.zoom+1,i,c,n.wrap,n.minZ,n.maxZ,this.projection),zoom:n.zoom+1,x:i,y:c,wrap:n.wrap,fullyVisible:h,tileID:void 0,shouldSplit:void 0,minZ:n.minZ,maxZ:n.maxZ};r&&!u&&(p.tileID=new t.OverscaledTileID(n.zoom+1===T?k:n.zoom+1,n.wrap,n.zoom+1,i,c),M(p)),E.push(p)}else{const r=n.zoom===T?k:n.zoom;if(e.minzoom&&e.minzoom>r)continue;const o=c[0]-(.5+s+(n.wrap<{const o=[0,0,0,1],s=[t.EXTENT,t.EXTENT,0,1],a=this.calculateFogTileMatrix(r.tileID.toUnwrapped());t.transformMat4$1(o,o,a),t.transformMat4$1(s,s,a);const l=t.getAABBPointSquareDist(o,s);if(0===l)return!0;let c=!1;const u=this._elevation;if(u&&l>i&&0!==n){const i=this.calculateProjMatrix(r.tileID.toUnwrapped());let o;e.isTerrainDEM||(o=u.getMinMaxForTile(r.tileID)),o||(o={min:x,max:v});const s=t.furthestTileCorner(this.rotation),a=[s[0]*t.EXTENT,s[1]*t.EXTENT,o.max];t.transformMat4(a,a,i),c=(1-a[1])*this.height*.5t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-t.MAX_MERCATOR_LATITUDE,t.MAX_MERCATOR_LATITUDE),n=this.projection.project(e.lng,i);return new t.Point(n.x*this.worldSize,n.y*this.worldSize)}unproject(t){return this.projection.unproject(t.x/this.worldSize,t.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/t.mercatorZfromAltitude(1,this.center.lat)/this.worldSize}setLocationAtPoint(e,i){let n,r;const o=this.centerPoint;if("globe"===this.projection.name){const t=this.worldSize;n=(i.x-o.x)/t,r=(i.y-o.y)/t}else{const t=this.pointCoordinate(i),e=this.pointCoordinate(o);n=t.x-e.x,r=t.y-e.y}const s=this.locationCoordinate(e);this.setLocation(new t.MercatorCoordinate(s.x-n,s.y-r))}setLocation(t){this.center=this.coordinateLocation(t),this.projection.wrap&&(this.center=this.center.wrap())}locationPoint(t){return this.projection.locationPoint(this,t)}locationPoint3D(t){return this.projection.locationPoint(this,t,!0)}pointLocation(t){return this.coordinateLocation(this.pointCoordinate(t))}pointLocation3D(t){return this.coordinateLocation(this.pointCoordinate3D(t))}locationCoordinate(e,i){const n=i?t.mercatorZfromAltitude(i,e.lat):void 0,r=this.projection.project(e.lng,e.lat);return new t.MercatorCoordinate(r.x,r.y,n)}coordinateLocation(t){return this.projection.unproject(t.x,t.y)}pointRayIntersection(e,i){const n=null!=i?i:this._centerAltitude,r=[e.x,e.y,0,1],o=[e.x,e.y,1,1];t.transformMat4$1(r,r,this.pixelMatrixInverse),t.transformMat4$1(o,o,this.pixelMatrixInverse);const s=o[3];t.scale$1(r,r,1/r[3]),t.scale$1(o,o,1/s);const a=r[2],l=o[2];return{p0:r,p1:o,t:a===l?0:(n-a)/(l-a)}}screenPointToMercatorRay(e){const i=[e.x,e.y,0,1],n=[e.x,e.y,1,1];return t.transformMat4$1(i,i,this.pixelMatrixInverse),t.transformMat4$1(n,n,this.pixelMatrixInverse),t.scale$1(i,i,1/i[3]),t.scale$1(n,n,1/n[3]),i[2]=t.mercatorZfromAltitude(i[2],this._center.lat)*this.worldSize,n[2]=t.mercatorZfromAltitude(n[2],this._center.lat)*this.worldSize,t.scale$1(i,i,1/this.worldSize),t.scale$1(n,n,1/this.worldSize),new t.Ray([i[0],i[1],i[2]],t.normalize([],t.sub([],n,i)))}rayIntersectionCoordinate(e){const{p0:i,p1:n,t:r}=e,o=t.mercatorZfromAltitude(i[2],this._center.lat),s=t.mercatorZfromAltitude(n[2],this._center.lat);return new t.MercatorCoordinate(t.number(i[0],n[0],r)/this.worldSize,t.number(i[1],n[1],r)/this.worldSize,t.number(o,s,r))}pointCoordinate(t,e=this._centerAltitude){return this.projection.pointCoordinate(this,t.x,t.y,e)}pointCoordinate3D(e){if(!this.elevation)return this.pointCoordinate(e);let i=this.projection.pointCoordinate3D(this,e.x,e.y);if(i)return new t.MercatorCoordinate(i[0],i[1],i[2]);let n=0,r=this.horizonLineFromTop();if(e.y>r)return this.pointCoordinate(e);const o=.02*r,s=e.clone();for(let e=0;e<10&&r-n>o;e++){s.y=t.number(n,r,.66);const e=this.projection.pointCoordinate3D(this,s.x,s.y);e?(r=s.y,i=e):n=s.y}return i?new t.MercatorCoordinate(i[0],i[1],i[2]):this.pointCoordinate(e)}isPointAboveHorizon(t){return this.projection.isPointAboveHorizon(this,t)}isPointOnSurface(e){if(e.y<0||e.y>this.height||e.x<0||e.x>this.width)return!1;if(this.elevation||this.zoom>=t.GLOBE_ZOOM_THRESHOLD_MAX)return!this.isPointAboveHorizon(e);const i=this.pointCoordinate(e);return i.y>=0&&i.y<=1}_coordinatePoint(e,i){const n=i&&this.elevation?this.elevation.getAtPointOrZero(e,this._centerAltitude):this._centerAltitude,r=[e.x*this.worldSize,e.y*this.worldSize,n+e.toAltitude(),1];return t.transformMat4$1(r,r,this.pixelMatrix),r[3]>0?new t.Point(r[0]/r[3],r[1]/r[3]):new t.Point(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:e,left:i}=this._edgeInsets,n=this.height-this._edgeInsets.bottom,r=this.width-this._edgeInsets.right,o=this.pointLocation3D(new t.Point(i,e)),s=this.pointLocation3D(new t.Point(r,e)),a=this.pointLocation3D(new t.Point(r,n)),l=this.pointLocation3D(new t.Point(i,n));let c=Math.min(o.lng,s.lng,a.lng,l.lng),u=Math.max(o.lng,s.lng,a.lng,l.lng),h=Math.min(o.lat,s.lat,a.lat,l.lat),p=Math.max(o.lat,s.lat,a.lat,l.lat);const d=Math.pow(2,-this.zoom)/16*270,f="globe"===this.projection.name?1:4,m=(e,i,n,r,o)=>{const s=(e+n)/2,a=(i+r)/2,l=new t.Point(s,a),{lng:g,lat:_}=this.pointLocation3D(l),y=Math.max(0,c-g,h-_,g-u,_-p);c=Math.min(c,g),u=Math.max(u,g),h=Math.min(h,_),p=Math.max(p,_),(od)&&(m(e,i,s,a,o+1),m(s,a,n,r,o+1))};if(m(i,e,r,e,1),m(r,e,r,n,1),m(r,n,i,n,1),m(i,n,i,e,1),"globe"===this.projection.name){const[e,i]=t.polesInViewport(this);e?(p=90,u=180,c=-180):i&&(h=-90,u=180,c=-180)}return new t.LngLatBounds(new t.LngLat(c,h),new t.LngLat(u,p))}_getBoundsRectangular(e,i){const{top:n,left:r}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new t.Point(r,n),l=new t.Point(s,n),c=new t.Point(s,o),u=new t.Point(r,o);let h=this.pointCoordinate(a,e),p=this.pointCoordinate(l,e);const d=this.pointCoordinate(c,i),f=this.pointCoordinate(u,i),m=(t,e)=>(e.y-t.y)/(e.x-t.x);return h.y>1&&p.y>=0?h=new t.MercatorCoordinate((1-f.y)/m(f,h)+f.x,1):h.y<0&&p.y<=1&&(h=new t.MercatorCoordinate(-f.y/m(f,h)+f.x,0)),p.y>1&&h.y>=0?p=new t.MercatorCoordinate((1-d.y)/m(d,p)+d.x,1):p.y<0&&h.y<=1&&(p=new t.MercatorCoordinate(-d.y/m(d,p)+d.x,0)),(new t.LngLatBounds).extend(this.coordinateLocation(h)).extend(this.coordinateLocation(p)).extend(this.coordinateLocation(f)).extend(this.coordinateLocation(d))}_getBoundsRectangularTerrain(){const t=this.elevation;if(!t.visibleDemTiles.length||t.isUsingMockSource())return this._getBoundsRectangular(0,0);const e=t.visibleDemTiles.reduce(((t,e)=>{if(e.dem){const i=e.dem.tree;t.min=Math.min(t.min,i.minimums[0]),t.max=Math.max(t.max,i.maximums[0])}return t}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(e.min*t.exaggeration(),e.max*t.exaggeration())}getBounds(){return"mercator"===this.projection.name||"equirectangular"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(t=!0){const e=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))+this.centerOffset.y,i=this.height/2-e*(1-this._horizonShift);return t?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(e){this.maxBounds=e,this.minLat=-t.MAX_MERCATOR_LATITUDE,this.maxLat=t.MAX_MERCATOR_LATITUDE,this.minLng=-180,this.maxLng=180,e&&(this.minLat=e.getSouth(),this.maxLat=e.getNorth(),this.minLng=e.getWest(),this.maxLng=e.getEast(),this.maxLngh&&(a=h-c),h-ue&&(s=e-l),e-t.5?x-1:x,b>.5?b-1:b,0]),this.alignedProjMatrix=w,a=t.create(),t.scale(a,a,[this.width/2,-this.height/2,1]),t.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=t.create(),t.scale(a,a,[1,-1,1]),t.translate(a,a,[-1,-1,0]),t.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),this._calcFogMatrices(),this._distanceTileDataCache={},a=t.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error("failed to invert matrix");if(this.pixelMatrixInverse=a,"globe"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=t.calculateGlobeMatrix(this);const e=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=t.transformMat4(e,e,o),this.globeRadius=this.worldSize/2/Math.PI-1}else this.globeMatrix=a;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={}}_calcFogMatrices(){this._fogTileMatrixCache={};const e=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,n=this._camera.position,r=1/this.height/this._pixelsPerMercatorPixel,o=[e,e,i];t.scale$2(o,o,r),t.scale$2(n,n,-1),t.multiply$2(n,n,o);const s=t.create();t.translate(s,s,n),t.scale(s,s,o),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(e,i,r)}_computeCameraPosition(t){const e=(t=t||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),n=this.point,r=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*e-t/this.worldSize*this._centerAltitude;return[n.x/this.worldSize-i[0]*r,n.y/this.worldSize-i[1]*r,t/this.worldSize*this._centerAltitude-i[2]*r]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition())}_translateCameraConstrained(e){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),n=this._camera.position[2],r=e[2];let o=1;this.projection.wrap&&(this.center=this.center.wrap()),r>0&&(o=Math.min((i-n)/r,1)),this._camera.position=t.scaleAndAdd([],this._camera.position,e,o),this._updateStateFromCamera()}_updateStateFromCamera(){const e=this._camera.position,i=this._camera.forward(),{pitch:n,bearing:r}=this._camera.getPitchBearing(),o=t.mercatorZfromAltitude(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(t.degToRad(this._maxPitch)),a=Math.max((e[2]-o)/Math.cos(n),s),l=this._zoomFromMercatorZ(a);t.scaleAndAdd(e,e,i,a),this._pitch=t.clamp(n,t.degToRad(this.minPitch),t.degToRad(this.maxPitch)),this.angle=t.wrap(r,-Math.PI,Math.PI),this._setZoom(t.clamp(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new t.MercatorCoordinate(e[0],e[1],e[2])),this._unmodified=!1,this._constrain(),this._calcMatrices()}_worldSizeFromZoom(t){return Math.pow(2,t)*this.tileSize}_mercatorZfromZoom(t){return this.cameraToCenterDistance/this._worldSizeFromZoom(t)}_minimumHeightOverTerrain(){const t=Math.min((null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom)+4,this._maxZoom);return this._mercatorZfromZoom(t)}_zoomFromMercatorZ(t){return this.scaleZoom(this.cameraToCenterDistance/(t*this.tileSize))}zoomFromMercatorZAdjusted(e){let i=0,n=t.GLOBE_ZOOM_THRESHOLD_MAX,r=0,o=1/0;for(;n-i>1e-6&&n>i;){const t=i+.5*(n-i),s=this.tileSize*Math.pow(2,t),a=this.getCameraToCenterDistance(this.projection,t,s),l=this.scaleZoom(a/(e*this.tileSize)),c=Math.abs(t-l);cc||i.y>1)return!0}return!1}isHorizonVisible(){return this.pitch+t.radToDeg(this.fovAboveCenter)>88||this.anyCornerOffEdge(new t.Point(0,0),new t.Point(this.width,this.height))}zoomDeltaToMovement(e,i){const n=t.length(t.sub([],this._camera.position,e)),r=this._zoomFromMercatorZ(n)+i;return n-this._mercatorZfromZoom(r)}getCameraPoint(){if("globe"===this.projection.name){const e=function([e,i,n],r){const o=[e,i,n,1];t.transformMat4$1(o,o,r);const s=o[3]=Math.max(o[3],1e-6);return o[0]/=s,o[1]/=s,o[2]/=s,o}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new t.Point(e[0],e[1])}{const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))}}getCameraToCenterDistance(t,e=this.zoom,i=this.worldSize){const n=Zn(t,e,this.width,this.height,1024),r=t.pixelSpaceConversion(this.center.lat,i,n);return.5/Math.tan(.5*this._fov)*this.height*r}getWorldToCameraMatrix(){const e=this._camera.getWorldToCamera(this.worldSize,"meters"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return"globe"===this.projection.name&&t.multiply(e,e,this.globeMatrix),e}}function Yn(t,e){let i=!1,n=null;const r=()=>{n=null,i&&(t(),n=setTimeout(r,e),i=!1)};return()=>(i=!0,n||r(),n)}class Kn{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=Yn(this._updateHashUnthrottled.bind(this),300)}addTo(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),e.on("moveend",this._updateHash),this}remove(){return this._map?(this._map.off("moveend",this._updateHash),t.window.removeEventListener("hashchange",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const e=this._map;if(!e)return"";const i=Jn(e);if(this._hashName){const e=this._hashName;let n=!1;const r=t.window.location.hash.slice(1).split("&").map((t=>{const r=t.split("=")[0];return r===e?(n=!0,`${r}=${i}`):t})).filter((t=>t));return n||r.push(`${e}=${i}`),`#${r.join("&")}`}return`#${i}`}_getCurrentHash(){const e=t.window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((t=>t.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")}_onHashChange(){const t=this._map;if(!t)return!1;const e=this._getCurrentHash();if(e.length>=3&&!e.some((t=>isNaN(t)))){const i=t.dragRotate.isEnabled()&&t.touchZoomRotate.isEnabled()?+(e[3]||0):t.getBearing();return t.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:i,pitch:+(e[4]||0)}),!0}return!1}_updateHashUnthrottled(){const e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());t.window.history.replaceState(t.window.history.state,null,e)}}function Jn(t,e){const i=t.getCenter(),n=Math.round(100*t.getZoom())/100,r=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),o=Math.pow(10,r),s=Math.round(i.lng*o)/o,a=Math.round(i.lat*o)/o,l=t.getBearing(),c=t.getPitch();let u=e?`/${s}/${a}/${n}`:`${n}/${a}/${s}`;return(l||c)&&(u+="/"+Math.round(10*l)/10),c&&(u+=`/${Math.round(c)}`),u}const Qn={linearity:.3,easing:t.bezier(0,0,.3,1)},tr=t.extend({deceleration:2500,maxSpeed:1400},Qn),er=t.extend({deceleration:20,maxSpeed:1400},Qn),ir=t.extend({deceleration:1e3,maxSpeed:360},Qn),nr=t.extend({deceleration:1e3,maxSpeed:90},Qn);class rr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={};if(i.pan.mag()){const o=sr(i.pan.mag(),n,t.extend({},tr,e||{}));r.offset=i.pan.mult(o.amount/i.pan.mag()),r.center=this._map.transform.center,or(r,o)}if(i.zoom){const t=sr(i.zoom,n,er);r.zoom=this._map.transform.zoom+t.amount,or(r,t)}if(i.bearing){const e=sr(i.bearing,n,ir);r.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),or(r,e)}if(i.pitch){const t=sr(i.pitch,n,nr);r.pitch=this._map.transform.pitch+t.amount,or(r,t)}if(r.zoom||r.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;r.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),r.noMoveStart=!0,r}}function or(t,e){(!t.duration||t.durationi.unproject(t))),a=o.reduce(((t,e,i,n)=>t.add(e.div(n.length))),new t.Point(0,0));super(e,{points:o,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:n}),this._defaultPrevented=!1}}class cr extends t.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}}class ur{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){this._mousedownPos=void 0}wheel(t){return this._firePreventable(new cr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new ar(t.type,this._map,t))}mouseup(t){this._map.fire(new ar(t.type,this._map,t))}preclick(e){const i=t.extend({},e);i.type="preclick",this._map.fire(new ar(i.type,this._map,i))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||(this.preclick(t),this._map.fire(new ar(t.type,this._map,t)))}dblclick(t){return this._firePreventable(new ar(t.type,this._map,t))}mouseover(t){this._map.fire(new ar(t.type,this._map,t))}mouseout(t){this._map.fire(new ar(t.type,this._map,t))}touchstart(t){return this._firePreventable(new lr(t.type,this._map,t))}touchmove(t){this._map.fire(new lr(t.type,this._map,t))}touchend(t){this._map.fire(new lr(t.type,this._map,t))}touchcancel(t){this._map.fire(new lr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class hr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0}mousemove(t){this._map.fire(new ar(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ar("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new ar(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class pr{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(u(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e,n=this._startPos,r=this._lastPos;if(!n||!r||r.equals(i)||!this._box&&i.dist(n){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+"px",this._box.style.height=c-l+"px")}))}mouseupWindow(e,i){if(!this._active)return;const n=this._startPos,r=i;if(n&&0===e.button){if(this.reset(),d(),n.x!==r.x||n.y!==r.y)return this._map.fire(new t.Event("boxzoomend",{originalEvent:e})),{cameraAnimation:t=>t.fitScreenCoordinates(n,r,this._map.getBearing(),{linear:!1})};this._fireEvent("boxzoomcancel",e)}}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}blur(){this.reset()}reset(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.remove(),this._box=null),h(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function dr(t,e){const i={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){const i=new t.Point(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=dr(n,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const n=dr(i,e);for(const t in this.touches){const e=n[t];(!e||e.dist(this.touches[t])>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class mr{constructor(t){this.singleTap=new fr(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const n=this.singleTap.touchend(t,e,i);if(n){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(n)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class gr{constructor(){this._zoomIn=new mr({numTouches:1,numTaps:2}),this._zoomOut=new mr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const n=this._zoomIn.touchend(t,e,i),r=this._zoomOut.touchend(t,e,i);return n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(n)},{originalEvent:t})}):r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(r)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const _r={0:1,2:2};class yr{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1}blur(){this.reset()}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0}_correctButton(t,e){return!1}_move(t,e){return{}}mousedown(t,e){if(this._lastPoint)return;const i=g(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i)}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),null!=this._eventButton&&function(t,e){const i=_r[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i)0&&(this._active=!0);const r=dr(n,i),o=new t.Point(0,0),s=new t.Point(0,0);let a=0;for(const t in r){const e=r[t],i=this._touches[t];i&&(o._add(e),s._add(e.sub(i)),a++,r[t]=e)}if(this._touches=r,a{this._alertContainer.classList.remove("mapboxgl-touch-pan-blocker-show"),this._alertContainer.setAttribute("role","null")}),500)}}class Ar{constructor(){this.reset()}reset(){this._active=!1,this._firstTwoTouches=void 0}_start(t){}_move(t,e,i){return{}}touchstart(t,e,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([e[0],e[1]]))}touchmove(t,e,i){const n=this._firstTwoTouches;if(!n)return;t.preventDefault();const[r,o]=n,s=Er(i,e,r),a=Er(i,e,o);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,t)}touchend(t,e,i){if(!this._firstTwoTouches)return;const[n,r]=this._firstTwoTouches,o=Er(i,e,n),s=Er(i,e,r);o&&s||(this._active&&d(),this.reset())}touchcancel(){this.reset()}enable(t){this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}function Er(t,e,i){for(let n=0;nMath.abs(t.x)}class Mr extends Ar{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0}_start(t){this._lastPoints=t,Ir(t[0].sub(t[1]))&&(this._valid=!1)}_move(e,i,n){const r=this._lastPoints;if(!r)return;const o=e[0].sub(r[0]),s=e[1].sub(r[1]);return this._map._cooperativeGestures&&!t.isFullscreen()&&n.touches.length<3||(this._valid=this.gestureBeginsVertically(o,s,n.timeStamp),!this._valid)?void 0:(this._lastPoints=e,this._active=!0,{pitchDelta:(o.y+s.y)/2*-.5})}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const n=t.mag()>=2,r=e.mag()>=2;if(!n&&!r)return;if(!n||!r)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return Ir(t)&&Ir(e)&&o}}const Pr={panStep:100,bearingStep:15,pitchStep:10};class Lr{constructor(){const t=Pr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}blur(){this.reset()}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,n=0,r=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),r=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),r=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?n=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,n=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:zr,zoom:e?Math.round(a)+e*(t.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+n*this._pitchStep,offset:[-r*this._panStep,-o*this._panStep],center:s.getCenter()},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function zr(t){return t*(2-t)}const Dr=4.000244140625;class Rr{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout","_addScrollZoomBlocker","_showBlockerAlert"],this)}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker())}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()))}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(e.ctrlKey||e.metaKey||this.isZooming()||t.isFullscreen()))return void this._showBlockerAlert();"hidden"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility="hidden",clearTimeout(this._alertTimer))}let i=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const n=t.exported.now(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==i&&i%Dr==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault()}_onTimeout(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const e=f(this._el,t);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:e,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;"wheel"===this._type&&e.projection.wrap&&(e._center.lng>=180||e._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>e._terrainEnabled()&&this._aroundCoord?e.computeZoomRelativeTo(this._aroundCoord):e.zoom;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Dr?this._wheelZoomRate:this._defaultZoomRate;let n=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==n&&(n=1/n);const r=i(),o=Math.pow(2,r),s="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):o;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(s*n))),"wheel"===this._type&&(this._startZoom=r,this._easing=this._smoothOutEasing(200)),this._delta=0}const n="number"==typeof this._targetZoom?this._targetZoom:i(),r=this._startZoom,o=this._easing;let s,a=!1;if("wheel"===this._type&&r&&o){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),i=o(e);s=t.number(r,n,i),e<1?this._frameId||(this._frameId=!0):a=!0}else s=n,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:s-i(),around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,n=(t.exported.now()-e.start)/e.duration,r=e.easing(n+.01)-e.easing(n),o=.27/Math.sqrt(r*r+1e-4)*.01,s=Math.sqrt(.0729-o*o);i=t.bezier(o,s,.25,1)}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}blur(){this.reset()}reset(){this._active=!1}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=o("div","mapboxgl-scroll-zoom-blocker",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(t.window.navigator.userAgent)?this._map._getUIString("ScrollZoomBlocker.CmdMessage"):this._map._getUIString("ScrollZoomBlocker.CtrlMessage"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showBlockerAlert(){this._alertContainer.style.visibility="visible",this._alertContainer.classList.add("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","alert"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","null")}),200)}}class Or{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Br{constructor(){this.reset()}reset(){this._active=!1}blur(){this.reset()}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Nr{constructor(){this._tap=new mr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset()}touchstart(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i))}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const n=e[0],r=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Ur{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class jr{constructor(t,e,i,n){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Vr=t=>t.zoom||t.drag||t.pitch||t.rotate;class Gr extends t.Event{}class qr{constructor(){this.constants=[1,1,.01],this.radius=0}setup(e,i){const n=t.sub([],i,e);this.radius=t.length(n[2]<0?t.div([],n,this.constants):[n[0],n[1],0])}projectRay(e){t.div(e,e,this.constants),t.normalize(e,e),t.mul$1(e,e,this.constants);const i=t.scale$2([],e,this.radius);if(i[2]>0){const e=t.scale$2([],[0,0,1],t.dot(i,[0,0,1])),n=t.scale$2([],t.normalize([],[i[0],i[1],0]),this.radius),r=t.add([],i,t.scale$2([],t.sub([],t.add([],n,e),i),2));i[0]=r[0],i[1]=r[1]}return i}}function Zr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class $r{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new qr,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll(["handleEvent","handleWindowEvent"],this);const n=this._el;this._listeners=[[n,"touchstart",{passive:!0}],[n,"touchmove",{passive:!1}],[n,"touchend",void 0],[n,"touchcancel",void 0],[n,"mousedown",void 0],[n,"mousemove",void 0],[n,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[n,"mouseover",void 0],[n,"mouseout",void 0],[n,"dblclick",void 0],[n,"click",void 0],[n,"keydown",{capture:!1}],[n,"keyup",void 0],[n,"wheel",{passive:!1}],[n,"contextmenu",void 0],[t.window,"blur",void 0]];for(const[e,i,n]of this._listeners)e.addEventListener(i,e===t.window.document?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(const[e,i,n]of this._listeners)e.removeEventListener(i,e===t.window.document?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new ur(e,t));const n=e.boxZoom=new pr(e,t);this._add("boxZoom",n);const r=new gr,o=new Br;e.doubleClickZoom=new Or(o,r),this._add("tapZoom",r),this._add("clickZoom",o);const s=new Nr;this._add("tapDragZoom",s);const a=e.touchPitch=new Mr(e);this._add("touchPitch",a);const l=new xr(t),c=new br(t);e.dragRotate=new Ur(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const u=new vr(t),h=new wr(e,t);e.dragPan=new Fr(i,u,h),this._add("mousePan",u),this._add("touchPan",h,["touchZoom","touchRotate"]);const p=new Sr,d=new Tr;e.touchZoomRotate=new jr(i,d,p,s),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]),this._add("blockableMapEvent",new hr(e));const f=e.scrollZoom=new Rr(e,this);this._add("scrollZoom",f,["mousePan"]);const m=e.keyboard=new Lr;this._add("keyboard",m);for(const i of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])t.interactive&&t[i]&&e[i].enable(t[i])}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Vr(this._eventsInProgress)||this.isZooming()}_isDragging(){return!!this._eventsInProgress.drag}_blockedByActive(t,e,i){for(const n in t)if(n!==i&&(!e||e.indexOf(n)<0))return!0;return!1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`)}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){this._updatingCamera=!0;const i="renderFrame"===t.type,n=i?void 0:t,r={needsRenderFrame:!1},o={},s={},a=t.touches?this._getMapTouches(t.touches):void 0,l=a?m(this._el,a):i?void 0:f(this._el,t);for(const{handlerName:i,handler:c,allowed:u}of this._handlers){if(!c.isEnabled())continue;let h;this._blockedByActive(s,u,i)?c.reset():c[e||t.type]&&(h=c[e||t.type](t,l,a),this.mergeHandlerResult(r,o,h,i,n),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||c.isActive())&&(s[i]=c)}const c={};for(const t in this._previousActiveHandlers)s[t]||(c[t]=n);this._previousActiveHandlers=s,(Object.keys(c).length||Zr(r))&&(this._changes.push([r,o,c]),this._triggerRenderFrame()),(Object.keys(s).length||Zr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))}mergeHandlerResult(e,i,n,r,o){if(!n)return;t.extend(e,n);const s={handlerName:r,originalEvent:n.originalEvent||o};void 0!==n.zoomDelta&&(i.zoom=s),void 0!==n.panDelta&&(i.drag=s),void 0!==n.pitchDelta&&(i.pitch=s),void 0!==n.bearingDelta&&(i.rotate=s)}_applyChanges(){const e={},i={},n={};for(const[r,o,s]of this._changes)r.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(r.panDelta)),r.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+r.pitchDelta),void 0!==r.around&&(e.around=r.around),void 0!==r.aroundCoord&&(e.aroundCoord=r.aroundCoord),void 0!==r.pinchAround&&(e.pinchAround=r.pinchAround),r.noInertia&&(e.noInertia=r.noInertia),t.extend(i,o),t.extend(n,s);this._updateMapTransform(e,i,n),this._changes=[]}_updateMapTransform(e,i,n){const r=this._map,o=r.transform,s=t=>[t.x,t.y,t.z];if((t=>{const e=this._eventsInProgress.drag;return e&&!this._handlersById[e.handlerName].isActive()})()&&!Zr(e)){const t=o.zoom;o.cameraElevationReference="sea",o.recenterOnTerrain(),o.cameraElevationReference="ground",t!==o.zoom&&this._map._update(!0)}if(o._isCameraConstrained&&r._stop(!0),!Zr(e))return void this._fireEvents(i,n,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:u,around:h,aroundCoord:p,pinchAround:d}=e;o._isCameraConstrained&&(l>0&&(l=0),o._isCameraConstrained=!1),void 0!==d&&(h=d),(l||(t=>i[t]&&!this._eventsInProgress[t])("drag"))&&h&&(this._dragOrigin=s(o.pointCoordinate3D(h)),this._trackingEllipsoid.setup(o._camera.position,this._dragOrigin)),o.cameraElevationReference="sea",r._stop(!0),h=h||r.transform.centerPoint,c&&(o.bearing+=c),u&&(o.pitch+=u),o._updateCameraState();const f=[0,0,0];if(a)if("mercator"===o.projection.name){const t=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(h).dir),e=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(h.sub(a)).dir);f[0]=e[0]-t[0],f[1]=e[1]-t[1]}else{const e=o.pointCoordinate(h);if("globe"===o.projection.name){a=a.rotate(-o.angle);const i=o._pixelsPerMercatorPixel/o.worldSize;f[0]=-a.x*t.mercatorScale(t.latFromMercatorY(e.y))*i,f[1]=-a.y*t.mercatorScale(o.center.lat)*i}else{const t=o.pointCoordinate(h.sub(a));e&&t&&(f[0]=t.x-e.x,f[1]=t.y-e.y)}}const m=o.zoom,g=[0,0,0];if(l){const e=s(p||o.pointCoordinate3D(h)),i={dir:t.normalize([],t.sub([],e,o._camera.position))};if(i.dir[2]<0){const n=o.zoomDeltaToMovement(e,l);t.scale$2(g,i.dir,n)}}const _=t.add(f,f,g);o._translateCameraConstrained(_),l&&Math.abs(o.zoom-m)>1e-4&&o.recenterOnTerrain(),o.cameraElevationReference="ground",this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,n,!0)}_fireEvents(e,i,n){const r=Vr(this._eventsInProgress),o=Vr(e),s={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!r&&o&&this._fireEvent("movestart",o.originalEvent);for(const t in s)this._fireEvent(t,s[t]);o&&this._fireEvent("move",o.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const a={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:n}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||n,a[`${t}end`]=l)}for(const t in a)this._fireEvent(t,a[t]);const c=Vr(this._eventsInProgress);if(n&&(r||o)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new Gr("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Xr="map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.";class Wr extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,this._respectPrefersReducedMotion=!1!==i.respectPrefersReducedMotion,t.bindAll(["_renderFrameCallback"],this)}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),n)}panTo(e,i,n){return this.easeTo(t.extend({center:e},i),n)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,n){return this.easeTo(t.extend({zoom:e},i),n)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,n){return this.easeTo(t.extend({bearing:e},i),n)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing())t.aspect?i/(2*Math.tan(.5*t.fovX)*t.aspect):n/(2*Math.tan(.5*t.fovY)*t.aspect)}_cameraForBoundsOnGlobe(e,i,n,r,o,s){const a=e.clone(),l=this._extendCameraOptions(s);a.bearing=r,a.pitch=o;const c=t.LngLat.convert(i),u=t.LngLat.convert(n),h=.5*(c.lat+u.lat),p=.5*(c.lng+u.lng),d=t.latLngToECEF(h,p),f=t.normalize([],d),m=t.normalize([],t.cross([],f,[0,1,0])),g=t.cross([],m,f),_=[m[0],m[1],m[2],0,g[0],g[1],g[2],0,f[0],f[1],f[2],0,0,0,0,1],y=[d,t.latLngToECEF(c.lat,c.lng),t.latLngToECEF(u.lat,c.lng),t.latLngToECEF(u.lat,u.lng),t.latLngToECEF(c.lat,u.lng),t.latLngToECEF(h,c.lng),t.latLngToECEF(h,u.lng),t.latLngToECEF(c.lat,p),t.latLngToECEF(u.lat,p)];let v=t.Aabb.fromPoints(y.map((e=>[t.dot(m,e),t.dot(g,e),t.dot(f,e)])));const x=t.transformMat4([],v.center,_);0===t.squaredLength(x)&&t.set(x,0,0,1),t.normalize(x,x),t.scale$2(x,x,t.GLOBE_RADIUS),a.center=t.ecefToLatLng(x);const b=a.getWorldToCameraMatrix(),w=t.invert(new Float64Array(16),b);v=t.Aabb.applyTransform(v,t.multiply([],b,_)),t.transformMat4(x,x,b);const A=.5*(v.max[2]-v.min[2]),E=this._minimumAABBFrustumDistance(a,v),C=t.scale$2([],[0,0,1],A),T=t.add(C,x,C),k=E+(0===a.pitch?0:t.distance(x,T)),S=a.globeCenterInViewSpace,I=t.sub([],x,[S[0],S[1],S[2]]);t.normalize(I,I),t.scale$2(I,I,k);const M=t.add([],x,I);t.transformMat4(M,M,w);const P=t.earthRadius/t.GLOBE_RADIUS,L=t.length(M),z=t.mercatorZfromAltitude(Math.max(L*P-t.earthRadius,Number.EPSILON),0),D=Math.min(a.zoomFromMercatorZAdjusted(z),l.maxZoom);return D>.5*(t.GLOBE_ZOOM_THRESHOLD_MIN+t.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"mercator"}),a.zoom=D,this._cameraForBounds(a,i,n,r,o,s)):{center:a.center,zoom:D,bearing:r,pitch:o}}queryTerrainElevation(e,i){const n=this.transform.elevation;return n?(i=t.extend({},{exaggerated:!0},i),n.getAtPoint(t.MercatorCoordinate.fromLngLat(e),null,i.exaggerated)):null}_cameraForBounds(e,i,n,r,o,s){if("globe"===e.projection.name)return this._cameraForBoundsOnGlobe(e,i,n,r,o,s);const a=e.clone(),l=this._extendCameraOptions(s),c=a.padding;a.bearing=r,a.pitch=o;const u=t.LngLat.convert(i),h=t.LngLat.convert(n),p=new t.LngLat(u.lng,h.lat),d=new t.LngLat(h.lng,u.lat),f=a.project(u),m=a.project(h),g=this.queryTerrainElevation(u),_=this.queryTerrainElevation(h),y=this.queryTerrainElevation(p),v=this.queryTerrainElevation(d),x=[[f.x,f.y,Math.min(g||0,_||0,y||0,v||0)],[m.x,m.y,Math.max(g||0,_||0,y||0,v||0)]];let b=t.Aabb.fromPoints(x);const w=a.getWorldToCameraMatrix(),A=t.invert(new Float64Array(16),w);b=t.Aabb.applyTransform(b,w);const E=t.sub([],b.max,b.min),C=c.left||0,T=c.right||0,k=c.bottom||0,S=c.top||0,{left:I,right:M,top:P,bottom:L}=l.padding,z=.5*(C+T),D=.5*(S+k),R=Math.min(a.scaleZoom(a.scale*Math.min((a.width-(C+T+I+M))/E[0],(a.height-(k+S+L+P))/E[1])),l.maxZoom),O=a.scale/a.zoomScale(R);b=new t.Aabb([b.min[0]-(I+z)*O,b.min[1]-(L+D)*O,b.min[2]],[b.max[0]+(M+z)*O,b.max[1]+(P+D)*O,b.max[2]]);const B=.5*E[2],N=this._minimumAABBFrustumDistance(a,b),F=[0,0,1,0];t.transformMat4$1(F,F,w),t.normalize$2(F,F);const U=t.scale$2([],F,N+B),j=t.add([],b.center,U),V=("number"==typeof l.offset.x&&"number"==typeof l.offset.y?new t.Point(l.offset.x,l.offset.y):t.Point.convert(l.offset)).rotate(-t.degToRad(r));b.center[0]-=V.x*O,b.center[1]+=V.y*O,t.transformMat4(b.center,b.center,A),t.transformMat4(j,j,A);const G=[b.center[0],b.center[1],j[2]*a.pixelsPerMeter];t.scale$2(G,G,1/a.worldSize);const q=t.lngFromMercatorX(G[0]),Z=t.latFromMercatorY(G[1]),$=Math.min(a._zoomFromMercatorZ(G[2]),l.maxZoom),X=new t.LngLat(q,Z);return a.mercatorFromTransition&&$<.5*(t.GLOBE_ZOOM_THRESHOLD_MIN+t.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"globe"}),a.zoom=$,this._cameraForBounds(a,i,n,r,o,s)):{center:X,zoom:$,bearing:r,pitch:o}}fitBounds(t,e,i){const n=this.cameraForBounds(t,e);return this._fitInternal(n,e,i)}fitScreenCoordinates(e,i,n,r,o){const s=t.Point.convert(e),a=t.Point.convert(i),l=new t.Point(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new t.Point(Math.max(s.x,a.x),Math.max(s.y,a.y));if("mercator"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const u=this.transform.pointLocation3D(l),h=this.transform.pointLocation3D(c),p=this.transform.pointLocation3D(new t.Point(l.x,c.y)),d=this.transform.pointLocation3D(new t.Point(c.x,l.y)),f=[Math.min(u.lng,h.lng,p.lng,d.lng),Math.min(u.lat,h.lat,p.lat,d.lat)],m=[Math.max(u.lng,h.lng,p.lng,d.lng),Math.max(u.lat,h.lat,p.lat,d.lat)],g=r&&r.pitch?r.pitch:this.getPitch(),_=this._cameraForBounds(this.transform,f,m,n,g,r);return this._fitInternal(_,r,o)}_fitInternal(e,i,n){return e?(delete(i=t.extend(e,i)).padding,i.linear?this.easeTo(i,n):this.flyTo(i,n)):this}jumpTo(e,i){this.stop();const n=e.preloadOnly?this.transform.clone():this.transform;let r=!1,o=!1,s=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(r=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(o=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(s=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),e.preloadOnly?(this._preloadTiles(n),this):(this.fire(new t.Event("movestart",i)).fire(new t.Event("move",i)),r&&this.fire(new t.Event("zoomstart",i)).fire(new t.Event("zoom",i)).fire(new t.Event("zoomend",i)),o&&this.fire(new t.Event("rotatestart",i)).fire(new t.Event("rotate",i)).fire(new t.Event("rotateend",i)),s&&this.fire(new t.Event("pitchstart",i)).fire(new t.Event("pitch",i)).fire(new t.Event("pitchend",i)),this.fire(new t.Event("moveend",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||t.warnOnce(Xr),this.transform.getFreeCameraOptions()}setFreeCameraOptions(e,i){const n=this.transform;if(!n.projection.supportsFreeCamera)return t.warnOnce(Xr),this;this.stop();const r=n.zoom,o=n.pitch,s=n.bearing;n.setFreeCameraOptions(e);const a=r!==n.zoom,l=o!==n.pitch,c=s!==n.bearing;return this.fire(new t.Event("movestart",i)).fire(new t.Event("move",i)),a&&this.fire(new t.Event("zoomstart",i)).fire(new t.Event("zoom",i)).fire(new t.Event("zoomend",i)),c&&this.fire(new t.Event("rotatestart",i)).fire(new t.Event("rotate",i)).fire(new t.Event("rotateend",i)),l&&this.fire(new t.Event("pitchstart",i)).fire(new t.Event("pitch",i)).fire(new t.Event("pitchend",i)),this.fire(new t.Event("moveend",i)),this}easeTo(e,i){this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||this._prefersReducedMotion(e))&&(e.duration=0);const n=this.transform,r=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in e?+e.zoom:r,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:n.padding,p=t.Point.convert(e.offset);let d,f,m;if("globe"===n.projection.name){const i=t.MercatorCoordinate.fromLngLat(n.center),r=p.rotate(-n.angle);i.x+=r.x/n.worldSize,i.y+=r.y/n.worldSize;const o=i.toLngLat(),s=t.LngLat.convert(e.center||o);this._normalizeCenter(s),d=n.centerPoint.add(r),f=new t.Point(i.x,i.y).mult(n.worldSize),m=new t.Point(t.mercatorXfromLng(s.lng),t.mercatorYfromLat(s.lat)).mult(n.worldSize).sub(f)}else{d=n.centerPoint.add(p);const i=n.pointLocation(d),r=t.LngLat.convert(e.center||i);this._normalizeCenter(r),f=n.project(i),m=n.project(r).sub(f)}const g=n.zoomScale(l-r);let _,y;e.around&&(_=t.LngLat.convert(e.around),y=n.locationPoint(_));const v=this._zooming||l!==r,x=this._rotating||o!==c,b=this._pitching||u!==s,w=!n.isPaddingEqual(h),A=n=>A=>{if(v&&(n.zoom=t.number(r,l,A)),x&&(n.bearing=t.number(o,c,A)),b&&(n.pitch=t.number(s,u,A)),w&&(n.interpolatePadding(a,h,A),d=n.centerPoint.add(p)),_)n.setLocationAtPoint(_,y);else{const t=n.zoomScale(n.zoom-r),e=l>r?Math.min(2,g):Math.max(.5,g),i=Math.pow(e,1-A),o=n.unproject(f.add(m.mult(A*i)).mult(t));n.setLocationAtPoint(n.renderWorldCopies?o.wrap():o,d)}return e.preloadOnly||this._fireMoveEvents(i),n};if(e.preloadOnly){const t=this._emulate(A,e.duration,n);return this._preloadTiles(t),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=v,this._rotating=x,this._pitching=b,this._padding=w,this._easeId=e.easeId,this._prepareEase(i,e.noMoveStart,E),this._ease(A(n),(t=>{n.recenterOnTerrain(),this._afterEase(i,t)}),e),this}_prepareEase(e,i,n={}){this._moving=!0,this.transform.cameraElevationReference="sea",i||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))}_fireMoveEvents(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference="ground";const n=this._zooming,r=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),r&&this.fire(new t.Event("rotateend",e)),o&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(this._prefersReducedMotion(e)){const n=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const n=this.transform,r=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,n.minZoom,n.maxZoom):r,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:n.padding,p=n.zoomScale(l-r),d=t.Point.convert(e.offset);let f=n.centerPoint.add(d);const m=n.pointLocation(f),g=t.LngLat.convert(e.center||m);this._normalizeCenter(g);const _=n.project(m),y=n.project(g).sub(_);let v=e.curve;const x=Math.max(n.width,n.height),b=x/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,r,l),n.minZoom,n.maxZoom),o=x/n.zoomScale(i-r);v=Math.sqrt(o/w*2)}const A=v*v;function E(t){const e=(b*b-x*x+(t?-1:1)*A*A*w*w)/(2*(t?b:x)*A*w);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function T(t){return(Math.exp(t)+Math.exp(-t))/2}const k=E(0);let S=function(t){return T(k)/T(k+v*t)},I=function(t){return x*((T(k)*(C(e=k+v*t)/T(e))-C(k))/A)/w;var e},M=(E(1)-k)/v;if(Math.abs(w)<1e-6||!isFinite(M)){if(Math.abs(x-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0);const P=o!==c,L=u!==s,z=!n.isPaddingEqual(h),D=n=>p=>{const m=p*M,v=1/S(m);n.zoom=1===p?l:r+n.scaleZoom(v),P&&(n.bearing=t.number(o,c,p)),L&&(n.pitch=t.number(s,u,p)),z&&(n.interpolatePadding(a,h,p),f=n.centerPoint.add(d));const x=1===p?g:n.unproject(_.add(y.mult(I(m))).mult(v));return n.setLocationAtPoint(n.renderWorldCopies?x.wrap():x,f),n._updateCameraOnTerrain(),e.preloadOnly||this._fireMoveEvents(i),n};if(e.preloadOnly){const t=this._emulate(D,e.duration,n);return this._preloadTiles(t),this}return this._zooming=!0,this._rotating=P,this._pitching=L,this._padding=z,this._prepareEase(i,!1),this._ease(D(n),(()=>this._afterEase(i)),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const t=this._onEaseEnd;this._onEaseEnd=void 0,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,n){!1===n.animate||0===n.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const n=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}_prefersReducedMotion(e){return this._respectPrefersReducedMotion&&t.exported.prefersReducedMotion&&!(e&&e.essential)}_emulate(t,e,i){const n=Math.ceil(15*e/1e3),r=[],o=t(i.clone());for(let t=0;t<=n;t++){const e=o(t/n);r.push(e.clone())}return r}}class Hr{constructor(e={}){this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)}getDefaultPosition(){return"bottom-right"}onAdd(t){const e=this.options&&this.options.compact;return this._map=t,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o("button","mapboxgl-ctrl-attrib-button",this._container),o("span","mapboxgl-ctrl-icon",this._compactButton).setAttribute("aria-hidden","true"),this._compactButton.type="button",this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.setAttribute("aria-label",i),t.removeAttribute("title"),t.firstElementChild&&t.firstElementChild.setAttribute("title",i)}_toggleAttribution(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","true"))}_updateEditLink(){let e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));const i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){const n=i.reduce(((t,e,n)=>(e.value&&(t+=`${e.key}=${e.value}${nt.length-e.length)),t=t.filter(((e,i)=>{for(let n=i+1;n=0)return!1;return!0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=[...this.options.customAttribution,...t]:t.unshift(this.options.customAttribution));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")}}class Yr{constructor(){t.bindAll(["_updateLogo","_updateCompact"],this)}onAdd(t){this._map=t,this._container=o("div","mapboxgl-ctrl");const e=o("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)}getDefaultPosition(){return"bottom-left"}_updateLogo(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")}_logoRequired(){if(!this._map.style)return!0;const t=this._map.style._sourceCaches;if(0===Object.entries(t).length)return!0;for(const e in t){const i=t[e].getSource();if(i.hasOwnProperty("mapbox_logo")&&!i.mapbox_logo)return!1}return!0}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}}}class Kr{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}function Jr(e,i,n){if(e=new t.LngLat(e.lng,e.lat),i){const r=new t.LngLat(e.lng-360,e.lat),o=new t.LngLat(e.lng+360,e.lat),s=360*Math.ceil(Math.abs(e.lng-n.center.lng)/360),a=n.locationPoint(e).distSqr(i),l=i.x<0||i.y<0||i.x>n.width||i.y>n.height;n.locationPoint(r).distSqr(i)180;){const t=n.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}const Qr={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};class to extends t.Evented{constructor(e,i){if(super(),(e instanceof t.window.HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress","_clearFadeTimer"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment||"auto",this._updateMoving=()=>this._update(!0),this._occludedOpacity=e&&e.occludedOpacity||.2,e&&e.element)this._element=e.element,this._offset=t.Point.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=o("div");const i=41,n=27,r=s("svg",{display:"block",height:i*this._scale+"px",width:n*this._scale+"px",viewBox:`0 0 ${n} ${i}`},this._element),a=s("radialGradient",{id:"shadowGradient"},s("defs",{},r));s("stop",{offset:"10%","stop-opacity":.4},a),s("stop",{offset:"100%","stop-opacity":.05},a),s("ellipse",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:"url(#shadowGradient)"},r),s("path",{fill:this._color,d:"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z"},r),s("path",{opacity:.25,d:"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z"},r),s("circle",{fill:"white",cx:13.5,cy:13.5,r:5.5},r),this._offset=t.Point.convert(e&&e.offset||[0,-14])}this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label","Map marker"),this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()}));const n=this._element.classList;for(const t in Qr)n.remove(`mapboxgl-marker-anchor-${t}`);n.add(`mapboxgl-marker-anchor-${this._anchor}`),this._popup=null}addTo(t){return t===this._map||(this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._updateMoving),t.on("moveend",this._update),t.on("remove",this._clearFadeTimer),t._addMarker(this),this.setDraggable(this._draggable),this._update(),t.on("click",this._onMapClick)),this}remove(){const t=this._map;return t&&(t.off("click",this._onMapClick),t.off("move",this._updateMoving),t.off("moveend",this._update),t.off("mousedown",this._addDragHandler),t.off("touchstart",this._addDragHandler),t.off("mouseup",this._onUp),t.off("touchend",this._onUp),t.off("mousemove",this._onMove),t.off("touchmove",this._onMove),t.off("remove",this._clearFadeTimer),t._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute("role"),this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,n=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[n,-1*(e-i+n)],"bottom-right":[-n,-1*(e-i+n)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset}this._popup=t,t._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute("role","button"),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress),this._element.setAttribute("aria-expanded","false")}return this}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?(t.remove(),this._element.setAttribute("aria-expanded","false")):this._map&&(t.addTo(this._map),this._element.setAttribute("aria-expanded","true")),this):this}_behindTerrain(){const t=this._map,e=this._pos;if(!t||!e)return!1;const i=t.unproject(e),n=t.getFreeCameraOptions();if(!n.position)return!1;const r=n.position.toLngLat();return r.distanceTo(i)<.9*r.distanceTo(this._lngLat)}_evaluateOpacity(){const e=this._map;if(!e)return;const i=this._pos;if(!i||i.x<0||i.x>e.transform.width||i.y<0||i.y>e.transform.height)return void this._clearFadeTimer();const n=e.unproject(i);let r;e._showingGlobe()&&t.isLngLatBehindGlobe(e.transform,this._lngLat)?r=0:(r=1-e._queryFogOpacity(n),e.transform._terrainEnabled()&&e.getTerrain()&&this._behindTerrain()&&(r*=this._occludedOpacity)),this._element.style.opacity=`${r}`,this._element.style.pointerEvents=r>0?"auto":"none",this._popup&&this._popup._setOpacity(r),this._fadeTimer=null}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null)}_updateDOM(){const t=this._pos;if(!t||!this._map)return;const e=this._offset.mult(this._scale);this._element.style.transform=`\n translate(${t.x}px,${t.y}px)\n ${Qr[this._anchor]}\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\n translate(${e.x}px,${e.y}px)\n `}_calculateXYTransform(){const e=this._pos,i=this._map,n=this.getPitchAlignment();if(!i||!e||"map"!==n)return"";if(!i._showingGlobe()){const t=i.getPitch();return t?`rotateX(${t}deg)`:""}const r=t.radToDeg(t.globeTiltAtLngLat(i.transform,this._lngLat)),o=e.sub(t.globeCenterToScreenPoint(i.transform)),s=Math.abs(o.x)+Math.abs(o.y);if(0===s)return"";const a=r/s;return`rotateX(${-o.y*a}deg) rotateY(${o.x*a}deg)`}_calculateZTransform(){const e=this._pos,i=this._map;if(!i||!e)return"";let n=0;const r=this.getRotationAlignment();if("map"===r)if(i._showingGlobe()){const e=i.project(new t.LngLat(this._lngLat.lng,this._lngLat.lat+.001)),r=i.project(new t.LngLat(this._lngLat.lng,this._lngLat.lat-.001)).sub(e);n=t.radToDeg(Math.atan2(r.y,r.x))-90}else n=-i.getBearing();else if("horizon"===r){const r=t.smoothstep(4,6,i.getZoom()),o=t.globeCenterToScreenPoint(i.transform);o.y+=r*i.transform.height;const s=e.sub(o),a=t.radToDeg(Math.atan2(s.y,s.x));n=(a>90?a-270:a+90)*(1-r)}return n+=this._rotation,n?`rotateZ(${n}deg)`:""}_update(e){t.window.cancelAnimationFrame(this._updateFrameId);const i=this._map;i&&(i.transform.renderWorldCopies&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),this._pos=i.project(this._lngLat),!0===e?this._updateFrameId=t.window.requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())})):this._pos=this._pos.round(),i._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(i._showingGlobe()||i.getTerrain()||i.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)))})))}getOffset(){return this._offset}setOffset(e){return this._offset=t.Point.convert(e),this._update(),this}_onMove(e){const i=this._map;if(!i)return;const n=this._pointerdownPos,r=this._positionDelta;if(n&&r){if(!this._isDragging){const t=this._clickTolerance||i._clickTolerance;if(e.point.dist(n)=this._endTime)return this._end;const i=t.easeCubicInOut((e-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(t){return t>=this._startTime&&t<=this._endTime}jumpTo(t){this._startTime=-1/0,this._endTime=-1/0,this._start=t,this._end=t}easeTo(t,e,i){this._start=this.getValue(e),this._end=t,this._startTime=e,this._endTime=e+i}}const oo={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use ⌘ + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},so={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,optimizeForTerrain:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0},ao={showCompass:!0,showZoom:!0,visualizePitch:!1};class lo{constructor(e,i,n=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new xr({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,n&&(this.mousePitch=new br({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),i.addEventListener("mousedown",this.mousedown),i.addEventListener("touchstart",this.touchstart,{passive:!1}),i.addEventListener("touchmove",this.touchmove),i.addEventListener("touchend",this.touchend),i.addEventListener("touchcancel",this.reset)}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),u()}move(t,e){const i=this.map,n=this.mouseRotate.mousemoveWindow(t,e),r=n&&n.bearingDelta;if(r&&i.setBearing(i.getBearing()+r),this.mousePitch){const n=this.mousePitch.mousemoveWindow(t,e),r=n&&n.pitchDelta;r&&i.setPitch(i.getPitch()+r)}}off(){const t=this.element;t.removeEventListener("mousedown",this.mousedown),t.removeEventListener("touchstart",this.touchstart,{passive:!1}),t.removeEventListener("touchmove",this.touchmove),t.removeEventListener("touchend",this.touchend),t.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){h(),t.window.removeEventListener("mousemove",this.mousemove),t.window.removeEventListener("mouseup",this.mouseup)}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),f(this.element,e)),t.window.addEventListener("mousemove",this.mousemove),t.window.addEventListener("mouseup",this.mouseup)}mousemove(t){this.move(t,f(this.element,t))}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos))}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=m(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos))}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(e.antialias&&t.isSafariWithAntialiasingBug(t.window)&&(e.antialias=!1,t.warnOnce("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new Hn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),e),this._interactive=e.interactive,this._minTileCacheSize=e.minTileCacheSize,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._useWebGL2=e.useWebGL2,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=e.crossSourceCollisions,this._collectResourceTiming=e.collectResourceTiming,this._optimizeForTerrain=e.optimizeForTerrain,this._language=this._parseLanguage(e.language),this._worldview=e.worldview,this._renderTaskQueue=new Kr,this._domRenderTaskQueue=new Kr,this._controls=[],this._markers=[],this._popups=[],this._mapId=t.uniqueId(),this._locale=t.extend({},oo,e.locale),this._clickTolerance=e.clickTolerance,this._cooperativeGestures=e.cooperativeGestures,this._performanceMetricsCollection=e.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new ro(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken,e.testMode),this._silenceAuthErrors=!!e.testMode,"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof t.window.HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(this._container.childNodes.length>0&&t.warnOnce("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1),t.window.addEventListener("webkitfullscreenchange",this._onWindowResize,!1),t.window.addEventListener("visibilitychange",this._onVisibilityChange,!1)),this.handlers=new $r(this,e),this._localFontFamily=e.localFontFamily,this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),e.projection&&this.setProjection(e.projection),this._hash=e.hash&&new Kn("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),e.attributionControl&&this.addControl(new Hr({customAttribution:e.customAttribution})),this._logoControl=new Yr,this.addControl(this._logoControl,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))}))}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=e.onAdd(this);this._controls.push(e);const r=this._controlPositions[i];return-1!==i.indexOf("bottom")?r.insertBefore(n,r.firstChild):r.appendChild(n),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(e){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)),this.fire(new t.Event("resize",e)),i&&this.fire(new t.Event("moveend",e)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()}setMinZoom(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e?this.setZoom(e):this.fire(new t.Event("zoomstart")).fire(new t.Event("zoom")).fire(new t.Event("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=null==e?0:e)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e?this.setPitch(e):this.fire(new t.Event("pitchstart")).fire(new t.Event("pitch")).fire(new t.Event("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(e){return"auto"===e?t.window.navigator.language:Array.isArray(e)?0===e.length?void 0:e.map((e=>"auto"===e?t.window.navigator.language:e)):e}setLanguage(t){const e=this._parseLanguage(t);if(!this.style||e===this._language)return this;this._language=e,this.style._reloadSources();for(const t of this._controls)t._setLanguage&&t._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(t){return this.style&&t!==this._worldview?(this._worldview=t,this.style._reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return"globe"===this.transform.projection.name}setProjection(t){return this._lazyInitEmptyStyle(),t?"string"==typeof t&&(t={name:t}):t=null,this._useExplicitProjection=!!t,this._prioritizeAndUpdateProjection(t,this.style.stylesheet?this.style.stylesheet.projection:null)}_updateProjectionTransition(){if("globe"!==this.getProjection().name)return;const e=this.transform,i=e.projection.name;let n;"globe"===i&&e.zoom>=t.GLOBE_ZOOM_THRESHOLD_MAX?(e.setMercatorFromTransition(),n=!0):"mercator"===i&&e.zoom=t.GLOBE_ZOOM_THRESHOLD_MAX?this.transform.setMercatorFromTransition():this.transform.setProjection(e),this.style.applyProjectionUpdate(),i){this.painter.clearBackgroundTiles();for(const t in this.style._sourceCaches)this.style._sourceCaches[t].clearTiles();this._update(!0),this._forceMarkerAndPopupUpdate(!0)}return this}project(e){return this.transform.locationPoint3D(t.LngLat.convert(e))}unproject(e){return this.transform.pointLocation3D(t.Point.convert(e))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let n=!1;const r=r=>{const o=e.filter((t=>this.getLayer(t))),s=o.length?this.queryRenderedFeatures(r.point,{layers:o}):[];s.length?n||(n=!0,i.call(this,new ar(t,this,r.originalEvent,{features:s}))):n=!1},o=()=>{n=!1};return{layers:new Set(e),listener:i,delegates:{mousemove:r,mouseout:o}}}if("mouseleave"===t||"mouseout"===t){let n=!1;const r=r=>{const o=e.filter((t=>this.getLayer(t)));(o.length?this.queryRenderedFeatures(r.point,{layers:o}):[]).length?n=!0:n&&(n=!1,i.call(this,new ar(t,this,r.originalEvent)))},o=e=>{n&&(n=!1,i.call(this,new ar(t,this,e.originalEvent)))};return{layers:new Set(e),listener:i,delegates:{mousemove:r,mouseout:o}}}{const n=t=>{const n=e.filter((t=>this.getLayer(t))),r=n.length?this.queryRenderedFeatures(t.point,{layers:n}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layers:new Set(e),listener:i,delegates:{[t]:n}}}}on(t,e,i){if(void 0===i)return super.on(t,e);Array.isArray(e)||(e=[e]);const n=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(n);for(const t in n.delegates)this.on(t,n.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);Array.isArray(e)||(e=[e]);const n=this._createDelegatedListener(t,e,i);for(const t in n.delegates)this.once(t,n.delegates[t]);return this}off(t,e,i){if(void 0===i)return super.off(t,e);e=new Set(Array.isArray(e)?e:[e]);const n=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0},r=this._delegatedListeners?this._delegatedListeners[t]:void 0;return r&&(t=>{for(let r=0;r{e?this.fire(new t.ErrorEvent(e)):n&&this._updateDiff(n,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(t.warnOnce("There is no style added to the map."),!1)}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){return!!this.style&&this.style._isSourceCacheLoaded(t)}areTilesLoaded(){const t=this.style&&this.style._sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}addSourceType(t,e,i){this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._updateTerrain(),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:n=1,sdf:r=!1,stretchX:o,stretchY:s,content:a}={}){if(this._lazyInitEmptyStyle(),i instanceof t.window.HTMLImageElement||t.window.ImageBitmap&&i instanceof t.window.ImageBitmap){const{width:l,height:c,data:u}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},u),pixelRatio:n,stretchX:o,stretchY:s,content:a,sdf:r,version:0})}else if(void 0===i.width||void 0===i.height)this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else{const{width:l,height:c}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(u.data)),pixelRatio:n,stretchX:o,stretchY:s,content:a,sdf:r,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}}updateImage(e,i){const n=this.style.getImage(e);if(!n)return void this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const r=i instanceof t.window.HTMLImageElement||t.window.ImageBitmap&&i instanceof t.window.ImageBitmap?t.exported.getImageData(i):i,{width:o,height:s}=r;void 0!==o&&void 0!==s?o===n.data.width&&s===n.data.height?(n.data.replace(r.data,!(i instanceof t.window.HTMLImageElement||t.window.ImageBitmap&&i instanceof t.window.ImageBitmap)),this.style.updateImage(e,n)):this.fire(new t.ErrorEvent(new Error(`The width and height of the updated image (${o}, ${s})\n must be that same as the previous version of the image\n (${n.data.width}, ${n.data.height})`))):this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")))}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),((e,n)=>{i(e,n instanceof t.window.HTMLImageElement?t.exported.getImageData(n):n)}))}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,n={}){return this.style.setPaintProperty(t,e,i,n),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,n={}){return this.style.setLayoutProperty(t,e,i,n),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setTerrain(t){return this._lazyInitEmptyStyle(),!t&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(t),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(t){return this._lazyInitEmptyStyle(),this.style.setFog(t),this._update(!0)}getFog(){return this.style?this.style.getFog():null}_queryFogOpacity(e){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(t.LngLat.convert(e),this.transform):0}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}_updateContainerDimensions(){if(!this._container)return;const e=this._container.getBoundingClientRect().width||400,i=this._container.getBoundingClientRect().height||300;let n,r,o,s=this._container;for(;s&&(!r||!o);){const e=t.window.getComputedStyle(s).transform;e&&"none"!==e&&(n=e.match(/matrix.*\((.+)\)/)[1].split(", "),n[0]&&"0"!==n[0]&&"1"!==n[0]&&(r=n[0]),n[3]&&"0"!==n[3]&&"1"!==n[3]&&(o=n[3])),s=s.parentElement}this._containerWidth=r?Math.abs(e/r):e,this._containerHeight=o?Math.abs(i/o):i}_detectMissingCSS(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=o("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();const e=this._canvasContainer=o("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=o("canvas","mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=o("div","mapboxgl-control-container",t),n=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{n[t]=o("div",`mapboxgl-ctrl-${t}`,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,i){const n=t.exported.devicePixelRatio||1;this._canvas.width=n*Math.ceil(e),this._canvas.height=n*Math.ceil(i),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${i}px`}_addMarker(t){this._markers.push(t)}_removeMarker(t){const e=this._markers.indexOf(t);-1!==e&&this._markers.splice(e,1)}_addPopup(t){this._popups.push(t)}_removePopup(t){const e=this._popups.indexOf(t);-1!==e&&this._popups.splice(e,1)}_setupPainter(){const e=t.extend({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._useWebGL2&&this._canvas.getContext("webgl2",e),r=n||this._canvas.getContext("webgl",e)||this._canvas.getContext("experimental-webgl",e);r?(this._useWebGL2&&!n&&t.warnOnce("Failed to create WebGL 2 context. Using WebGL 1."),t.storeAuthState(r,!0),this.painter=new On(r,this.transform,!!n),this.on("data",(t=>{"source"===t.dataType&&this.painter.setTileLoadedFlag(!0)})),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_requestDomTask(t){!this.loaded()||this.loaded()&&!this.isMoving()?t():this._domRenderTaskQueue.add(t)}_render(e){let i;const n=this.painter.context.extTimerQuery,r=t.exported.now();if(this.listens("gpu-timing-frame")&&(i=n.createQueryEXT(),n.beginQueryEXT(n.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],t.window.performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],t.window.performance.now())),this._renderTaskQueue.run(e),this._domRenderTaskQueue.run(e),this._removed)return;this._updateProjectionTransition();const o=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=this.transform.pitch,n=t.exported.now(),r=new t.EvaluationParameters(e,{now:n,fadeDuration:o,pitch:i,transition:this.style.getTransition()});this.style.update(r)}this.style&&this.style.fog&&this.style.fog.hasTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let s=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),s=this._updateAverageElevation(r),this.style._updateSources(this.transform),this._forceMarkerAndPopupUpdate()):s=this._updateAverageElevation(r),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,o,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showTerrainWireframe:this.showTerrainWireframe,showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:o,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const e=t.exported.now()-r;n.endQueryEXT(n.TIME_ELAPSED_EXT,i),setTimeout((()=>{const o=n.getQueryObjectEXT(i,n.QUERY_RESULT_EXT)/1e6;n.deleteQueryEXT(i),this.fire(new t.Event("gpu-timing-frame",{cpuTime:e,gpuTime:o})),t.window.performance.mark("frame-gpu",{startTime:r,detail:{gpuTime:o}})}),50)}if(this.listens("gpu-timing-layer")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event("gpu-timing-layer",{layerTimes:i}))}),50)}if(this.listens("gpu-timing-deferred-render")){const e=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(e);this.fire(new t.Event("gpu-timing-deferred-render",{gpuTime:i}))}),50)}const a=this._sourcesDirty||this._styleDirty||this._placementDirty||s;if(a||this._repaint)this.triggerRepaint();else{const e=!this.isMoving()&&this.loaded();if(e&&(s=this._updateAverageElevation(r,!0)),s)this.triggerRepaint();else if(this._triggerFrame(!1),e&&(this.fire(new t.Event("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const e=this._calculateSpeedIndex();this.fire(new t.Event("speedindexcompleted",{speedIndex:e})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,t.LivePerformanceUtils.mark(t.PerformanceMarkers.fullLoad),this._performanceMetricsCollection&&t.postPerformanceEvent(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(t){for(const e of this._markers)t&&!this.getRenderWorldCopies()&&(e._lngLat=e._lngLat.wrap()),e._update();for(const e of this._popups)!t||this.getRenderWorldCopies()||e._trackPointer||(e._lngLat=e._lngLat.wrap()),e._update()}_updateAverageElevation(t,e=!1){const i=t=>(this.transform.averageElevation=t,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);if((e||t-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(t)){const e=this.transform.averageElevation;let n=this.transform.sampleAverageElevation(),r=!1;this.transform.elevation&&(r=this.transform.elevation.exaggeration()!==this._averageElevationExaggeration,this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(n)?n=0:this._averageElevationLastSampledAt=t;const o=Math.abs(e-n);if(o>1){if(this._isInitialLoad||r)return this._averageElevation.jumpTo(n),i(n);this._averageElevation.easeTo(n,t,300)}else if(o>1e-4)return this._averageElevation.jumpTo(n),i(n)}return!!this._averageElevation.isEasing(t)&&i(this._averageElevation.getValue(t))}_authenticate(){t.getMapSessionAPI(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(e=>{if(e&&(e.message===t.AUTH_ERR_MSG||401===e.status)){const e=this.painter.context.gl;t.storeAuthState(e,!1),this._logoControl instanceof Yr&&this._logoControl._updateLogo(),e&&e.clear(e.DEPTH_BUFFER_BIT|e.COLOR_BUFFER_BIT|e.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new t.ErrorEvent(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}})),t.postMapLoadEvent(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}))}_updateTerrain(){const t=this._isDragging();this.painter.updateTerrain(this.style,t)}_calculateSpeedIndex(){const t=this.painter.canvasCopy(),e=this.painter.getCanvasCopiesAndTimestamps();e.timeStamps.push(performance.now());const i=this.painter.context.gl,n=i.createFramebuffer();function r(t){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,t,0);const e=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,e),e}return i.bindFramebuffer(i.FRAMEBUFFER,n),this._canvasPixelComparison(r(t),e.canvasCopies.map(r),e.timeStamps)}_canvasPixelComparison(t,e,i){let n=i[1]-i[0];const r=t.length/4;for(let o=0;o{const e=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,e&&this._render(t)})))}_preloadTiles(e){const i=this.style?Object.values(this.style._sourceCaches):[];return t.asyncAll(i,((t,i)=>t._preloadTiles(e,i)),(()=>{this.triggerRepaint()})),this}_onWindowOnline(){this._update()}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update()}_onVisibilityChange(){"hidden"===t.window.document.visibilityState&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(t){this._showTerrainWireframe!==t&&(this._showTerrainWireframe=t,this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(t){this._speedIndexTiming!==t&&(this._speedIndexTiming=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(t){this._showTileAABBs!==t&&(this._showTileAABBs=t,t&&this._update())}_setCacheLimits(e,i){t.setCacheLimits(e,i)}get version(){return t.version}},NavigationControl:class{constructor(e){this.options=t.extend({},ao,e),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(t=>{this._map&&this._map.zoomIn({},{originalEvent:t})})),o("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(t=>{this._map&&this._map.zoomOut({},{originalEvent:t})})),o("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(t=>{const e=this._map;e&&(this.options.visualizePitch?e.resetNorthPitch({},{originalEvent:t}):e.resetNorth({},{originalEvent:t}))})),this._compassIcon=o("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const t=this._map;if(!t)return;const e=t.getZoom(),i=e===t.getMaxZoom(),n=e===t.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute("aria-disabled",i.toString()),this._zoomOutButton.setAttribute("aria-disabled",n.toString())}_rotateCompassArrow(){const t=this._map;if(!t)return;const e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(t.transform.pitch*(Math.PI/180)),.5)}) rotateX(${t.transform.pitch}deg) rotateZ(${t.transform.angle*(180/Math.PI)}deg)`:`rotate(${t.transform.angle*(180/Math.PI)}deg)`;t._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=e)}))}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),t.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&t.on("pitch",this._rotateCompassArrow),t.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new lo(t,this._compass,this.options.visualizePitch)),this._container}onRemove(){const t=this._map;t&&(this._container.remove(),this.options.showZoom&&t.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&t.off("pitch",this._rotateCompassArrow),t.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(t,e){const i=o("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}_setButtonTitle(t,e){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${e}`);t.setAttribute("aria-label",i),t.firstElementChild&&t.firstElementChild.setAttribute("title",i)}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({geolocation:t.window.navigator.geolocation},co,e),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Yn(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(t){return this._map=t,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(e){const i=(t=!!this.options.geolocation)=>{this._supportsGeolocation=t,e(t)};void 0!==this._supportsGeolocation?e(this._supportsGeolocation):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((t=>i("denied"!==t.state))).catch((()=>i())):i()}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return!!e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,r=this._map.getBearing(),o=t.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(n),o,{geolocateSource:!0})}_updateMarker(e){if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const e=this._map.transform,i=t.mercatorZfromAltitude(1,e._center.lat)*e.worldSize,n=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&"number"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._dotElement.classList.add("mapboxgl-user-location-show-heading")):(this._dotElement.classList.remove("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&this._noTimeout)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(e){if(void 0!==this._map){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=o("button","mapboxgl-ctrl-geolocate",this._container),o("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o("div","mapboxgl-user-location"),this._dotElement.appendChild(o("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(o("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new to({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=o("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new to({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}}_onDeviceOrientation(t){this._userLocationDotMarker&&(t.webkitCompassHeading?this._heading=t.webkitCompassHeading:!0===t.absolute&&(this._heading=-1*t.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(t={maximumAge:6e5,timeout:0},this._noTimeout=!0):(t=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,t),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_addDeviceOrientationListener(){const e=()=>{t.window.addEventListener("ondeviceorientationabsolute"in t.window?"deviceorientationabsolute":"deviceorientation",this._onDeviceOrientation)};void 0!==t.window.DeviceMotionEvent&&"function"==typeof t.window.DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((t=>{"granted"===t&&e()})).catch(console.error):e()}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),t.window.removeEventListener("deviceorientation",this._onDeviceOrientation),t.window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Hr,ScaleControl:class{constructor(e){this.options=t.extend({},uo,e),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat("en",{style:"unit",unitDisplay:"short",unit:"meter"}),!0}catch(t){return!1}}(),t.bindAll(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const t=this.options.maxWidth||100,e=this._map,i=e._containerHeight/2,n=e._containerWidth/2-t/2,r=e.unproject([n,i]),o=e.unproject([n+t,i]),s=r.distanceTo(o);if("imperial"===this.options.unit){const e=3.2808*s;e>5280?this._setScale(t,e/5280,"mile"):this._setScale(t,e,"foot")}else"nautical"===this.options.unit?this._setScale(t,s/1852,"nautical-mile"):s>=1e3?this._setScale(t,s/1e3,"kilometer"):this._setScale(t,s,"meter")}_setScale(t,e,i){this._map._requestDomTask((()=>{const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(e),r=n/e;this._container.innerHTML=this._isNumberFormatSupported&&"nautical-mile"!==i?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:i}).format(n):`${n} ${ho[i]}`,this._container.style.width=t*r+"px"}))}onAdd(t){return this._map=t,this._language=t.getLanguage(),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(t){this._language=t,this._update()}setUnit(t){this.options.unit=t,this._update()}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in t.window.document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!t.window.document.fullscreenEnabled&&!t.window.document.webkitFullscreenEnabled)}_setupUI(){const e=this._fullscreenButton=o("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",t)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(t.window.document.fullscreenElement||t.window.document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(eo),e),t.bindAll(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(e&&e.className?e.className.trim().split(/\s+/):[])}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&e.on("preclick",this._onClose),this.options.closeOnMove&&e.on("move",this._onClose),e.on("remove",this.remove),this._update(),e._addPopup(this),this._focusFirstElement(),this._trackPointer?(e.on("mousemove",this._onMouseEvent),e.on("mouseup",this._onMouseEvent),e._canvasContainer.classList.add("mapboxgl-track-pointer")):e.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const e=this._map;return e&&(e.off("move",this._update),e.off("move",this._onClose),e.off("preclick",this._onClose),e.off("click",this._onClose),e.off("remove",this.remove),e.off("mousemove",this._onMouseEvent),e.off("mouseup",this._onMouseEvent),e.off("drag",this._onMouseEvent),e._canvasContainer&&e._canvasContainer.classList.remove("mapboxgl-track-pointer"),e._removePopup(this),this._map=void 0),this.fire(new t.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(e){this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on("move",this._update),i.off("mousemove",this._onMouseEvent),i._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const t=this._map;return t&&(t.off("move",this._update),t.on("mousemove",this._onMouseEvent),t.on("drag",this._onMouseEvent),t._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(t.window.document.createTextNode(e))}setHTML(e){const i=t.window.document.createDocumentFragment(),n=t.window.document.createElement("body");let r;for(n.innerHTML=e;r=n.firstChild,r;)i.appendChild(r);return this.setDOMContent(i)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){let e=this._content;if(e)for(;e.hasChildNodes();)e.firstChild&&e.removeChild(e.firstChild);else e=this._content=o("div","mapboxgl-popup-content",this._container||void 0);if(e.appendChild(t),this.options.closeButton){const t=this._closeButton=o("button","mapboxgl-popup-close-button",e);t.type="button",t.setAttribute("aria-label","Close popup"),t.setAttribute("aria-hidden","true"),t.innerHTML="×",t.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(t){return this._classList.add(t),this._updateClassList(),this}removeClassName(t){return this._classList.delete(t),this._updateClassList(),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){let e;return this._classList.delete(t)?e=!1:(this._classList.add(t),e=!0),this._updateClassList(),e}_onMouseEvent(t){this._update(t.point)}_getAnchor(t){if(this.options.anchor)return this.options.anchor;const e=this._map,i=this._container,n=this._pos;if(!e||!i||!n)return"bottom";const r=i.offsetWidth,o=i.offsetHeight,s=n.xe.transform.width-r/2;if(n.y+te.transform.height-o){if(s)return"bottom-left";if(a)return"bottom-right"}return s?"left":a?"right":"bottom"}_updateClassList(){const t=this._container;if(!t)return;const e=[...this._classList];e.push("mapboxgl-popup"),this._anchor&&e.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&e.push("mapboxgl-popup-track-pointer"),t.className=e.join(" ")}_update(e){const i=this._map,n=this._content;if(!i||!this._lngLat&&!this._trackPointer||!n)return;let r=this._container;if(r||(r=this._container=o("div","mapboxgl-popup",i.getContainer()),this._tip=o("div","mapboxgl-popup-tip",r),r.appendChild(n)),this.options.maxWidth&&r.style.maxWidth!==this.options.maxWidth&&(r.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),!this._trackPointer||e){const t=this._pos=this._trackPointer&&e?e:i.project(this._lngLat),n=no(this.options.offset),r=this._anchor=this._getAnchor(n.y),o=no(this.options.offset,r),s=t.add(o).round();i._requestDomTask((()=>{this._container&&r&&(this._container.style.transform=`${Qr[r]} translate(${s.x}px,${s.y}px)`)}))}if(!this._marker&&i._showingGlobe()){const e=t.isLngLatBehindGlobe(i.transform,this._lngLat)?0:1;this._setOpacity(e)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(io);t&&t.focus()}_onClose(){this.remove()}_setOpacity(t){this._container&&(this._container.style.opacity=`${t}`),this._content&&(this._content.style.pointerEvents=t?"auto":"none")}},Marker:to,Style:Ke,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,FreeCameraOptions:jn,Evented:t.Evented,config:t.config,prewarm:function(){Ft().acquire(Ot)},clearPrewarmedResources:function(){const t=Nt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Ot),Nt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Bt.workerCount},set workerCount(t){Bt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage(e){t.clearTileCache(e)},workerUrl:"",workerClass:null,setNow:t.exported.setNow,restoreNow:t.exported.restoreNow};return po})),i}()},8859:(t,e,i)=>{var n="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=n&&r&&"function"==typeof r.get?r.get:null,s=n&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=a&&l&&"function"==typeof l.get?l.get:null,u=a&&Set.prototype.forEach,h="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,m=Object.prototype.toString,g=Function.prototype.toString,_=String.prototype.match,y=String.prototype.slice,v=String.prototype.replace,x=String.prototype.toUpperCase,b=String.prototype.toLowerCase,w=RegExp.prototype.test,A=Array.prototype.concat,E=Array.prototype.join,C=Array.prototype.slice,T=Math.floor,k="function"==typeof BigInt?BigInt.prototype.valueOf:null,S=Object.getOwnPropertySymbols,I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,M="function"==typeof Symbol&&"object"==typeof Symbol.iterator,P="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||"symbol")?Symbol.toStringTag:null,L=Object.prototype.propertyIsEnumerable,z=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function D(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||w.call(/e/,e))return e;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var n=t<0?-T(-t):T(t);if(n!==t){var r=String(n),o=y.call(e,r.length+1);return v.call(r,i,"$&_")+"."+v.call(v.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(e,i,"$&_")}var R=i(2634),O=R.custom,B=V(O)?O:null;function N(t,e,i){var n="double"===(i.quoteStyle||e)?'"':"'";return n+t+n}function F(t){return v.call(String(t),/"/g,""")}function U(t){return!("[object Array]"!==Z(t)||P&&"object"==typeof t&&P in t)}function j(t){return!("[object RegExp]"!==Z(t)||P&&"object"==typeof t&&P in t)}function V(t){if(M)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!I)return!1;try{return I.call(t),!0}catch(t){}return!1}t.exports=function t(e,n,r,a){var l=n||{};if(q(l,"quoteStyle")&&"single"!==l.quoteStyle&&"double"!==l.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(q(l,"maxStringLength")&&("number"==typeof l.maxStringLength?l.maxStringLength<0&&l.maxStringLength!==1/0:null!==l.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var m=!q(l,"customInspect")||l.customInspect;if("boolean"!=typeof m&&"symbol"!==m)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(q(l,"indent")&&null!==l.indent&&"\t"!==l.indent&&!(parseInt(l.indent,10)===l.indent&&l.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(q(l,"numericSeparator")&&"boolean"!=typeof l.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var x=l.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return X(e,l);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var w=String(e);return x?D(e,w):w}if("bigint"==typeof e){var T=String(e)+"n";return x?D(e,T):T}var S=void 0===l.depth?5:l.depth;if(void 0===r&&(r=0),r>=S&&S>0&&"object"==typeof e)return U(e)?"[Array]":"[Object]";var O=function(t,e){var i;if("\t"===t.indent)i="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;i=E.call(Array(t.indent+1)," ")}return{base:i,prev:E.call(Array(e+1),i)}}(l,r);if(void 0===a)a=[];else if($(a,e)>=0)return"[Circular]";function G(e,i,n){if(i&&(a=C.call(a)).push(i),n){var o={depth:l.depth};return q(l,"quoteStyle")&&(o.quoteStyle=l.quoteStyle),t(e,o,r+1,a)}return t(e,l,r+1,a)}if("function"==typeof e&&!j(e)){var W=function(t){if(t.name)return t.name;var e=_.call(g.call(t),/^function\s*([\w$]+)/);if(e)return e[1];return null}(e),tt=Q(e,G);return"[Function"+(W?": "+W:" (anonymous)")+"]"+(tt.length>0?" { "+E.call(tt,", ")+" }":"")}if(V(e)){var et=M?v.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):I.call(e);return"object"!=typeof e||M?et:H(et)}if(function(t){if(!t||"object"!=typeof t)return!1;if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)return!0;return"string"==typeof t.nodeName&&"function"==typeof t.getAttribute}(e)){for(var it="<"+b.call(String(e.nodeName)),nt=e.attributes||[],rt=0;rt"}if(U(e)){if(0===e.length)return"[]";var ot=Q(e,G);return O&&!function(t){for(var e=0;e=0)return!1;return!0}(ot)?"["+J(ot,O)+"]":"[ "+E.call(ot,", ")+" ]"}if(function(t){return!("[object Error]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e)){var st=Q(e,G);return"cause"in Error.prototype||!("cause"in e)||L.call(e,"cause")?0===st.length?"["+String(e)+"]":"{ ["+String(e)+"] "+E.call(st,", ")+" }":"{ ["+String(e)+"] "+E.call(A.call("[cause]: "+G(e.cause),st),", ")+" }"}if("object"==typeof e&&m){if(B&&"function"==typeof e[B]&&R)return R(e,{depth:S-r});if("symbol"!==m&&"function"==typeof e.inspect)return e.inspect()}if(function(t){if(!o||!t||"object"!=typeof t)return!1;try{o.call(t);try{c.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(e)){var at=[];return s&&s.call(e,(function(t,i){at.push(G(i,e,!0)+" => "+G(t,e))})),K("Map",o.call(e),at,O)}if(function(t){if(!c||!t||"object"!=typeof t)return!1;try{c.call(t);try{o.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(e)){var lt=[];return u&&u.call(e,(function(t){lt.push(G(t,e))})),K("Set",c.call(e),lt,O)}if(function(t){if(!h||!t||"object"!=typeof t)return!1;try{h.call(t,h);try{p.call(t,p)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(e))return Y("WeakMap");if(function(t){if(!p||!t||"object"!=typeof t)return!1;try{p.call(t,p);try{h.call(t,h)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(e))return Y("WeakSet");if(function(t){if(!d||!t||"object"!=typeof t)return!1;try{return d.call(t),!0}catch(t){}return!1}(e))return Y("WeakRef");if(function(t){return!("[object Number]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e))return H(G(Number(e)));if(function(t){if(!t||"object"!=typeof t||!k)return!1;try{return k.call(t),!0}catch(t){}return!1}(e))return H(G(k.call(e)));if(function(t){return!("[object Boolean]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e))return H(f.call(e));if(function(t){return!("[object String]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e))return H(G(String(e)));if("undefined"!=typeof window&&e===window)return"{ [object Window] }";if(e===i.g)return"{ [object globalThis] }";if(!function(t){return!("[object Date]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e)&&!j(e)){var ct=Q(e,G),ut=z?z(e)===Object.prototype:e instanceof Object||e.constructor===Object,ht=e instanceof Object?"":"null prototype",pt=!ut&&P&&Object(e)===e&&P in e?y.call(Z(e),8,-1):ht?"Object":"",dt=(ut||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(pt||ht?"["+E.call(A.call([],pt||[],ht||[]),": ")+"] ":"");return 0===ct.length?dt+"{}":O?dt+"{"+J(ct,O)+"}":dt+"{ "+E.call(ct,", ")+" }"}return String(e)};var G=Object.prototype.hasOwnProperty||function(t){return t in this};function q(t,e){return G.call(t,e)}function Z(t){return m.call(t)}function $(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;ie.maxStringLength){var i=t.length-e.maxStringLength,n="... "+i+" more character"+(i>1?"s":"");return X(y.call(t,0,e.maxStringLength),e)+n}return N(v.call(v.call(t,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,W),"single",e)}function W(t){var e=t.charCodeAt(0),i={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return i?"\\"+i:"\\x"+(e<16?"0":"")+x.call(e.toString(16))}function H(t){return"Object("+t+")"}function Y(t){return t+" { ? }"}function K(t,e,i,n){return t+" ("+e+") {"+(n?J(i,n):E.call(i,", "))+"}"}function J(t,e){if(0===t.length)return"";var i="\n"+e.prev+e.base;return i+E.call(t,","+i)+"\n"+e.prev}function Q(t,e){var i=U(t),n=[];if(i){n.length=t.length;for(var r=0;r{"use strict";var e=function(t){return t!=t};t.exports=function(t,i){return 0===t&&0===i?1/t==1/i:t===i||!(!e(t)||!e(i))}},7653:(t,e,i)=>{"use strict";var n=i(8452),r=i(487),o=i(9211),s=i(9394),a=i(6576),l=r(s(),Object);n(l,{getPolyfill:s,implementation:o,shim:a}),t.exports=l},9394:(t,e,i)=>{"use strict";var n=i(9211);t.exports=function(){return"function"==typeof Object.is?Object.is:n}},6576:(t,e,i)=>{"use strict";var n=i(9394),r=i(8452);t.exports=function(){var t=n();return r(Object,{is:t},{is:function(){return Object.is!==t}}),t}},8875:(t,e,i)=>{"use strict";var n;if(!Object.keys){var r=Object.prototype.hasOwnProperty,o=Object.prototype.toString,s=i(1093),a=Object.prototype.propertyIsEnumerable,l=!a.call({toString:null},"toString"),c=a.call((function(){}),"prototype"),u=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(t){var e=t.constructor;return e&&e.prototype===t},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!p["$"+t]&&r.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{h(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();n=function(t){var e=null!==t&&"object"==typeof t,i="[object Function]"===o.call(t),n=s(t),a=e&&"[object String]"===o.call(t),p=[];if(!e&&!i&&!n)throw new TypeError("Object.keys called on a non-object");var f=c&&i;if(a&&t.length>0&&!r.call(t,0))for(var m=0;m0)for(var g=0;g{"use strict";var n=Array.prototype.slice,r=i(1093),o=Object.keys,s=o?function(t){return o(t)}:i(8875),a=Object.keys;s.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return r(t)?a(n.call(t)):a(t)})}else Object.keys=s;return Object.keys||s},t.exports=s},1093:t=>{"use strict";var e=Object.prototype.toString;t.exports=function(t){var i=e.call(t),n="[object Arguments]"===i;return n||(n="[object Array]"!==i&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),n}},8403:(t,e,i)=>{"use strict";var n=i(1189),r=i(1333)(),o=i(8075),s=Object,a=o("Array.prototype.push"),l=o("Object.prototype.propertyIsEnumerable"),c=r?Object.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var i=s(t);if(1===arguments.length)return i;for(var o=1;o{"use strict";var n=i(8452),r=i(487),o=i(8403),s=i(1514),a=i(984),l=r.apply(s()),c=function(t,e){return l(Object,arguments)};n(c,{getPolyfill:s,implementation:o,shim:a}),t.exports=c},1514:(t,e,i)=>{"use strict";var n=i(8403);t.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),i={},n=0;n{"use strict";var n=i(8452),r=i(1514);t.exports=function(){var t=r();return n(Object,{assign:t},{assign:function(){return Object.assign!==t}}),t}},6578:t=>{"use strict";t.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},5606:t=>{var e,i,n=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(i){try{return e.call(null,t,0)}catch(i){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:r}catch(t){e=r}try{i="function"==typeof clearTimeout?clearTimeout:o}catch(t){i=o}}();var a,l=[],c=!1,u=-1;function h(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&p())}function p(){if(!c){var t=s(h);c=!0;for(var e=l.length;e;){for(a=l,l=[];++u1)for(var i=1;i{"use strict";var n=i(3206),r=i(9675),o=Object;t.exports=n((function(){if(null==this||this!==o(this))throw new r("RegExp.prototype.flags getter called on non-object");var t="";return this.hasIndices&&(t+="d"),this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.dotAll&&(t+="s"),this.unicode&&(t+="u"),this.unicodeSets&&(t+="v"),this.sticky&&(t+="y"),t}),"get flags",!0)},1589:(t,e,i)=>{"use strict";var n=i(8452),r=i(487),o=i(7675),s=i(5330),a=i(3984),l=r(s());n(l,{getPolyfill:s,implementation:o,shim:a}),t.exports=l},5330:(t,e,i)=>{"use strict";var n=i(7675),r=i(8452).supportsDescriptors,o=Object.getOwnPropertyDescriptor;t.exports=function(){if(r&&"gim"===/a/gim.flags){var t=o(RegExp.prototype,"flags");if(t&&"function"==typeof t.get&&"boolean"==typeof RegExp.prototype.dotAll&&"boolean"==typeof RegExp.prototype.hasIndices){var e="",i={};if(Object.defineProperty(i,"hasIndices",{get:function(){e+="d"}}),Object.defineProperty(i,"sticky",{get:function(){e+="y"}}),"dy"===e)return t.get}}return n}},3984:(t,e,i)=>{"use strict";var n=i(8452).supportsDescriptors,r=i(5330),o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,a=TypeError,l=Object.getPrototypeOf,c=/a/;t.exports=function(){if(!n||!l)throw new a("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=r(),e=l(c),i=o(e,"flags");return i&&i.get===t||s(e,"flags",{configurable:!0,enumerable:!1,get:t}),t}},6897:(t,e,i)=>{"use strict";var n=i(453),r=i(41),o=i(592)(),s=i(5795),a=i(9675),l=n("%Math.floor%");t.exports=function(t,e){if("function"!=typeof t)throw new a("`fn` is not a function");if("number"!=typeof e||e<0||e>4294967295||l(e)!==e)throw new a("`length` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],n=!0,c=!0;if("length"in t&&s){var u=s(t,"length");u&&!u.configurable&&(n=!1),u&&!u.writable&&(c=!1)}return(n||c||!i)&&(o?r(t,"length",e,!0,!0):r(t,"length",e)),t}},3206:(t,e,i)=>{"use strict";var n=i(41),r=i(592)(),o=i(4462).functionsHaveConfigurableNames(),s=i(9675);t.exports=function(t,e){if("function"!=typeof t)throw new s("`fn` is not a function");return arguments.length>2&&!!arguments[2]&&!o||(r?n(t,"name",e,!0,!0):n(t,"name",e)),t}},920:(t,e,i)=>{"use strict";var n=i(453),r=i(8075),o=i(8859),s=i(9675),a=n("%WeakMap%",!0),l=n("%Map%",!0),c=r("WeakMap.prototype.get",!0),u=r("WeakMap.prototype.set",!0),h=r("WeakMap.prototype.has",!0),p=r("Map.prototype.get",!0),d=r("Map.prototype.set",!0),f=r("Map.prototype.has",!0),m=function(t,e){for(var i,n=t;null!==(i=n.next);n=i)if(i.key===e)return n.next=i.next,i.next=t.next,t.next=i,i};t.exports=function(){var t,e,i,n={assert:function(t){if(!n.has(t))throw new s("Side channel does not contain "+o(t))},get:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(t)return c(t,n)}else if(l){if(e)return p(e,n)}else if(i)return function(t,e){var i=m(t,e);return i&&i.value}(i,n)},has:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(t)return h(t,n)}else if(l){if(e)return f(e,n)}else if(i)return function(t,e){return!!m(t,e)}(i,n);return!1},set:function(n,r){a&&n&&("object"==typeof n||"function"==typeof n)?(t||(t=new a),u(t,n,r)):l?(e||(e=new l),d(e,n,r)):(i||(i={key:{},next:null}),function(t,e,i){var n=m(t,e);n?n.value=i:t.next={key:e,next:t.next,value:i}}(i,n,r))}};return n}},1820:(t,e,i)=>{"use strict";var n=i(63),r=SyntaxError,o="object"==typeof StopIteration?StopIteration:null;t.exports=function(t){if(!o)throw new r("this environment lacks StopIteration");n.set(t,"[[Done]]",!1);var e={next:function(){var t=n.get(this,"[[Iterator]]"),e=n.get(t,"[[Done]]");try{return{done:e,value:e?void 0:t.next()}}catch(e){if(n.set(t,"[[Done]]",!0),e!==o)throw e;return{done:!0,value:void 0}}}};return n.set(e,"[[Iterator]]",t),e}},5072:(t,e,i)=>{"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},o=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),s=[];function a(t){for(var e=-1,i=0;i{"use strict";var n=i(4761),r=i(1703),o=i(5128),s=i(3612),a=i(9803);t.exports=function(t){return null==t||"object"!=typeof t&&"function"!=typeof t?null:n(t)?"String":r(t)?"Number":o(t)?"Boolean":s(t)?"Symbol":a(t)?"BigInt":void 0}},593:(t,e,i)=>{"use strict";var n=i(3802),r=i(256),o=i(7842),s=i(2648);t.exports=function(t){if(t&&"object"==typeof t){if(n(t))return"Map";if(r(t))return"Set";if(o(t))return"WeakMap";if(s(t))return"WeakSet"}return!1}},5767:(t,e,i)=>{"use strict";var n=i(2682),r=i(9209),o=i(487),s=i(8075),a=i(5795),l=s("Object.prototype.toString"),c=i(9092)(),u="undefined"==typeof globalThis?i.g:globalThis,h=r(),p=s("String.prototype.slice"),d=Object.getPrototypeOf,f=s("Array.prototype.indexOf",!0)||function(t,e){for(var i=0;i-1?e:"Object"===e&&function(t){var e=!1;return n(m,(function(i,n){if(!e)try{i(t),e=p(n,1)}catch(t){}})),e}(t)}return a?function(t){var e=!1;return n(m,(function(i,n){if(!e)try{"$"+i(t)===n&&(e=p(n,1))}catch(t){}})),e}(t):null}},2634:()=>{},9209:(t,e,i)=>{"use strict";var n=i(6578),r="undefined"==typeof globalThis?i.g:globalThis;t.exports=function(){for(var t=[],e=0;e{"use strict";var n=i(5606),r=i(7244),o=i(1820);if(i(4039)()||i(1333)()){var s=Symbol.iterator;t.exports=function(t){return null!=t&&void 0!==t[s]?t[s]():r(t)?Array.prototype[s].call(t):void 0}}else{var a=i(7738),l=i(4761),c=i(453),u=c("%Map%",!0),h=c("%Set%",!0),p=i(8075),d=p("Array.prototype.push"),f=p("String.prototype.charCodeAt"),m=p("String.prototype.slice"),g=function(t){var e=0;return{next:function(){var i,n=e>=t.length;return n||(i=t[e],e+=1),{done:n,value:i}}}},_=function(t,e){if(a(t)||r(t))return g(t);if(l(t)){var i=0;return{next:function(){var e=function(t,e){if(e+1>=t.length)return e+1;var i=f(t,e);if(i<55296||i>56319)return e+1;var n=f(t,e+1);return n<56320||n>57343?e+1:e+2}(t,i),n=m(t,i,e);return i=e,{done:e>t.length,value:n}}}}return e&&void 0!==t["_es6-shim iterator_"]?t["_es6-shim iterator_"]():void 0};if(u||h){var y=i(3802),v=i(256),x=p("Map.prototype.forEach",!0),b=p("Set.prototype.forEach",!0);if(void 0===n||!n.versions||!n.versions.node)var w=p("Map.prototype.iterator",!0),A=p("Set.prototype.iterator",!0);var E=p("Map.prototype.@@iterator",!0)||p("Map.prototype._es6-shim iterator_",!0),C=p("Set.prototype.@@iterator",!0)||p("Set.prototype._es6-shim iterator_",!0);t.exports=function(t){return function(t){if(y(t)){if(w)return o(w(t));if(E)return E(t);if(x){var e=[];return x(t,(function(t,i){d(e,[i,t])})),g(e)}}if(v(t)){if(A)return o(A(t));if(C)return C(t);if(b){var i=[];return b(t,(function(t){d(i,t)})),g(i)}}}(t)||_(t)}}else t.exports=function(t){if(null!=t)return _(t,!0)}}}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={id:n,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.nc=void 0,(()=>{"use strict";var t=i(5072),e=i.n(t),n=i(9887),r={insert:"head",singleton:!1};e()(n.A,r);n.A.locals;var o=i(4982),s=Object.defineProperty,a=(t,e)=>s(t,"name",{value:e,configurable:!0}),l=class{constructor(t){var e,i,n;this.direction=!1,this.compareProperties=!0,this.precision=10**-(null!=(e=null==t?void 0:t.precision)?e:17),this.direction=null!=(i=null==t?void 0:t.direction)&&i,this.compareProperties=null==(n=null==t?void 0:t.compareProperties)||n}compare(t,e){if(t.type!==e.type)return!1;if(!c(t,e))return!1;switch(t.type){case"Point":return this.compareCoord(t.coordinates,e.coordinates);case"LineString":return this.compareLine(t.coordinates,e.coordinates);case"Polygon":return this.comparePolygon(t,e);case"GeometryCollection":return this.compareGeometryCollection(t,e);case"Feature":return this.compareFeature(t,e);case"FeatureCollection":return this.compareFeatureCollection(t,e);default:if(t.type.startsWith("Multi")){const i=u(t),n=u(e);return i.every((t=>n.some((e=>this.compare(t,e)))))}}return!1}compareCoord(t,e){return t.length===e.length&&t.every(((t,i)=>Math.abs(t-e[i])=0&&(i=[].concat(t.slice(n,t.length),t.slice(1,n+1))),i}comparePath(t,e){return t.every(((t,i)=>this.compareCoord(t,e[i])))}comparePolygon(t,e){if(this.compareLine(t.coordinates[0],e.coordinates[0],1,!0)){const i=t.coordinates.slice(1,t.coordinates.length),n=e.coordinates.slice(1,e.coordinates.length);return i.every((t=>n.some((e=>this.compareLine(t,e,1,!0)))))}return!1}compareGeometryCollection(t,e){return c(t.geometries,e.geometries)&&this.compareBBox(t,e)&&t.geometries.every(((t,i)=>this.compare(t,e.geometries[i])))}compareFeature(t,e){return t.id===e.id&&(!this.compareProperties||o(t.properties,e.properties))&&this.compareBBox(t,e)&&this.compare(t.geometry,e.geometry)}compareFeatureCollection(t,e){return c(t.features,e.features)&&this.compareBBox(t,e)&&t.features.every(((t,i)=>this.compare(t,e.features[i])))}compareBBox(t,e){return Boolean(!t.bbox&&!e.bbox)||!(!t.bbox||!e.bbox)&&this.compareCoord(t.bbox,e.bbox)}};a(l,"GeojsonEquality");function c(t,e){return t.coordinates?t.coordinates.length===e.coordinates.length:t.length===e.length}function u(t){return t.coordinates.map((e=>({type:t.type.replace("Multi",""),coordinates:e})))}a(c,"sameLength"),a(u,"explode");var h=6371008.8,p={centimeters:100*h,centimetres:100*h,degrees:360/(2*Math.PI),feet:3.28084*h,inches:39.37*h,kilometers:h/1e3,kilometres:h/1e3,meters:h,metres:h,miles:h/1609.344,millimeters:1e3*h,millimetres:1e3*h,nauticalmiles:h/1852,radians:1,yards:1.0936*h},d={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:2.9155334959812285e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046};function f(t,e,i={}){const n={type:"Feature"};return(0===i.id||i.id)&&(n.id=i.id),i.bbox&&(n.bbox=i.bbox),n.properties=e||{},n.geometry=t,n}function m(t,e,i={}){if(!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!T(t[0])||!T(t[1]))throw new Error("coordinates must contain numbers");return f({type:"Point",coordinates:t},e,i)}function g(t,e,i={}){for(const e of t){if(e.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(e[e.length-1].length!==e[0].length)throw new Error("First and last Position are not equivalent.");for(let t=0;tm(t,e))),i)}),"points"),a(g,"polygon"),a((function(t,e,i={}){return y(t.map((t=>g(t,e))),i)}),"polygons"),a(_,"lineString"),a((function(t,e,i={}){return y(t.map((t=>_(t,e))),i)}),"lineStrings"),a(y,"featureCollection"),a(v,"multiLineString"),a(x,"multiPoint"),a(b,"multiPolygon"),a((function(t,e,i={}){return f({type:"GeometryCollection",geometries:t},e,i)}),"geometryCollection"),a((function(t,e=0){if(e&&!(e>=0))throw new Error("precision must be a positive number");const i=Math.pow(10,e||0);return Math.round(t*i)/i}),"round"),a(w,"radiansToLength"),a(A,"lengthToRadians"),a((function(t,e){return E(A(t,e))}),"lengthToDegrees"),a((function(t){let e=t%360;return e<0&&(e+=360),e}),"bearingToAzimuth"),a(E,"radiansToDegrees"),a(C,"degreesToRadians"),a((function(t,e="kilometers",i="kilometers"){if(!(t>=0))throw new Error("length must be a positive number");return w(A(t,e),i)}),"convertLength"),a((function(t,e="meters",i="kilometers"){if(!(t>=0))throw new Error("area must be a positive number");const n=d[e];if(!n)throw new Error("invalid original units");const r=d[i];if(!r)throw new Error("invalid final units");return t/n*r}),"convertArea"),a(T,"isNumber"),a(k,"isObject"),a((function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((t=>{if(!T(t))throw new Error("bbox must only contain numbers")}))}),"validateBBox"),a((function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}),"validateId");var S=Object.defineProperty,I=(t,e)=>S(t,"name",{value:e,configurable:!0});function M(t,e,i){if(null!==t)for(var n,r,o,s,a,l,c,u,h=0,p=0,d=t.type,f="FeatureCollection"===d,m="Feature"===d,g=f?t.features.length:1,_=0;_a||p>l||d>c)return s=o,a=i,l=p,c=d,void(r=0);var f=_([s,o],t.properties);if(!1===e(f,i,n,d,r))return!1;r++,s=o}))&&void 0}}}))}function O(t,e){if(!t)throw new Error("geojson is required");D(t,(function(t,i,n){if(null!==t.geometry){var r=t.geometry.type,o=t.geometry.coordinates;switch(r){case"LineString":if(!1===e(t,i,n,0,0))return!1;break;case"Polygon":for(var s=0;s{i[0]>t[0]&&(i[0]=t[0]),i[1]>t[1]&&(i[1]=t[1]),i[2]{N(t,"name",{value:e,configurable:!0})})(F,"center");var U=i(3114);function j(){return new V}function V(){this.reset()}V.prototype={constructor:V,reset:function(){this.s=this.t=0},add:function(t){q(G,t,this.t),q(this,G.s,this.s),this.s?this.t+=G.t:this.s=G.t},valueOf:function(){return this.s}};var G=new V;function q(t,e,i){var n=t.s=e+i,r=n-e,o=n-r;t.t=e-o+(i-r)}var Z=1e-6,$=Math.PI,X=$/2,W=$/4,H=2*$,Y=180/$,K=$/180,J=Math.abs,Q=Math.atan,tt=Math.atan2,et=Math.cos,it=(Math.ceil,Math.exp),nt=(Math.floor,Math.log),rt=(Math.pow,Math.sin),ot=(Math.sign,Math.sqrt),st=Math.tan;function at(t){return t>1?0:t<-1?$:Math.acos(t)}function lt(t){return t>1?X:t<-1?-X:Math.asin(t)}function ct(){}function ut(t,e){t&&pt.hasOwnProperty(t.type)&&pt[t.type](t,e)}var ht={Feature:function(t,e){ut(t.geometry,e)},FeatureCollection:function(t,e){for(var i=t.features,n=-1,r=i.length;++n$?t-H:t<-$?t+H:t,e]}function Ct(t,e,i){return(t%=H)?e||i?At(kt(t),St(e,i)):kt(t):e||i?St(e,i):Et}function Tt(t){return function(e,i){return[(e+=t)>$?e-H:e<-$?e+H:e,i]}}function kt(t){var e=Tt(t);return e.invert=Tt(-t),e}function St(t,e){var i=et(t),n=rt(t),r=et(e),o=rt(e);function s(t,e){var s=et(e),a=et(t)*s,l=rt(t)*s,c=rt(e),u=c*i+a*n;return[tt(l*r-u*o,a*i-c*n),lt(u*r+l*o)]}return s.invert=function(t,e){var s=et(e),a=et(t)*s,l=rt(t)*s,c=rt(e),u=c*r-l*o;return[tt(l*r+c*o,a*i+u*n),lt(u*i-a*n)]},s}function It(t,e,i,n,r,o){if(i){var s=et(e),a=rt(e),l=n*i;null==r?(r=e+n*H,o=e-l/2):(r=Mt(s,r),o=Mt(s,o),(n>0?ro)&&(r+=n*H));for(var c,u=r;n>0?u>o:u1&&e.push(e.pop().concat(e.shift()))},result:function(){var i=e;return e=[],t=null,i}}}function Lt(t,e){return J(t[0]-e[0])=0;--o)r.point((u=c[o])[0],u[1]);else n(p.x,p.p.x,-1,r);p=p.p}c=(p=p.o).z,d=!d}while(!p.v);r.lineEnd()}}}function Rt(t){if(e=t.length){for(var e,i,n=0,r=t[0];++ne?1:t>=e?0:NaN}Et.invert=Et;var Bt,Nt;1===(Bt=Ot).length&&(Nt=Bt,Bt=function(t,e){return Ot(Nt(t),e)});var Ft=Array.prototype;Ft.slice,Ft.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);function Ut(t){for(var e,i,n,r=t.length,o=-1,s=0;++o=0;)for(e=(n=t[r]).length;--e>=0;)i[--s]=n[e];return i}var jt=1e9,Vt=-jt;function Gt(t,e,i,n){function r(r,o){return t<=r&&r<=i&&e<=o&&o<=n}function o(r,o,a,c){var u=0,h=0;if(null==r||(u=s(r,a))!==(h=s(o,a))||l(r,o)<0^a>0)do{c.point(0===u||3===u?t:i,u>1?n:e)}while((u=(u+a+4)%4)!==h);else c.point(o[0],o[1])}function s(n,r){return J(n[0]-t)0?0:3:J(n[0]-i)0?2:1:J(n[1]-e)0?1:0:r>0?3:2}function a(t,e){return l(t.x,e.x)}function l(t,e){var i=s(t,1),n=s(e,1);return i!==n?i-n:0===i?e[1]-t[1]:1===i?t[0]-e[0]:2===i?t[1]-e[1]:e[0]-t[0]}return function(s){var l,c,u,h,p,d,f,m,g,_,y,v=s,x=Pt(),b={point:w,lineStart:function(){b.point=A,c&&c.push(u=[]);_=!0,g=!1,f=m=NaN},lineEnd:function(){l&&(A(h,p),d&&g&&x.rejoin(),l.push(x.result()));b.point=w,g&&v.lineEnd()},polygonStart:function(){v=x,l=[],c=[],y=!0},polygonEnd:function(){var e=function(){for(var e=0,i=0,r=c.length;in&&(p-o)*(n-s)>(d-s)*(t-o)&&++e:d<=n&&(p-o)*(n-s)<(d-s)*(t-o)&&--e;return e}(),i=y&&e,r=(l=Ut(l)).length;(i||r)&&(s.polygonStart(),i&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),r&&Dt(l,a,e,o,s),s.polygonEnd());v=s,l=c=u=null}};function w(t,e){r(t,e)&&v.point(t,e)}function A(o,s){var a=r(o,s);if(c&&u.push([o,s]),_)h=o,p=s,d=a,_=!1,a&&(v.lineStart(),v.point(o,s));else if(a&&g)v.point(o,s);else{var l=[f=Math.max(Vt,Math.min(jt,f)),m=Math.max(Vt,Math.min(jt,m))],x=[o=Math.max(Vt,Math.min(jt,o)),s=Math.max(Vt,Math.min(jt,s))];!function(t,e,i,n,r,o){var s,a=t[0],l=t[1],c=0,u=1,h=e[0]-a,p=e[1]-l;if(s=i-a,h||!(s>0)){if(s/=h,h<0){if(s0){if(s>u)return;s>c&&(c=s)}if(s=r-a,h||!(s<0)){if(s/=h,h<0){if(s>u)return;s>c&&(c=s)}else if(h>0){if(s0)){if(s/=p,p<0){if(s0){if(s>u)return;s>c&&(c=s)}if(s=o-l,p||!(s<0)){if(s/=p,p<0){if(s>u)return;s>c&&(c=s)}else if(p>0){if(s0&&(t[0]=a+c*h,t[1]=l+c*p),u<1&&(e[0]=a+u*h,e[1]=l+u*p),!0}}}}}(l,x,t,e,i,n)?a&&(v.lineStart(),v.point(o,s),y=!1):(g||(v.lineStart(),v.point(l[0],l[1])),v.point(x[0],x[1]),a||v.lineEnd(),y=!1)}f=o,m=s,g=a}return b}}var qt=j();function Zt(t,e){var i=e[0],n=e[1],r=[rt(i),-et(i),0],o=0,s=0;qt.reset();for(var a=0,l=t.length;a=0?1:-1,E=A*w,C=E>$,T=f*x;if(qt.add(tt(T*A*rt(E),m*b+T*et(E))),o+=C?w+A*H:w,C^p>=i^y>=i){var k=vt(_t(h),_t(_));wt(k);var S=vt(r,k);wt(S);var I=(C^w>=0?-1:1)*lt(S[2]);(n>I||n===I&&(k[0]||k[1]))&&(s+=C^w>=0?1:-1)}}return(o<-Z||oWt&&(Wt=t);eHt&&(Ht=e)},lineStart:ct,lineEnd:ct,polygonStart:ct,polygonEnd:ct,result:function(){var t=[[$t,Xt],[Wt,Ht]];return Wt=Ht=-(Xt=$t=1/0),t}};const Kt=Yt;j();function Jt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Qt(t,e,i,n){return function(r,o){var s,a,l,c=e(o),u=r.invert(n[0],n[1]),h=Pt(),p=e(h),d=!1,f={point:m,lineStart:_,lineEnd:y,polygonStart:function(){f.point=v,f.lineStart=x,f.lineEnd=b,a=[],s=[]},polygonEnd:function(){f.point=m,f.lineStart=_,f.lineEnd=y,a=Ut(a);var t=Zt(s,u);a.length?(d||(o.polygonStart(),d=!0),Dt(a,ee,t,i,o)):t&&(d||(o.polygonStart(),d=!0),o.lineStart(),i(null,null,1,o),o.lineEnd()),d&&(o.polygonEnd(),d=!1),a=s=null},sphere:function(){o.polygonStart(),o.lineStart(),i(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function m(e,i){var n=r(e,i);t(e=n[0],i=n[1])&&o.point(e,i)}function g(t,e){var i=r(t,e);c.point(i[0],i[1])}function _(){f.point=g,c.lineStart()}function y(){f.point=m,c.lineEnd()}function v(t,e){l.push([t,e]);var i=r(t,e);p.point(i[0],i[1])}function x(){p.lineStart(),l=[]}function b(){v(l[0][0],l[0][1]),p.lineEnd();var t,e,i,n,r=p.clean(),c=h.result(),u=c.length;if(l.pop(),s.push(l),l=null,u)if(1&r){if((e=(i=c[0]).length-1)>0){for(d||(o.polygonStart(),d=!0),o.lineStart(),t=0;t1&&2&r&&c.push(c.pop().concat(c.shift())),a.push(c.filter(te))}return f}}function te(t){return t.length>1}function ee(t,e){return((t=t.x)[0]<0?t[1]-X-Z:X-t[1])-((e=e.x)[0]<0?e[1]-X-Z:X-e[1])}Jt(4.5);const ie=Qt((function(){return!0}),(function(t){var e,i=NaN,n=NaN,r=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,s){var a=o>0?$:-$,l=J(o-i);J(l-$)0?X:-X),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),t.point(o,n),e=0):r!==a&&l>=$&&(J(i-r)Z?Q((rt(e)*(o=et(n))*rt(i)-rt(n)*(r=et(e))*rt(t))/(r*o*s)):(e+n)/2}(i,n,o,s),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),e=0),t.point(i=o,n=s),r=a},lineEnd:function(){t.lineEnd(),i=n=NaN},clean:function(){return 2-e}}}),(function(t,e,i,n){var r;if(null==t)r=i*X,n.point(-$,r),n.point(0,r),n.point($,r),n.point($,0),n.point($,-r),n.point(0,-r),n.point(-$,-r),n.point(-$,0),n.point(-$,r);else if(J(t[0]-e[0])>Z){var o=t[0]4*e&&m--){var x=s+p,b=a+d,w=l+f,A=ot(x*x+b*b+w*w),E=lt(w/=A),C=J(J(w)-1)e||J((_*I+y*M)/v-.5)>.3||s*p+a*d+l*f0,r=J(i)>Z;function o(t,e){return et(t)*et(e)>i}function s(t,e,n){var r=[1,0,0],o=vt(_t(t),_t(e)),s=yt(o,o),a=o[0],l=s-a*a;if(!l)return!n&&t;var c=i*s/l,u=-i*a/l,h=vt(r,o),p=bt(r,c);xt(p,bt(o,u));var d=h,f=yt(p,d),m=yt(d,d),g=f*f-m*(yt(p,p)-1);if(!(g<0)){var _=ot(g),y=bt(d,(-f-_)/m);if(xt(y,p),y=gt(y),!n)return y;var v,x=t[0],b=e[0],w=t[1],A=e[1];b0^y[1]<(J(y[0]-x)$^(x<=y[0]&&y[0]<=b)){var T=bt(d,(-f+_)/m);return xt(T,p),[y,gt(T)]}}}function a(e,i){var r=n?t:$-t,o=0;return e<-r?o|=1:e>r&&(o|=2),i<-r?o|=4:i>r&&(o|=8),o}return Qt(o,(function(t){var e,i,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,p){var d,f=[h,p],m=o(h,p),g=n?m?0:a(h,p):m?a(h+(h<0?$:-$),p):0;if(!e&&(c=l=m)&&t.lineStart(),m!==l&&(!(d=s(e,f))||Lt(e,d)||Lt(f,d))&&(f[0]+=Z,f[1]+=Z,m=o(f[0],f[1])),m!==l)u=0,m?(t.lineStart(),d=s(f,e),t.point(d[0],d[1])):(d=s(e,f),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(r&&e&&n^m){var _;g&i||!(_=s(f,e,!0))||(u=0,n?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!m||e&&Lt(e,f)||t.point(f[0],f[1]),e=f,l=m,i=g},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}}),(function(i,n,r,o){It(o,t,e,r,i,n)}),n?[0,-t]:[-$,t-$])}(v=t*K,6*K):(v=null,ie),I()):v*Y},C.clipExtent=function(t){return arguments.length?(w=null==t?(b=s=a=l=null,ne):Gt(b=+t[0][0],s=+t[0][1],a=+t[1][0],l=+t[1][1]),I()):null==b?null:[[b,s],[a,l]]},C.scale=function(t){return arguments.length?(h=+t,S()):h},C.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],S()):[p,d]},C.center=function(t){return arguments.length?(f=t[0]%360*K,m=t[1]%360*K,S()):[f*Y,m*Y]},C.rotate=function(t){return arguments.length?(g=t[0]%360*K,_=t[1]%360*K,y=t.length>2?t[2]%360*K:0,S()):[g*Y,_*Y,y*Y]},C.precision=function(t){return arguments.length?(E=ce(k,A=t*t),I()):ot(A)},C.fitExtent=function(t,e){return se(C,t,e)},C.fitSize=function(t,e){return function(t,e,i){return se(t,[[0,0],e],i)}(C,t,e)},function(){return e=t.apply(this,arguments),C.invert=e.invert&&T,S()}}((function(){return t}))()}function pe(t){return function(e,i){var n=et(e),r=et(i),o=t(n*r);return[o*r*rt(e),o*rt(i)]}}function de(t){return function(e,i){var n=ot(e*e+i*i),r=t(n),o=rt(r),s=et(r);return[tt(e*o,n*s),lt(n&&i*o/n)]}}var fe=pe((function(t){return ot(2/(1+t))}));fe.invert=de((function(t){return 2*lt(t/2)}));var me=pe((function(t){return(t=at(t))&&t/rt(t)}));function ge(t,e){return[t,nt(st((X+e)/2))]}function _e(t,e){return[t,e]}function ye(t,e){var i=et(e),n=et(t)*i;return[i*rt(t)/n,rt(e)/n]}function ve(t,e){var i=e*e,n=i*i;return[t*(.8707-.131979*i+n*(n*(.003971*i-.001529*n)-.013791)),e*(1.007226+i*(.015085+n*(.028874*i-.044475-.005916*n)))]}function xe(t,e){return[et(e)*rt(t),rt(e)]}function be(t,e){var i=et(e),n=1+et(t)*i;return[i*rt(t)/n,rt(e)/n]}function we(t,e){return[nt(st((X+e)/2)),-t]}me.invert=de((function(t){return t})),ge.invert=function(t,e){return[t,2*Q(it(e))-X]},_e.invert=_e,ye.invert=de(Q),ve.invert=function(t,e){var i,n=e,r=25;do{var o=n*n,s=o*o;n-=i=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while(J(i)>Z&&--r>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]},xe.invert=de(lt),be.invert=de((function(t){return 2*Q(t)})),we.invert=function(t,e){return[-e,2*Q(it(t))-X]};var Ae=Object.defineProperty,Ee=(t,e)=>Ae(t,"name",{value:e,configurable:!0}),{BufferOp:Ce,GeoJSONReader:Te,GeoJSONWriter:ke}=U;function Se(t,e,i){var n=(i=i||{}).units||"kilometers",r=i.steps||8;if(!t)throw new Error("geojson is required");if("object"!=typeof i)throw new Error("options must be an object");if("number"!=typeof r)throw new Error("steps must be an number");if(void 0===e)throw new Error("radius is required");if(r<=0)throw new Error("steps must be greater than 0");var o=[];switch(t.type){case"GeometryCollection":return z(t,(function(t){var i=Ie(t,e,n,r);i&&o.push(i)})),y(o);case"FeatureCollection":return L(t,(function(t){var i=Ie(t,e,n,r);i&&L(i,(function(t){t&&o.push(t)}))})),y(o)}return Ie(t,e,n,r)}function Ie(t,e,i,n){var r=t.properties||{},o="Feature"===t.type?t.geometry:t;if("GeometryCollection"===o.type){var s=[];return z(t,(function(t){var r=Ie(t,e,i,n);r&&s.push(r)})),y(s)}var a=ze(o),l={type:o.type,coordinates:Pe(o.coordinates,a)},c=(new Te).read(l),u=w(A(e,i),"meters"),h=Ce.bufferOp(c,u,n);if(!Me((h=(new ke).write(h)).coordinates))return f({type:h.type,coordinates:Le(h.coordinates,a)},r)}function Me(t){return Array.isArray(t[0])?Me(t[0]):isNaN(t[0])}function Pe(t,e){return"object"!=typeof t[0]?e(t):t.map((function(t){return Pe(t,e)}))}function Le(t,e){return"object"!=typeof t[0]?e.invert(t):t.map((function(t){return Le(t,e)}))}function ze(t){var e=F(t).geometry.coordinates,i=[-e[0],-e[1]];return he(me).scale(79.4188).clipAngle(179.999).rotate(i).scale(h)}Ee(Se,"buffer"),Ee(Ie,"bufferFeature"),Ee(Me,"coordsIsNaN"),Ee(Pe,"projectCoords"),Ee(Le,"unprojectCoords"),Ee(ze,"defineProjection");var De=Object.defineProperty,Re=(t,e)=>De(t,"name",{value:e,configurable:!0});function Oe(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return[...t.geometry.coordinates];if("Point"===t.type)return[...t.coordinates]}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return[...t];throw new Error("coord must be GeoJSON Point or an Array of numbers")}Re(Oe,"getCoord"),Re((function(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}),"getCoords"),Re((function t(e){if(e.length>1&&T(e[0])&&T(e[1]))return!0;if(Array.isArray(e[0])&&e[0].length)return t(e[0]);throw new Error("coordinates must only contain numbers")}),"containsNumber"),Re((function(t,e,i){if(!e||!i)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+i+": must be a "+e+", given "+t.type)}),"geojsonType"),Re((function(t,e,i){if(!t)throw new Error("No feature passed");if(!i)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+i+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+i+": must be a "+e+", given "+t.geometry.type)}),"featureOf"),Re((function(t,e,i){if(!t)throw new Error("No featureCollection passed");if(!i)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+i+", FeatureCollection required");for(const n of t.features){if(!n||"Feature"!==n.type||!n.geometry)throw new Error("Invalid input to "+i+", Feature with geometry required");if(!n.geometry||n.geometry.type!==e)throw new Error("Invalid input to "+i+": must be a "+e+", given "+n.geometry.type)}}),"collectionOf"),Re((function(t){return"Feature"===t.type?t.geometry:t}),"getGeom"),Re((function(t,e){return"FeatureCollection"===t.type?"FeatureCollection":"GeometryCollection"===t.type?"GeometryCollection":"Feature"===t.type&&null!==t.geometry?t.geometry.type:t.type}),"getType");var Be=Object.defineProperty;function Ne(t,e,i,n={}){const r=Oe(t),o=C(r[0]),s=C(r[1]),a=C(i),l=A(e,n.units),c=Math.asin(Math.sin(s)*Math.cos(l)+Math.cos(s)*Math.sin(l)*Math.cos(a));return m([E(o+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(s),Math.cos(l)-Math.sin(s)*Math.sin(c))),E(c)],n.properties)}((t,e)=>{Be(t,"name",{value:e,configurable:!0})})(Ne,"destination");var Fe=Object.defineProperty;function Ue(t,e,i={}){const n=i.steps||64,r=i.properties?i.properties:!Array.isArray(t)&&"Feature"===t.type&&t.properties?t.properties:{},o=[];for(let r=0;r{Fe(t,"name",{value:e,configurable:!0})})(Ue,"circle");var je=i(7121),Ve={insert:"head",singleton:!1};e()(je.A,Ve);je.A.locals;var Ge=i(842),qe=i.n(Ge);function Ze(t){return Ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ze(t)}function $e(){$e=function(){return e};var t,e={},i=Object.prototype,n=i.hasOwnProperty,r=Object.defineProperty||function(t,e,i){t[e]=i.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,i){return t[e]=i}}function u(t,e,i,n){var o=e&&e.prototype instanceof _?e:_,s=Object.create(o.prototype),a=new M(n||[]);return r(s,"_invoke",{value:T(t,i,a)}),s}function h(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var p="suspendedStart",d="suspendedYield",f="executing",m="completed",g={};function _(){}function y(){}function v(){}var x={};c(x,s,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(P([])));w&&w!==i&&n.call(w,s)&&(x=w);var A=v.prototype=_.prototype=Object.create(x);function E(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function C(t,e){function i(r,o,s,a){var l=h(t[r],t,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==Ze(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(u).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function T(e,i,n){var r=p;return function(o,s){if(r===f)throw Error("Generator is already running");if(r===m){if("throw"===o)throw s;return{value:t,done:!0}}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var l=k(a,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===p)throw r=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=h(e,i,n);if("normal"===c.type){if(r=n.done?m:d,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=m,n.method="throw",n.arg=c.arg)}}}function k(e,i){var n=i.method,r=e.iterator[n];if(r===t)return i.delegate=null,"throw"===n&&e.iterator.return&&(i.method="return",i.arg=t,k(e,i),"throw"===i.method)||"return"!==n&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var o=h(r,e.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,g;var s=o.arg;return s?s.done?(i[e.resultName]=s.value,i.next=e.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,g):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,g)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[s];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function i(){for(;++r=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var l=n.call(s,"catchLoc"),c=n.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var r=n.arg;I(i)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:P(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function Xe(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=function(t,e){if(!t)return;if("string"==typeof t)return We(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return We(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,r=function(){};return{s:r,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}function We(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]&&arguments[1],i=function(){var i=t[n].toLowerCase().replace(/ /g,"-").replace(/[^\w-]+/g,"");ii.push(i),Promise.all([vi(t[n],i)]).then((function(t){var n;t[0]&&(n=i,ai.addLayer({id:"locationFill_"+n,type:"fill",source:"location_"+n,layout:{},paint:{"fill-color":"#0080ff","fill-opacity":.1}}),ai.addLayer({id:"locationOutline_"+n,type:"line",source:"location_"+n,layout:{},paint:{"line-color":"#000","line-width":2}}),e&&(ai.fitBounds(t[0],{padding:50,duration:200}),Ei()))}))},n=0;n1)||t.geojson.type.includes("Polygon")&&"tourism"!=t.class}));if(0===n.length&&(n=i.filter((function(t){return!(i.length>1)||t.geojson.type.includes("Polygon")}))),n.length){var r,o=(i=n).find((function(t){return"boundary"==t.class}));return r=bi(i=xi(o||i[0])),i,ai.addSource("location_"+e,{type:"geojson",data:i.geometry}),"USA"==t||"United States"==t?[[-124.736342,49.382808],[-66.945392,24.521208]]:"Canada"==t?[[-127.04488959947128,46.84335005883247],[-93.56611457505713,67.56632192699053]]:"Australia"==t?[[113.1833866242153,-43.18948268415735],[155.58306008612902,-8.396740704298026]]:"New Zealand"==t?[[167.56687045493499,-47.123778189733535],[176.25112313112277,-40.23886012876884]]:r}return!1}))}function xi(t){var e={type:"Feature",properties:{},geometry:Ye({},t.geojson),lat:t.lat,lng:t.lon};return"LineString"===t.geojson.type?e=Se(e,1):"Point"===t.geojson.type&&(e=Ue(e,1)),e}function bi(t){var e=B(t);return[[e[0],e[1]],[e[2],e[3]]]}function wi(){var t,e=[],i=Xe(new URLSearchParams(window.location.search).entries());try{for(i.s();!(t=i.n()).done;){var n=t.value;e.push({name:n[0],value:n[1]})}}catch(t){i.e(t)}finally{i.f()}return e}function Ai(t){if(t.includes("[]")){var e=[];return pi.forEach((function(i,n){i.name==t&&e.push(i.value)})),e}var i="";return pi.forEach((function(e,n){e.name==t&&(i=e.value)})),i}function Ei(){document.querySelectorAll(".ajax--loading").forEach((function(t){t.classList.add("hidden")}))}window.addEventListener("load",(function(t){var e,i;qe().accessToken=ti.dataset.mapbox,(ai=new(qe().Map)({container:Qe,style:"mapbox://styles/mapbox/light-v10",center:[null!==(e=ti.dataset.longitude)&&void 0!==e?e:32.53248643419619,null!==(i=ti.dataset.latitude)&&void 0!==i?i:13.839994950862705],zoom:ni,minZoom:ri,maxZoom:oi,scrollZoom:!0}).addControl(new(qe().NavigationControl),"top-right")).on("load",(function(){di(pi)})).on("click","clusters",(function(t){var e=ai.queryRenderedFeatures(t.point,{layers:["clusters"]}),i=e[0].properties.cluster_id;ai.getSource("markers").getClusterExpansionZoom(i,(function(t,i){t||ai.easeTo({center:e[0].geometry.coordinates,zoom:i})}))})).on("click","markers",(function(t){var e=t.features[0],i=function(t){var e=JSON.parse(t.image),i=(JSON.parse(t.country),JSON.parse(t.casework)),n='
';e.length&&(n+='
\n ').concat(t.title,'\n
'));return n+='
\n

'.concat(t.title,'

\n

STAGE: ').concat(t.stage,'

\n

Focus Area: ').concat(i[0].title,'

\n \n
\n
')}(e.properties);(new si.Popup).setLngLat(e.geometry.coordinates.slice()).setHTML(i).setMaxWidth("420px").addTo(ai)})).on("mouseenter","markers",(function(t){ai.getCanvas().style.cursor="pointer"})).on("mouseenter","clusters",(function(t){ai.getCanvas().style.cursor="pointer"})).on("mouseleave","markers",(function(){ai.getCanvas().style.cursor=""})).on("mouseleave","clusters",(function(){ai.getCanvas().style.cursor=""}))})),window.submitFormViaAjax=function(){var t=new FormData(ei);pi=[],t.forEach((function(t,e){pi.push({name:e,value:t})})),di(pi)},window.getQueryParams=wi,window.getFromParams=Ai})()})(); +(()=>{var t={3114:function(t){t.exports=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}var _=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getEndCapStyle",value:function(){return this._endCapStyle}},{key:"isSingleSided",value:function(){return this._isSingleSided}},{key:"setQuadrantSegments",value:function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=e.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=e.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==e.JOIN_ROUND&&(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS)}},{key:"getJoinStyle",value:function(){return this._joinStyle}},{key:"setJoinStyle",value:function(t){this._joinStyle=t}},{key:"setSimplifyFactor",value:function(t){this._simplifyFactor=t<0?0:t}},{key:"getSimplifyFactor",value:function(){return this._simplifyFactor}},{key:"getQuadrantSegments",value:function(){return this._quadrantSegments}},{key:"setEndCapStyle",value:function(t){this._endCapStyle=t}},{key:"getMitreLimit",value:function(){return this._mitreLimit}},{key:"setMitreLimit",value:function(t){this._mitreLimit=t}},{key:"setSingleSided",value:function(t){this._isSingleSided=t}}],[{key:"constructor_",value:function(){if(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=e.CAP_ROUND,this._joinStyle=e.JOIN_ROUND,this._mitreLimit=e.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=e.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setQuadrantSegments(t)}else if(2===arguments.length){var i=arguments[0],n=arguments[1];this.setQuadrantSegments(i),this.setEndCapStyle(n)}else if(4===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this.setQuadrantSegments(r),this.setEndCapStyle(o),this.setJoinStyle(s),this.setMitreLimit(a)}}},{key:"bufferDistanceError",value:function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)}}]),e}();_.CAP_ROUND=1,_.CAP_FLAT=2,_.CAP_SQUARE=3,_.JOIN_ROUND=1,_.JOIN_MITRE=2,_.JOIN_BEVEL=3,_.DEFAULT_QUADRANT_SEGMENTS=8,_.DEFAULT_MITRE_LIMIT=5,_.DEFAULT_SIMPLIFY_FACTOR=.01;var y=function(e){n(o,e);var r=h(o);function o(e){var i;return t(this,o),(i=r.call(this,e)).name=Object.keys({Exception:o})[0],i}return i(o,[{key:"toString",value:function(){return this.message}}]),o}(l(Error)),v=function(e){n(r,e);var i=h(r);function r(e){var n;return t(this,r),(n=i.call(this,e)).name=Object.keys({IllegalArgumentException:r})[0],n}return r}(y),x=function(){function e(){t(this,e)}return i(e,[{key:"filter",value:function(t){}}]),e}();function b(){}function w(){}function A(){}var E,C,T,k,S,I,M,P,L=function(){function e(){t(this,e)}return i(e,null,[{key:"equalsWithTolerance",value:function(t,e,i){return Math.abs(t-e)<=i}}]),e}(),z=function(){function e(i,n){t(this,e),this.low=n||0,this.high=i||0}return i(e,null,[{key:"toBinaryString",value:function(t){var e,i="";for(e=2147483648;e>0;e>>>=1)i+=(t.high&e)===e?"1":"0";for(e=2147483648;e>0;e>>>=1)i+=(t.low&e)===e?"1":"0";return i}}]),e}();function D(){}function R(){}D.NaN=NaN,D.isNaN=function(t){return Number.isNaN(t)},D.isInfinite=function(t){return!Number.isFinite(t)},D.MAX_VALUE=Number.MAX_VALUE,D.POSITIVE_INFINITY=Number.POSITIVE_INFINITY,D.NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,"function"==typeof Float64Array&&"function"==typeof Int32Array?(I=2146435072,M=new Float64Array(1),P=new Int32Array(M.buffer),D.doubleToLongBits=function(t){M[0]=t;var e=0|P[0],i=0|P[1];return(i&I)===I&&!!(1048575&i)&&0!==e&&(e=0,i=2146959360),new z(i,e)},D.longBitsToDouble=function(t){return P[0]=t.low,P[1]=t.high,M[0]}):(E=1023,C=Math.log2,T=Math.floor,k=Math.pow,S=function(){for(var t=53;t>0;t--){var e=k(2,t)-1;if(T(C(e))+1===t)return e}return 0}(),D.doubleToLongBits=function(t){var e,i,n,r,o,s,a,l,c;if(t<0||1/t===Number.NEGATIVE_INFINITY?(s=1<<31,t=-t):s=0,0===t)return new z(l=s,c=0);if(t===1/0)return new z(l=2146435072|s,c=0);if(t!=t)return new z(l=2146959360,c=0);if(r=0,c=0,(e=T(t))>1)if(e<=S)(r=T(C(e)))<=20?(c=0,l=e<<20-r&1048575):(c=e%(i=k(2,n=r-20))<<32-n,l=e/i&1048575);else for(n=e,c=0;0!==(n=T(i=n/2));)r++,c>>>=1,c|=(1&l)<<31,l>>>=1,i!==n&&(l|=524288);if(a=r+E,o=0===e,e=t-e,r<52&&0!==e)for(n=0;;){if((i=2*e)>=1?(e=i-1,o?(a--,o=!1):(n<<=1,n|=1,r++)):(e=i,o?0==--a&&(r++,o=!1):(n<<=1,r++)),20===r)l|=n,n=0;else if(52===r){c|=n;break}if(1===i){r<20?l|=n<<20-r:r<52&&(c|=n<<52-r);break}}return l|=a<<20,new z(l|=s,c)},D.longBitsToDouble=function(t){var e,i,n,r,o=t.high,s=t.low,a=o&1<<31?-1:1;for(n=((2146435072&o)>>20)-E,r=0,i=1<<19,e=1;e<=20;e++)o&i&&(r+=k(2,-e)),i>>>=1;for(i=1<<31,e=21;e<=52;e++)s&i&&(r+=k(2,-e)),i>>>=1;if(-1023===n){if(0===r)return 0*a;n=-1022}else{if(1024===n)return 0===r?a/0:NaN;r+=1}return a*r*k(2,n)});var O=function(e){n(r,e);var i=h(r);function r(e){var n;return t(this,r),(n=i.call(this,e)).name=Object.keys({RuntimeException:r})[0],n}return r}(y),B=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,null,[{key:"constructor_",value:function(){if(0===arguments.length)O.constructor_.call(this);else if(1===arguments.length){var t=arguments[0];O.constructor_.call(this,t)}}}]),o}(O),N=function(){function e(){t(this,e)}return i(e,null,[{key:"shouldNeverReachHere",value:function(){if(0===arguments.length)e.shouldNeverReachHere(null);else if(1===arguments.length){var t=arguments[0];throw new B("Should never reach here"+(null!==t?": "+t:""))}}},{key:"isTrue",value:function(){if(1===arguments.length){var t=arguments[0];e.isTrue(t,null)}else if(2===arguments.length){var i=arguments[1];if(!arguments[0])throw null===i?new B:new B(i)}}},{key:"equals",value:function(){if(2===arguments.length){var t=arguments[0],i=arguments[1];e.equals(t,i,null)}else if(3===arguments.length){var n=arguments[0],r=arguments[1],o=arguments[2];if(!r.equals(n))throw new B("Expected "+n+" but encountered "+r+(null!==o?": "+o:""))}}}]),e}(),F=new ArrayBuffer(8),U=new Float64Array(F),j=new Int32Array(F),V=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getM",value:function(){return D.NaN}},{key:"setOrdinate",value:function(t,i){switch(t){case e.X:this.x=i;break;case e.Y:this.y=i;break;case e.Z:this.setZ(i);break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"equals2D",value:function(){if(1===arguments.length){var t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){var e=arguments[0],i=arguments[1];return!!L.equalsWithTolerance(this.x,e.x,i)&&!!L.equalsWithTolerance(this.y,e.y,i)}}},{key:"setM",value:function(t){throw new v("Invalid ordinate index: "+e.M)}},{key:"getZ",value:function(){return this.z}},{key:"getOrdinate",value:function(t){switch(t){case e.X:return this.x;case e.Y:return this.y;case e.Z:return this.getZ()}throw new v("Invalid ordinate index: "+t)}},{key:"equals3D",value:function(t){return this.x===t.x&&this.y===t.y&&(this.getZ()===t.getZ()||D.isNaN(this.getZ())&&D.isNaN(t.getZ()))}},{key:"equals",value:function(t){return t instanceof e&&this.equals2D(t)}},{key:"equalInZ",value:function(t,e){return L.equalsWithTolerance(this.getZ(),t.getZ(),e)}},{key:"setX",value:function(t){this.x=t}},{key:"compareTo",value:function(t){var e=t;return this.xe.x?1:this.ye.y?1:0}},{key:"getX",value:function(){return this.x}},{key:"setZ",value:function(t){this.z=t}},{key:"clone",value:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return N.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}},{key:"copy",value:function(){return new e(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+", "+this.getZ()+")"}},{key:"distance3D",value:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.getZ()-t.getZ();return Math.sqrt(e*e+i*i+n*n)}},{key:"getY",value:function(){return this.y}},{key:"setY",value:function(t){this.y=t}},{key:"distance",value:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)}},{key:"hashCode",value:function(){var t=17;return 37*(t=37*t+e.hashCode(this.x))+e.hashCode(this.y)}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ()}},{key:"interfaces_",get:function(){return[b,w,A]}}],[{key:"constructor_",value:function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)e.constructor_.call(this,0,0);else if(1===arguments.length){var t=arguments[0];e.constructor_.call(this,t.x,t.y,t.getZ())}else if(2===arguments.length){var i=arguments[0],n=arguments[1];e.constructor_.call(this,i,n,e.NULL_ORDINATE)}else if(3===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2];this.x=r,this.y=o,this.z=s}}},{key:"hashCode",value:function(t){return U[0]=t,j[0]^j[1]}}]),e}(),G=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compare",value:function(t,i){var n=e.compare(t.x,i.x);if(0!==n)return n;var r=e.compare(t.y,i.y);return 0!==r?r:this._dimensionsToTest<=2?0:e.compare(t.getZ(),i.getZ())}},{key:"interfaces_",get:function(){return[R]}}],[{key:"constructor_",value:function(){if(this._dimensionsToTest=2,0===arguments.length)e.constructor_.call(this,2);else if(1===arguments.length){var t=arguments[0];if(2!==t&&3!==t)throw new v("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}}},{key:"compare",value:function(t,e){return te?1:D.isNaN(t)?D.isNaN(e)?0:-1:D.isNaN(e)?1:0}}]),e}();V.DimensionalComparator=G,V.NULL_ORDINATE=D.NaN,V.X=0,V.Y=1,V.Z=2,V.M=3;var q=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getArea",value:function(){return this.getWidth()*this.getHeight()}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;var i=t;return this.isNull()?i.isNull():this._maxx===i.getMaxX()&&this._maxy===i.getMaxY()&&this._minx===i.getMinX()&&this._miny===i.getMinY()}},{key:"intersection",value:function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new e;var i=this._minx>t._minx?this._minx:t._minx,n=this._miny>t._miny?this._miny:t._miny;return new e(i,this._maxx=this._minx&&i.getMaxX()<=this._maxx&&i.getMinY()>=this._miny&&i.getMaxY()<=this._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return!this.isNull()&&n>=this._minx&&n<=this._maxx&&r>=this._miny&&r<=this._maxy}}},{key:"intersects",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||(n.x>r.x?n.x:r.x)this._maxy||(n.y>r.y?n.y:r.y)this._maxx||othis._maxy||sthis._maxx&&(this._maxx=i._maxx),i._minythis._maxy&&(this._maxy=i._maxy))}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=r,this._maxy=r):(nthis._maxx&&(this._maxx=n),rthis._maxy&&(this._maxy=r))}}},{key:"minExtent",value:function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}},{key:"translate",value:function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}},{key:"copy",value:function(){return new e(this)}},{key:"toString",value:function(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}},{key:"setToNull",value:function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}},{key:"disjoint",value:function(t){return!(!this.isNull()&&!t.isNull())||t._minx>this._maxx||t._maxxthis._maxy||t._maxye?t:e}},{key:"expandBy",value:function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],i=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=i,this._maxy+=i,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}},{key:"contains",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof V){var i=arguments[0];return this.covers(i)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return this.covers(n,r)}}},{key:"centre",value:function(){return this.isNull()?null:new V((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}},{key:"init",value:function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof V){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var i=arguments[0];this._minx=i._minx,this._maxx=i._maxx,this._miny=i._miny,this._maxy=i._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],l=arguments[3];ot._maxx&&(e=this._minx-t._maxx);var i=0;return this._maxyt._maxy&&(i=this._miny-t._maxy),0===e?i:0===i?e:Math.sqrt(e*e+i*i)}},{key:"hashCode",value:function(){var t=17;return 37*(t=37*(t=37*(t=37*t+V.hashCode(this._minx))+V.hashCode(this._maxx))+V.hashCode(this._miny))+V.hashCode(this._maxy)}},{key:"interfaces_",get:function(){return[b,A]}}],[{key:"constructor_",value:function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof V){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var i=arguments[0];this.init(i)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],l=arguments[3];this.init(o,s,a,l)}}},{key:"intersects",value:function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],i=arguments[2];return i.x>=(t.xe.x?t.x:e.x)&&i.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){var n=arguments[0],r=arguments[1],o=arguments[2],s=arguments[3],a=Math.min(o.x,s.x),l=Math.max(o.x,s.x),c=Math.min(n.x,r.x),u=Math.max(n.x,r.x);return!(c>l||ul||u=this.size())throw new et;return this.array[t]}},{key:"push",value:function(t){return this.array.push(t),t}},{key:"pop",value:function(){if(0===this.array.length)throw new tt;return this.array.pop()}},{key:"peek",value:function(){if(0===this.array.length)throw new tt;return this.array[this.array.length-1]}},{key:"empty",value:function(){return 0===this.array.length}},{key:"isEmpty",value:function(){return this.empty()}},{key:"search",value:function(t){return this.array.indexOf(t)}},{key:"size",value:function(){return this.array.length}},{key:"toArray",value:function(){return this.array.slice()}}]),o}(it);function rt(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}var ot=function(){function e(i){t(this,e),this.str=i}return i(e,[{key:"append",value:function(t){this.str+=t}},{key:"setCharAt",value:function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)}},{key:"toString",value:function(){return this.str}}]),e}(),st=function(){function e(i){t(this,e),this.value=i}return i(e,[{key:"intValue",value:function(){return this.value}},{key:"compareTo",value:function(t){return this.valuet?1:0}}],[{key:"compare",value:function(t,e){return te?1:0}},{key:"isNan",value:function(t){return Number.isNaN(t)}},{key:"valueOf",value:function(t){return new e(t)}}]),e}(),at=function(){function e(){t(this,e)}return i(e,null,[{key:"isWhitespace",value:function(t){return t<=32&&t>=0||127===t}},{key:"toUpperCase",value:function(t){return t.toUpperCase()}}]),e}(),lt=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"le",value:function(t){return this._hi9?(h=!0,p="9"):p="0"+u,a.append(p),n=n.subtract(e.valueOf(u)).multiply(e.TEN),h&&n.selfAdd(e.TEN);var d=!0,f=e.magnitude(n._hi);if(f<0&&Math.abs(f)>=l-c&&(d=!1),!d)break}return i[0]=r,a.toString()}},{key:"sqr",value:function(){return this.multiply(this)}},{key:"doubleValue",value:function(){return this._hi+this._lo}},{key:"subtract",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){var i=arguments[0];return this.add(-i)}}},{key:"equals",value:function(){if(1===arguments.length&&arguments[0]instanceof e){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}},{key:"isZero",value:function(){return 0===this._hi&&0===this._lo}},{key:"selfSubtract",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){var i=arguments[0];return this.isNaN()?this:this.selfAdd(-i,0)}}},{key:"getSpecialNumberString",value:function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}},{key:"min",value:function(t){return this.le(t)?this:t}},{key:"selfDivide",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){var i=arguments[0];return this.selfDivide(i,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],o=null,s=null,a=null,l=null,c=null,u=null,h=null,p=null;return c=this._hi/n,p=(o=(u=e.SPLIT*c)-(o=u-c))*(a=(p=e.SPLIT*n)-(a=p-n))-(h=c*n)+o*(l=n-a)+(s=c-o)*a+s*l,p=c+(u=(this._hi-h-p+this._lo-c*r)/n),this._hi=p,this._lo=c-p+u,this}}},{key:"dump",value:function(){return"DD<"+this._hi+", "+this._lo+">"}},{key:"divide",value:function(){if(arguments[0]instanceof e){var t=arguments[0],i=null,n=null,r=null,o=null,s=null,a=null,l=null,c=null;return n=(s=this._hi/t._hi)-(i=(a=e.SPLIT*s)-(i=a-s)),c=i*(r=(c=e.SPLIT*t._hi)-(r=c-t._hi))-(l=s*t._hi)+i*(o=t._hi-r)+n*r+n*o,new e(c=s+(a=(this._hi-l-c+this._lo-s*t._lo)/t._hi),s-c+a)}if("number"==typeof arguments[0]){var u=arguments[0];return D.isNaN(u)?e.createNaN():e.copy(this).selfDivide(u,0)}}},{key:"ge",value:function(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}},{key:"pow",value:function(t){if(0===t)return e.valueOf(1);var i=new e(this),n=e.valueOf(1),r=Math.abs(t);if(r>1)for(;r>0;)r%2==1&&n.selfMultiply(i),(r/=2)>0&&(i=i.sqr());else n=i;return t<0?n.reciprocal():n}},{key:"ceil",value:function(){if(this.isNaN())return e.NaN;var t=Math.ceil(this._hi),i=0;return t===this._hi&&(i=Math.ceil(this._lo)),new e(t,i)}},{key:"compareTo",value:function(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}},{key:"rint",value:function(){return this.isNaN()?this:this.add(.5).floor()}},{key:"setValue",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){var i=arguments[0];return this.init(i),this}}},{key:"max",value:function(t){return this.ge(t)?this:t}},{key:"sqrt",value:function(){if(this.isZero())return e.valueOf(0);if(this.isNegative())return e.NaN;var t=1/Math.sqrt(this._hi),i=this._hi*t,n=e.valueOf(i),r=this.subtract(n.sqr())._hi*(.5*t);return n.add(r)}},{key:"selfAdd",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){var i=arguments[0],n=null,r=null,o=null,s=null,a=null,l=null;return s=(o=this._hi+i)-(a=o-this._hi),r=(l=(s=i-a+(this._hi-s))+this._lo)+(o-(n=o+l)),this._hi=n+r,this._lo=r+(n-this._hi),this}}else if(2===arguments.length){var c=arguments[0],u=arguments[1],h=null,p=null,d=null,f=null,m=null,g=null,_=null;f=this._hi+c,p=this._lo+u,m=f-(g=f-this._hi),d=p-(_=p-this._lo);var y=(h=f+(g=(m=c-g+(this._hi-m))+p))+(g=(d=u-_+(this._lo-d))+(g+(f-h))),v=g+(h-y);return this._hi=y,this._lo=v,this}}},{key:"selfMultiply",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){var i=arguments[0];return this.selfMultiply(i,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],o=null,s=null,a=null,l=null,c=null,u=null;o=(c=e.SPLIT*this._hi)-this._hi,u=e.SPLIT*n,o=c-o,s=this._hi-o,a=u-n;var h=(c=this._hi*n)+(u=o*(a=u-a)-c+o*(l=n-a)+s*a+s*l+(this._hi*r+this._lo*n)),p=u+(o=c-h);return this._hi=h,this._lo=p,this}}},{key:"selfSqr",value:function(){return this.selfMultiply(this)}},{key:"floor",value:function(){if(this.isNaN())return e.NaN;var t=Math.floor(this._hi),i=0;return t===this._hi&&(i=Math.floor(this._lo)),new e(t,i)}},{key:"negate",value:function(){return this.isNaN()?this:new e(-this._hi,-this._lo)}},{key:"clone",value:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}},{key:"multiply",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return t.isNaN()?e.createNaN():e.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){var i=arguments[0];return D.isNaN(i)?e.createNaN():e.copy(this).selfMultiply(i,0)}}},{key:"isNaN",value:function(){return D.isNaN(this._hi)}},{key:"intValue",value:function(){return Math.trunc(this._hi)}},{key:"toString",value:function(){var t=e.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}},{key:"toStandardNotation",value:function(){var t=this.getSpecialNumberString();if(null!==t)return t;var i=new Array(1).fill(null),n=this.extractSignificantDigits(!0,i),r=i[0]+1,o=n;if("."===n.charAt(0))o="0"+n;else if(r<0)o="0."+e.stringOfChar("0",-r)+n;else if(-1===n.indexOf(".")){var s=r-n.length;o=n+e.stringOfChar("0",s)+".0"}return this.isNegative()?"-"+o:o}},{key:"reciprocal",value:function(){var t,i,n,r,o=null,s=null,a=null,l=null;t=(n=1/this._hi)-(o=(a=e.SPLIT*n)-(o=a-n)),s=(l=e.SPLIT*this._hi)-this._hi;var c=n+(a=(1-(r=n*this._hi)-(l=o*(s=l-s)-r+o*(i=this._hi-s)+t*s+t*i)-n*this._lo)/this._hi);return new e(c,n-c+a)}},{key:"toSciNotation",value:function(){if(this.isZero())return e.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var i=new Array(1).fill(null),n=this.extractSignificantDigits(!1,i),r=e.SCI_NOT_EXPONENT_CHAR+i[0];if("0"===n.charAt(0))throw new IllegalStateException("Found leading zero: "+n);var o="";n.length>1&&(o=n.substring(1));var s=n.charAt(0)+"."+o;return this.isNegative()?"-"+s+r:s+r}},{key:"abs",value:function(){return this.isNaN()?e.NaN:this.isNegative()?this.negate():new e(this)}},{key:"isPositive",value:function(){return this._hi>0||0===this._hi&&this._lo>0}},{key:"lt",value:function(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}},{key:"isNegative",value:function(){return this._hi<0||0===this._hi&&this._lo<0}},{key:"trunc",value:function(){return this.isNaN()?e.NaN:this.isPositive()?this.floor():this.ceil()}},{key:"signum",value:function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}},{key:"interfaces_",get:function(){return[A,b,w]}}],[{key:"constructor_",value:function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof e){var i=arguments[0];this.init(i)}else if("string"==typeof arguments[0]){var n=arguments[0];e.constructor_.call(this,e.parse(n))}}else if(2===arguments.length){var r=arguments[0],o=arguments[1];this.init(r,o)}}},{key:"determinant",value:function(){if("number"==typeof arguments[3]&&"number"==typeof arguments[2]&&"number"==typeof arguments[0]&&"number"==typeof arguments[1]){var t=arguments[0],i=arguments[1],n=arguments[2],r=arguments[3];return e.determinant(e.valueOf(t),e.valueOf(i),e.valueOf(n),e.valueOf(r))}if(arguments[3]instanceof e&&arguments[2]instanceof e&&arguments[0]instanceof e&&arguments[1]instanceof e){var o=arguments[1],s=arguments[2],a=arguments[3];return arguments[0].multiply(a).selfSubtract(o.multiply(s))}}},{key:"sqr",value:function(t){return e.valueOf(t).selfMultiply(t)}},{key:"valueOf",value:function(){if("string"==typeof arguments[0]){var t=arguments[0];return e.parse(t)}if("number"==typeof arguments[0])return new e(arguments[0])}},{key:"sqrt",value:function(t){return e.valueOf(t).sqrt()}},{key:"parse",value:function(t){for(var i=0,n=t.length;at.isWhitespace(t.charAt(i));)i++;var r=!1;if(i=n);){var h=t.charAt(i);if(i++,at.isDigit(h)){var p=h-"0";s.selfMultiply(e.TEN),s.selfAdd(p),a++}else{if("."!==h){if("e"===h||"E"===h){var d=t.substring(i);try{c=st.parseInt(d)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+d+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+h+"' at position "+i+" in string "+t)}l=a,u=!0}}var f=s;u||(l=a);var m=a-l-c;if(0===m)f=s;else if(m>0){var g=e.TEN.pow(m);f=s.divide(g)}else if(m<0){var _=e.TEN.pow(-m);f=s.multiply(_)}return r?f.negate():f}},{key:"createNaN",value:function(){return new e(D.NaN,D.NaN)}},{key:"copy",value:function(t){return new e(t)}},{key:"magnitude",value:function(t){var e=Math.abs(t),i=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(i));return 10*Math.pow(10,n)<=e&&(n+=1),n}},{key:"stringOfChar",value:function(t,e){for(var i=new ot,n=0;n0){if(s<=0)return e.signum(a);r=o+s}else{if(!(o<0))return e.signum(a);if(s>=0)return e.signum(a);r=-o-s}var l=e.DP_SAFE_EPSILON*r;return a>=l||-a>=l?e.signum(a):2}},{key:"signum",value:function(t){return t>0?1:t<0?-1:0}}]),e}();ct.DP_SAFE_EPSILON=1e-15;var ut=function(){function e(){t(this,e)}return i(e,[{key:"getM",value:function(t){if(this.hasM()){var e=this.getDimension()-this.getMeasures();return this.getOrdinate(t,e)}return D.NaN}},{key:"setOrdinate",value:function(t,e,i){}},{key:"getZ",value:function(t){return this.hasZ()?this.getOrdinate(t,2):D.NaN}},{key:"size",value:function(){}},{key:"getOrdinate",value:function(t,e){}},{key:"getCoordinate",value:function(){}},{key:"getCoordinateCopy",value:function(t){}},{key:"createCoordinate",value:function(){}},{key:"getDimension",value:function(){}},{key:"hasM",value:function(){return this.getMeasures()>0}},{key:"getX",value:function(t){}},{key:"hasZ",value:function(){return this.getDimension()-this.getMeasures()>2}},{key:"getMeasures",value:function(){return 0}},{key:"expandEnvelope",value:function(t){}},{key:"copy",value:function(){}},{key:"getY",value:function(t){}},{key:"toCoordinateArray",value:function(){}},{key:"interfaces_",get:function(){return[w]}}]),e}();ut.X=0,ut.Y=1,ut.Z=2,ut.M=3;var ht=function(){function e(){t(this,e)}return i(e,null,[{key:"index",value:function(t,e,i){return ct.orientationIndex(t,e,i)}},{key:"isCCW",value:function(){if(arguments[0]instanceof Array){var t=arguments[0],i=t.length-1;if(i<3)throw new v("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=t[0],r=0,o=1;o<=i;o++){var s=t[o];s.y>n.y&&(n=s,r=o)}var a=r;do{(a-=1)<0&&(a=i)}while(t[a].equals2D(n)&&a!==r);var l=r;do{l=(l+1)%i}while(t[l].equals2D(n)&&l!==r);var c=t[a],u=t[l];if(c.equals2D(n)||u.equals2D(n)||c.equals2D(u))return!1;var h=e.index(c,n,u);return 0===h?c.x>u.x:h>0}if(rt(arguments[0],ut)){var p=arguments[0],d=p.size()-1;if(d<3)throw new v("Ring has fewer than 4 points, so orientation cannot be determined");for(var f=p.getCoordinate(0),m=0,g=1;g<=d;g++){var _=p.getCoordinate(g);_.y>f.y&&(f=_,m=g)}var y=null,x=m;do{(x-=1)<0&&(x=d),y=p.getCoordinate(x)}while(y.equals2D(f)&&x!==m);var b=null,w=m;do{w=(w+1)%d,b=p.getCoordinate(w)}while(b.equals2D(f)&&w!==m);if(y.equals2D(f)||b.equals2D(f)||y.equals2D(b))return!1;var A=e.index(y,f,b);return 0===A?y.x>b.x:A>0}}}]),e}();ht.CLOCKWISE=-1,ht.RIGHT=ht.CLOCKWISE,ht.COUNTERCLOCKWISE=1,ht.LEFT=ht.COUNTERCLOCKWISE,ht.COLLINEAR=0,ht.STRAIGHT=ht.COLLINEAR;var pt=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getCoordinate",value:function(){return this._minCoord}},{key:"getRightmostSide",value:function(t,e){var i=this.getRightmostSideOfSegment(t,e);return i<0&&(i=this.getRightmostSideOfSegment(t,e-1)),i<0&&(this._minCoord=null,this.checkForRightmostCoordinate(t)),i}},{key:"findRightmostEdgeAtVertex",value:function(){var t=this._minDe.getEdge().getCoordinates();N.isTrue(this._minIndex>0&&this._minIndexthis._minCoord.y&&i.y>this._minCoord.y&&n===ht.CLOCKWISE)&&(r=!0),r&&(this._minIndex=this._minIndex-1)}},{key:"getRightmostSideOfSegment",value:function(t,e){var i=t.getEdge().getCoordinates();if(e<0||e+1>=i.length)return-1;if(i[e].y===i[e+1].y)return-1;var n=Q.LEFT;return i[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=i,this._minCoord=e[i])}},{key:"findRightmostEdgeAtNode",value:function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)}},{key:"findEdge",value:function(t){for(var e=t.iterator();e.hasNext();){var i=e.next();i.isForward()&&this.checkForRightmostCoordinate(i)}N.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===Q.LEFT&&(this._orientedDe=this._minDe.getSym())}}],[{key:"constructor_",value:function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null}}]),e}(),dt=function(e){n(o,e);var r=h(o);function o(e,i){var n;return t(this,o),(n=r.call(this,i?e+" [ "+i+" ]":e)).pt=i?new V(i):void 0,n.name=Object.keys({TopologyException:o})[0],n}return i(o,[{key:"getCoordinate",value:function(){return this.pt}}]),o}(O),ft=function(){function e(){t(this,e),this.array=[]}return i(e,[{key:"addLast",value:function(t){this.array.push(t)}},{key:"removeFirst",value:function(){return this.array.shift()}},{key:"isEmpty",value:function(){return 0===this.array.length}}]),e}(),mt=function(e,r){n(s,e);var o=h(s);function s(e){var i;return t(this,s),(i=o.call(this)).array=[],e instanceof X&&i.addAll(e),i}return i(s,[{key:"interfaces_",get:function(){return[it,X]}},{key:"ensureCapacity",value:function(){}},{key:"add",value:function(t){return 1===arguments.length?this.array.push(t):this.array.splice(arguments[0],0,arguments[1]),!0}},{key:"clear",value:function(){this.array=[]}},{key:"addAll",value:function(t){var e,i=g(t);try{for(i.s();!(e=i.n()).done;){var n=e.value;this.array.push(n)}}catch(t){i.e(t)}finally{i.f()}}},{key:"set",value:function(t,e){var i=this.array[t];return this.array[t]=e,i}},{key:"iterator",value:function(){return new gt(this)}},{key:"get",value:function(t){if(t<0||t>=this.size())throw new et;return this.array[t]}},{key:"isEmpty",value:function(){return 0===this.array.length}},{key:"sort",value:function(t){t?this.array.sort((function(e,i){return t.compare(e,i)})):this.array.sort()}},{key:"size",value:function(){return this.array.length}},{key:"toArray",value:function(){return this.array.slice()}},{key:"remove",value:function(t){for(var e=0,i=this.array.length;e=1&&e.getDepth(Q.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}}},{key:"computeDepths",value:function(t){var e=new K,i=new ft,n=t.getNode();for(i.addLast(n),e.add(n),t.setVisited(!0);!i.isEmpty();){var r=i.removeFirst();e.add(r),this.computeNodeDepth(r);for(var o=r.getEdges().iterator();o.hasNext();){var s=o.next().getSym();if(!s.isVisited()){var a=s.getNode();e.contains(a)||(i.addLast(a),e.add(a))}}}}},{key:"compareTo",value:function(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0}},{key:"getEnvelope",value:function(){if(null===this._env){for(var t=new q,e=this._dirEdgeList.iterator();e.hasNext();)for(var i=e.next().getEdge().getCoordinates(),n=0;ne.x?t.x:e.x,a=t.y>e.y?t.y:e.y,l=i.xn.x?i.x:n.x,h=i.y>n.y?i.y:n.y,p=((r>l?r:l)+(sc?o:c)+(ai?i:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var n=arguments[0],r=arguments[1],o=arguments[2];return no?o:n}}},{key:"wrap",value:function(t,e){return t<0?e- -t%e:t%e}},{key:"max",value:function(){if(3===arguments.length){var t=arguments[1],e=arguments[2],i=arguments[0];return t>i&&(i=t),e>i&&(i=e),i}if(4===arguments.length){var n=arguments[1],r=arguments[2],o=arguments[3],s=arguments[0];return n>s&&(s=n),r>s&&(s=r),o>s&&(s=o),s}}},{key:"average",value:function(t,e){return(t+e)/2}}]),e}();xt.LOG_10=Math.log(10);var bt=function(){function e(){t(this,e)}return i(e,null,[{key:"segmentToSegment",value:function(t,i,n,r){if(t.equals(i))return e.pointToSegment(t,n,r);if(n.equals(r))return e.pointToSegment(r,t,i);var o=!1;if(q.intersects(t,i,n,r)){var s=(i.x-t.x)*(r.y-n.y)-(i.y-t.y)*(r.x-n.x);if(0===s)o=!0;else{var a=(t.y-n.y)*(r.x-n.x)-(t.x-n.x)*(r.y-n.y),l=((t.y-n.y)*(i.x-t.x)-(t.x-n.x)*(i.y-t.y))/s,c=a/s;(c<0||c>1||l<0||l>1)&&(o=!0)}}else o=!0;return o?xt.min(e.pointToSegment(t,n,r),e.pointToSegment(i,n,r),e.pointToSegment(n,t,i),e.pointToSegment(r,t,i)):0}},{key:"pointToSegment",value:function(t,e,i){if(e.x===i.x&&e.y===i.y)return t.distance(e);var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/n;if(r<=0)return t.distance(e);if(r>=1)return t.distance(i);var o=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(o)*Math.sqrt(n)}},{key:"pointToLinePerpendicular",value:function(t,e,i){var n=(i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y),r=((e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y))/n;return Math.abs(r)*Math.sqrt(n)}},{key:"pointToSegmentString",value:function(t,i){if(0===i.length)throw new v("Line array must contain at least one vertex");for(var n=t.distance(i[0]),r=0;r0)&&(o=a,r=s)}return r}}},{key:"extend",value:function(t,i,n){var r=t.create(n,i.getDimension()),o=i.size();if(e.copy(i,0,r,0,o),o>0)for(var s=o;s0)&&(e=n)}return e}}]),e}(),kt=function(){function e(){t(this,e)}return i(e,null,[{key:"toDimensionSymbol",value:function(t){switch(t){case e.FALSE:return e.SYM_FALSE;case e.TRUE:return e.SYM_TRUE;case e.DONTCARE:return e.SYM_DONTCARE;case e.P:return e.SYM_P;case e.L:return e.SYM_L;case e.A:return e.SYM_A}throw new v("Unknown dimension value: "+t)}},{key:"toDimensionValue",value:function(t){switch(at.toUpperCase(t)){case e.SYM_FALSE:return e.FALSE;case e.SYM_TRUE:return e.TRUE;case e.SYM_DONTCARE:return e.DONTCARE;case e.SYM_P:return e.P;case e.SYM_L:return e.L;case e.SYM_A:return e.A}throw new v("Unknown dimension symbol: "+t)}}]),e}();kt.P=0,kt.L=1,kt.A=2,kt.FALSE=-1,kt.TRUE=-2,kt.DONTCARE=-3,kt.SYM_FALSE="F",kt.SYM_TRUE="T",kt.SYM_DONTCARE="*",kt.SYM_P="0",kt.SYM_L="1",kt.SYM_A="2";var St=function(){function e(){t(this,e)}return i(e,[{key:"filter",value:function(t){}}]),e}(),It=function(){function e(){t(this,e)}return i(e,[{key:"filter",value:function(t,e){}},{key:"isDone",value:function(){}},{key:"isGeometryChanged",value:function(){}}]),e}(),Mt=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"computeEnvelopeInternal",value:function(){return this.isEmpty()?new q:this._points.expandEnvelope(new q)}},{key:"isRing",value:function(){return this.isClosed()&&this.isSimple()}},{key:"getCoordinates",value:function(){return this._points.toCoordinateArray()}},{key:"copyInternal",value:function(){return new s(this._points.copy(),this._factory)}},{key:"equalsExact",value:function(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof Z){var t=arguments[0],e=arguments[1];if(!this.isEquivalentClass(t))return!1;var i=t;if(this._points.size()!==i._points.size())return!1;for(var n=0;n0){var i=this._points.copy();Tt.reverse(i),this._points=i}return null}}}},{key:"getCoordinate",value:function(){return this.isEmpty()?null:this._points.getCoordinate(0)}},{key:"getBoundaryDimension",value:function(){return this.isClosed()?kt.FALSE:0}},{key:"isClosed",value:function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}},{key:"reverseInternal",value:function(){var t=this._points.copy();return Tt.reverse(t),this.getFactory().createLineString(t)}},{key:"getEndPoint",value:function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}},{key:"getTypeCode",value:function(){return Z.TYPECODE_LINESTRING}},{key:"getDimension",value:function(){return 1}},{key:"getLength",value:function(){return Et.ofLine(this._points)}},{key:"getNumPoints",value:function(){return this._points.size()}},{key:"compareToSameClass",value:function(){if(1===arguments.length){for(var t=arguments[0],e=0,i=0;e= 2)");this._points=t}},{key:"isCoordinate",value:function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")}},{key:"getGeometryType",value:function(){return Z.TYPENAME_LINEARRING}}],[{key:"constructor_",value:function(){var t=arguments[0],e=arguments[1];Mt.constructor_.call(this,t,e),this.validateConstruction()}}]),s}(Mt);Vt.MINIMUM_VALID_SIZE=4;var Gt=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"setOrdinate",value:function(t,e){switch(t){case o.X:this.x=e;break;case o.Y:this.y=e;break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"getZ",value:function(){return V.NULL_ORDINATE}},{key:"getOrdinate",value:function(t){switch(t){case o.X:return this.x;case o.Y:return this.y}throw new v("Invalid ordinate index: "+t)}},{key:"setZ",value:function(t){throw new v("CoordinateXY dimension 2 does not support z-ordinate")}},{key:"copy",value:function(){return new o(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+")"}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ()}}],[{key:"constructor_",value:function(){if(0===arguments.length)V.constructor_.call(this);else if(1===arguments.length){if(arguments[0]instanceof o){var t=arguments[0];V.constructor_.call(this,t.x,t.y)}else if(arguments[0]instanceof V){var e=arguments[0];V.constructor_.call(this,e.x,e.y)}}else if(2===arguments.length){var i=arguments[0],n=arguments[1];V.constructor_.call(this,i,n,V.NULL_ORDINATE)}}}]),o}(V);Gt.X=0,Gt.Y=1,Gt.Z=-1,Gt.M=-1;var qt=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"getM",value:function(){return this._m}},{key:"setOrdinate",value:function(t,e){switch(t){case o.X:this.x=e;break;case o.Y:this.y=e;break;case o.M:this._m=e;break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"setM",value:function(t){this._m=t}},{key:"getZ",value:function(){return V.NULL_ORDINATE}},{key:"getOrdinate",value:function(t){switch(t){case o.X:return this.x;case o.Y:return this.y;case o.M:return this._m}throw new v("Invalid ordinate index: "+t)}},{key:"setZ",value:function(t){throw new v("CoordinateXY dimension 2 does not support z-ordinate")}},{key:"copy",value:function(){return new o(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+" m="+this.getM()+")"}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ(),this._m=t.getM()}}],[{key:"constructor_",value:function(){if(this._m=null,0===arguments.length)V.constructor_.call(this),this._m=0;else if(1===arguments.length){if(arguments[0]instanceof o){var t=arguments[0];V.constructor_.call(this,t.x,t.y),this._m=t._m}else if(arguments[0]instanceof V){var e=arguments[0];V.constructor_.call(this,e.x,e.y),this._m=this.getM()}}else if(3===arguments.length){var i=arguments[0],n=arguments[1],r=arguments[2];V.constructor_.call(this,i,n,V.NULL_ORDINATE),this._m=r}}}]),o}(V);qt.X=0,qt.Y=1,qt.Z=-1,qt.M=2;var Zt=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"getM",value:function(){return this._m}},{key:"setOrdinate",value:function(t,e){switch(t){case V.X:this.x=e;break;case V.Y:this.y=e;break;case V.Z:this.z=e;break;case V.M:this._m=e;break;default:throw new v("Invalid ordinate index: "+t)}}},{key:"setM",value:function(t){this._m=t}},{key:"getOrdinate",value:function(t){switch(t){case V.X:return this.x;case V.Y:return this.y;case V.Z:return this.getZ();case V.M:return this.getM()}throw new v("Invalid ordinate index: "+t)}},{key:"copy",value:function(){return new o(this)}},{key:"toString",value:function(){return"("+this.x+", "+this.y+", "+this.getZ()+" m="+this.getM()+")"}},{key:"setCoordinate",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ(),this._m=t.getM()}}],[{key:"constructor_",value:function(){if(this._m=null,0===arguments.length)V.constructor_.call(this),this._m=0;else if(1===arguments.length){if(arguments[0]instanceof o){var t=arguments[0];V.constructor_.call(this,t),this._m=t._m}else if(arguments[0]instanceof V){var e=arguments[0];V.constructor_.call(this,e),this._m=this.getM()}}else if(4===arguments.length){var i=arguments[0],n=arguments[1],r=arguments[2],s=arguments[3];V.constructor_.call(this,i,n,r),this._m=s}}}]),o}(V),$t=function(){function e(){t(this,e)}return i(e,null,[{key:"measures",value:function(t){return t instanceof Gt?0:t instanceof qt||t instanceof Zt?1:0}},{key:"dimension",value:function(t){return t instanceof Gt?2:t instanceof qt?3:t instanceof Zt?4:3}},{key:"create",value:function(){if(1===arguments.length){var t=arguments[0];return e.create(t,0)}if(2===arguments.length){var i=arguments[0],n=arguments[1];return 2===i?new Gt:3===i&&0===n?new V:3===i&&1===n?new qt:4===i&&1===n?new Zt:new V}}}]),e}(),Xt=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"getCoordinate",value:function(t){return this.get(t)}},{key:"addAll",value:function(){if(2===arguments.length&&"boolean"==typeof arguments[1]&&rt(arguments[0],X)){for(var t=arguments[1],e=!1,i=arguments[0].iterator();i.hasNext();)this.add(i.next(),t),e=!0;return e}return p(r(s.prototype),"addAll",this).apply(this,arguments)}},{key:"clone",value:function(){for(var t=p(r(s.prototype),"clone",this).call(this),e=0;e=1&&this.get(this.size()-1).equals2D(n))return null;p(r(s.prototype),"add",this).call(this,n)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){var o=arguments[0],a=arguments[1];return this.add(o,a),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var l=arguments[0],c=arguments[1];if(arguments[2])for(var u=0;u=0;h--)this.add(l[h],c);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof V){var d=arguments[0],f=arguments[1];if(!arguments[2]){var m=this.size();if(m>0){if(d>0&&this.get(d-1).equals2D(f))return null;if(dv&&(x=-1);for(var b=y;b!==v;b+=x)this.add(g[b],_);return!0}}},{key:"closeRing",value:function(){if(this.size()>0){var t=this.get(0).copy();this.add(t,!1)}}}],[{key:"constructor_",value:function(){if(0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){var e=arguments[0],i=arguments[1];this.ensureCapacity(e.length),this.add(e,i)}}}]),s}(mt);Xt.coordArrayType=new Array(0).fill(null);var Wt=function(){function e(){t(this,e)}return i(e,null,[{key:"isRing",value:function(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))}},{key:"ptNotInList",value:function(t,i){for(var n=0;n=t?e:[]}},{key:"indexOf",value:function(t,e){for(var i=0;i0)&&(e=t[i]);return e}},{key:"extract",value:function(t,e,i){e=xt.clamp(e,0,t.length);var n=(i=xt.clamp(i,-1,t.length))-e+1;i<0&&(n=0),e>=t.length&&(n=0),in.length)return 1;if(0===i.length)return 0;var r=Wt.compare(i,n);return Wt.isEqualReversed(i,n)?0:r}},{key:"OLDcompare",value:function(t,e){var i=t,n=e;if(i.lengthn.length)return 1;if(0===i.length)return 0;for(var r=Wt.increasingDirection(i),o=Wt.increasingDirection(n),s=r>0?0:i.length-1,a=o>0?0:i.length-1,l=0;l0){var t=new Kt(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(t=3),t<2&&(t=2),new Jt(arguments[0],t)}if(3===arguments.length){var e=arguments[2],i=arguments[1]-e;return e>1&&(e=1),i>3&&(i=3),i<2&&(i=2),new Jt(arguments[0],i+e,e)}}}},{key:"interfaces_",get:function(){return[wt,A]}}],[{key:"instance",value:function(){return e.instanceObject}}]),e}();Qt.instanceObject=new Qt;var te=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"copyInternal",value:function(){for(var t=new Array(this._geometries.length).fill(null),e=0;e=0?t:e}}]),e}(),re=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"readResolve",value:function(){return e.nameToTypeMap.get(this._name)}},{key:"toString",value:function(){return this._name}},{key:"interfaces_",get:function(){return[A]}}],[{key:"constructor_",value:function(){this._name=null;var t=arguments[0];this._name=t,e.nameToTypeMap.put(t,this)}}]),e}();re.nameToTypeMap=new ie,ne.Type=re,ne.FIXED=new re("FIXED"),ne.FLOATING=new re("FLOATING"),ne.FLOATING_SINGLE=new re("FLOATING SINGLE"),ne.maximumPreciseValue=9007199254740992;var oe=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"copyInternal",value:function(){for(var t=new Array(this._geometries.length).fill(null),e=0;e1){if(l instanceof Ot)return this.createMultiPolygon(e.toPolygonArray(t));if(l instanceof Mt)return this.createMultiLineString(e.toLineStringArray(t));if(l instanceof Lt)return this.createMultiPoint(e.toPointArray(t));N.shouldNeverReachHere("Unhandled geometry type: "+l.getGeometryType())}return l}},{key:"createMultiPointFromCoords",value:function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}},{key:"createPoint",value:function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof V){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(rt(arguments[0],ut))return new Lt(arguments[0],this)}}},{key:"getCoordinateSequenceFactory",value:function(){return this._coordinateSequenceFactory}},{key:"createPolygon",value:function(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(rt(arguments[0],ut)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof Vt){var i=arguments[0];return this.createPolygon(i,null)}}else if(2===arguments.length)return new Ot(arguments[0],arguments[1],this)}},{key:"getSRID",value:function(){return this._SRID}},{key:"createGeometryCollection",value:function(){return 0===arguments.length?new Ut(null,this):1===arguments.length?new Ut(arguments[0],this):void 0}},{key:"getPrecisionModel",value:function(){return this._precisionModel}},{key:"createLinearRing",value:function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(rt(arguments[0],ut))return new Vt(arguments[0],this)}}},{key:"createMultiPolygon",value:function(){return 0===arguments.length?new te(null,this):1===arguments.length?new te(arguments[0],this):void 0}},{key:"createMultiPoint",value:function(){if(0===arguments.length)return new jt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new jt(arguments[0],this);if(rt(arguments[0],ut)){var t=arguments[0];if(null===t)return this.createMultiPoint(new Array(0).fill(null));for(var e=new Array(t.size()).fill(null),i=0;i="a"&&t<="z"||t>="A"&&t<="Z"}},{key:"isNumeric_",value:function(t,e){return t>="0"&&t<="9"||"."==t&&!(void 0!==e&&e)}},{key:"isWhiteSpace_",value:function(t){return" "==t||"\t"==t||"\r"==t||"\n"==t}},{key:"nextChar_",value:function(){return this.wkt.charAt(++this.index_)}},{key:"nextToken",value:function(){var t,e=this.nextChar_(),i=this.index_,n=e;if("("==e)t=fe;else if(","==e)t=_e;else if(")"==e)t=me;else if(this.isNumeric_(e)||"-"==e)t=ge,n=this.readNumber_();else if(this.isAlpha_(e))t=de,n=this.readText_();else{if(this.isWhiteSpace_(e))return this.nextToken();if(""!==e)throw new Error("Unexpected character: "+e);t=ye}return{position:i,value:n,type:t}}},{key:"readNumber_",value:function(){var t,e=this.index_,i=!1,n=!1;do{"."==t?i=!0:"e"!=t&&"E"!=t||(n=!0),t=this.nextChar_()}while(this.isNumeric_(t,i)||!n&&("e"==t||"E"==t)||n&&("-"==t||"+"==t));return parseFloat(this.wkt.substring(e,this.index_--))}},{key:"readText_",value:function(){var t,e=this.index_;do{t=this.nextChar_()}while(this.isAlpha_(t));return this.wkt.substring(e,this.index_--).toUpperCase()}}]),e}(),we=function(){function e(i,n){t(this,e),this.lexer_=i,this.token_,this.layout_=ae,this.factory=n}return i(e,[{key:"consume_",value:function(){this.token_=this.lexer_.nextToken()}},{key:"isTokenType",value:function(t){return this.token_.type==t}},{key:"match",value:function(t){var e=this.isTokenType(t);return e&&this.consume_(),e}},{key:"parse",value:function(){return this.consume_(),this.parseGeometry_()}},{key:"parseGeometryLayout_",value:function(){var t=ae,e=this.token_;if(this.isTokenType(de)){var i=e.value;"Z"===i?t=le:"M"===i?t=ce:"ZM"===i&&(t=ue),t!==ae&&this.consume_()}return t}},{key:"parseGeometryCollectionText_",value:function(){if(this.match(fe)){var t=[];do{t.push(this.parseGeometry_())}while(this.match(_e));if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parsePointText_",value:function(){if(this.match(fe)){var t=this.parsePoint_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return null;throw new Error(this.formatErrorMessage_())}},{key:"parseLineStringText_",value:function(){if(this.match(fe)){var t=this.parsePointList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parsePolygonText_",value:function(){if(this.match(fe)){var t=this.parseLineStringTextList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parseMultiPointText_",value:function(){var t;if(this.match(fe)){if(t=this.token_.type==fe?this.parsePointTextList_():this.parsePointList_(),this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parseMultiLineStringText_",value:function(){if(this.match(fe)){var t=this.parseLineStringTextList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parseMultiPolygonText_",value:function(){if(this.match(fe)){var t=this.parsePolygonTextList_();if(this.match(me))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:"parsePoint_",value:function(){for(var t=[],e=this.layout_.length,i=0;i1?t.createPolygon(n[0],n.slice(1)):t.createPolygon(n[0])},n=this.token_;if(this.match(de)){var r=n.value;if(this.layout_=this.parseGeometryLayout_(),"GEOMETRYCOLLECTION"==r){var o=this.parseGeometryCollectionText_();return t.createGeometryCollection(o)}switch(r){case"POINT":var s=this.parsePointText_();return s?t.createPoint(a(V,d(s))):t.createPoint();case"LINESTRING":var l=this.parseLineStringText_().map(e);return t.createLineString(l);case"LINEARRING":var c=this.parseLineStringText_().map(e);return t.createLinearRing(c);case"POLYGON":var u=this.parsePolygonText_();return u&&0!==u.length?i(u):t.createPolygon();case"MULTIPOINT":var h=this.parseMultiPointText_();if(!h||0===h.length)return t.createMultiPoint();var p=h.map(e).map((function(e){return t.createPoint(e)}));return t.createMultiPoint(p);case"MULTILINESTRING":var f=this.parseMultiLineStringText_().map((function(i){return t.createLineString(i.map(e))}));return t.createMultiLineString(f);case"MULTIPOLYGON":var m=this.parseMultiPolygonText_();if(!m||0===m.length)return t.createMultiPolygon();var g=m.map(i);return t.createMultiPolygon(g);default:throw new Error("Invalid geometry type: "+r)}}throw new Error(this.formatErrorMessage_())}}]),e}();function Ae(t){if(t.isEmpty())return"";var e=t.getCoordinate(),i=[e.x,e.y];return void 0===e.z||Number.isNaN(e.z)||i.push(e.z),void 0===e.m||Number.isNaN(e.m)||i.push(e.m),i.join(" ")}function Ee(t){for(var e=t.getCoordinates().map((function(t){var e=[t.x,t.y];return void 0===t.z||Number.isNaN(t.z)||e.push(t.z),void 0===t.m||Number.isNaN(t.m)||e.push(t.m),e})),i=[],n=0,r=e.length;n0&&(e+=" "+n),t.isEmpty()?e+" "+pe:e+" ("+i(t)+")"}var Se=function(){function e(i){t(this,e),this.geometryFactory=i||new se,this.precisionModel=this.geometryFactory.getPrecisionModel()}return i(e,[{key:"read",value:function(t){var e=new be(t);return new we(e,this.geometryFactory).parse()}},{key:"write",value:function(t){return ke(t)}}]),e}(),Ie=function(){function e(i){t(this,e),this.parser=new Se(i)}return i(e,[{key:"write",value:function(t){return this.parser.write(t)}}],[{key:"toLineString",value:function(t,e){if(2!==arguments.length)throw new Error("Not implemented");return"LINESTRING ( "+t.x+" "+t.y+", "+e.x+" "+e.y+" )"}}]),e}(),Me=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getIndexAlongSegment",value:function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}},{key:"getTopologySummary",value:function(){var t=new Kt;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}},{key:"computeIntersection",value:function(t,e,i,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=i,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,i,n)}},{key:"getIntersectionNum",value:function(){return this._result}},{key:"computeIntLineIndex",value:function(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map((function(){return Array(2)})),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){var t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}},{key:"isProper",value:function(){return this.hasIntersection()&&this._isProper}},{key:"setPrecisionModel",value:function(t){this._precisionModel=t}},{key:"isInteriorIntersection",value:function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],e=0;er?n:r;else{var s=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(o=n>r?s:a)||t.equals(e)||(o=Math.max(s,a))}return N.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o}},{key:"nonRobustComputeEdgeDistance",value:function(t,e,i){var n=t.x-e.x,r=t.y-e.y,o=Math.sqrt(n*n+r*r);return N.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o}}]),e}();Me.DONT_INTERSECT=0,Me.DO_INTERSECT=1,Me.COLLINEAR=2,Me.NO_INTERSECTION=0,Me.POINT_INTERSECTION=1,Me.COLLINEAR_INTERSECTION=2;var Pe=function(e){n(s,e);var o=h(s);function s(){return t(this,s),o.call(this)}return i(s,[{key:"isInSegmentEnvelopes",value:function(t){var e=new q(this._inputLines[0][0],this._inputLines[0][1]),i=new q(this._inputLines[1][0],this._inputLines[1][1]);return e.contains(t)&&i.contains(t)}},{key:"computeIntersection",value:function(){if(3!==arguments.length)return p(r(s.prototype),"computeIntersection",this).apply(this,arguments);var t=arguments[0],e=arguments[1],i=arguments[2];if(this._isProper=!1,q.intersects(e,i,t)&&0===ht.index(e,i,t)&&0===ht.index(i,e,t))return this._isProper=!0,(t.equals(e)||t.equals(i))&&(this._isProper=!1),this._result=Me.POINT_INTERSECTION,null;this._result=Me.NO_INTERSECTION}},{key:"intersection",value:function(t,e,i,n){var r=this.intersectionSafe(t,e,i,n);return this.isInSegmentEnvelopes(r)||(r=new V(s.nearestEndpoint(t,e,i,n))),null!==this._precisionModel&&this._precisionModel.makePrecise(r),r}},{key:"checkDD",value:function(t,e,i,n,r){var o=ct.intersection(t,e,i,n),s=this.isInSegmentEnvelopes(o);vt.out.println("DD in env = "+s+" --------------------- "+o),r.distance(o)>1e-4&&vt.out.println("Distance = "+r.distance(o))}},{key:"intersectionSafe",value:function(t,e,i,n){var r=yt.intersection(t,e,i,n);return null===r&&(r=s.nearestEndpoint(t,e,i,n)),r}},{key:"computeCollinearIntersection",value:function(t,e,i,n){var r=q.intersects(t,e,i),o=q.intersects(t,e,n),s=q.intersects(i,n,t),a=q.intersects(i,n,e);return r&&o?(this._intPt[0]=i,this._intPt[1]=n,Me.COLLINEAR_INTERSECTION):s&&a?(this._intPt[0]=t,this._intPt[1]=e,Me.COLLINEAR_INTERSECTION):r&&s?(this._intPt[0]=i,this._intPt[1]=t,!i.equals(t)||o||a?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):r&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||o||s?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):o&&s?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||r||a?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):o&&a?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||r||s?Me.COLLINEAR_INTERSECTION:Me.POINT_INTERSECTION):Me.NO_INTERSECTION}},{key:"computeIntersect",value:function(t,e,i,n){if(this._isProper=!1,!q.intersects(t,e,i,n))return Me.NO_INTERSECTION;var r=ht.index(t,e,i),o=ht.index(t,e,n);if(r>0&&o>0||r<0&&o<0)return Me.NO_INTERSECTION;var s=ht.index(i,n,t),a=ht.index(i,n,e);return s>0&&a>0||s<0&&a<0?Me.NO_INTERSECTION:0===r&&0===o&&0===s&&0===a?this.computeCollinearIntersection(t,e,i,n):(0===r||0===o||0===s||0===a?(this._isProper=!1,t.equals2D(i)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(i)||e.equals2D(n)?this._intPt[0]=e:0===r?this._intPt[0]=new V(i):0===o?this._intPt[0]=new V(n):0===s?this._intPt[0]=new V(t):0===a&&(this._intPt[0]=new V(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,i,n)),Me.POINT_INTERSECTION)}}],[{key:"nearestEndpoint",value:function(t,e,i,n){var r=t,o=bt.pointToSegment(t,i,n),s=bt.pointToSegment(e,i,n);return sn&&(i=e.x,n=t.x),this._p.x>=i&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var r=ht.index(t,e,this._p);if(r===ht.COLLINEAR)return this._isPointOnSegment=!0,null;e.ythis.location.length){var e=new Array(3).fill(null);e[Q.ON]=this.location[Q.ON],e[Q.LEFT]=$.NONE,e[Q.RIGHT]=$.NONE,this.location=e}for(var i=0;i1&&t.append($.toLocationSymbol(this.location[Q.LEFT])),t.append($.toLocationSymbol(this.location[Q.ON])),this.location.length>1&&t.append($.toLocationSymbol(this.location[Q.RIGHT])),t.toString()}},{key:"setLocations",value:function(t,e,i){this.location[Q.ON]=t,this.location[Q.LEFT]=e,this.location[Q.RIGHT]=i}},{key:"get",value:function(t){return t1}},{key:"isAnyNull",value:function(){for(var t=0;tthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2}},{key:"addPoints",value:function(t,e,i){var n=t.getCoordinates();if(e){var r=1;i&&(r=0);for(var o=r;o=0;a--)this._pts.add(n[a])}}},{key:"isHole",value:function(){return this._isHole}},{key:"setInResult",value:function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)}},{key:"containsPoint",value:function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!ze.isInRing(t,e.getCoordinates()))return!1;for(var i=this._holes.iterator();i.hasNext();)if(i.next().containsPoint(t))return!1;return!0}},{key:"addHole",value:function(t){this._holes.add(t)}},{key:"isShell",value:function(){return null===this._shell}},{key:"getLabel",value:function(){return this._label}},{key:"getEdges",value:function(){return this._edges}},{key:"getMaxNodeDegree",value:function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree}},{key:"getShell",value:function(){return this._shell}},{key:"mergeLabel",value:function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[1],i=arguments[0].getLocation(e,Q.RIGHT);if(i===$.NONE)return null;if(this._label.getLocation(e)===$.NONE)return this._label.setLocation(e,i),null}}},{key:"setShell",value:function(t){this._shell=t,null!==t&&t.addHole(this)}},{key:"toPolygon",value:function(t){for(var e=new Array(this._holes.size()).fill(null),i=0;i=2,"found partial label"),this.computeIM(t)}},{key:"isInResult",value:function(){return this._isInResult}},{key:"isVisited",value:function(){return this._isVisited}}],[{key:"constructor_",value:function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._label=t}}}]),e}(),Ue=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"isIncidentEdgeInResult",value:function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();)if(t.next().getEdge().isInResult())return!0;return!1}},{key:"isIsolated",value:function(){return 1===this._label.getGeometryCount()}},{key:"getCoordinate",value:function(){return this._coord}},{key:"print",value:function(t){t.println("node "+this._coord+" lbl: "+this._label)}},{key:"computeIM",value:function(t){}},{key:"computeMergedLocation",value:function(t,e){var i=$.NONE;if(i=this._label.getLocation(e),!t.isNull(e)){var n=t.getLocation(e);i!==$.BOUNDARY&&(i=n)}return i}},{key:"setLabel",value:function(){if(2!==arguments.length||!Number.isInteger(arguments[1])||!Number.isInteger(arguments[0]))return p(r(s.prototype),"setLabel",this).apply(this,arguments);var t=arguments[0],e=arguments[1];null===this._label?this._label=new Re(t,e):this._label.setLocation(t,e)}},{key:"getEdges",value:function(){return this._edges}},{key:"mergeLabel",value:function(){if(arguments[0]instanceof s){var t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof Re)for(var e=arguments[0],i=0;i<2;i++){var n=this.computeMergedLocation(e,i);this._label.getLocation(i)===$.NONE&&this._label.setLocation(i,n)}}},{key:"add",value:function(t){this._edges.insert(t),t.setNode(this)}},{key:"setLabelBoundary",value:function(t){if(null===this._label)return null;var e=$.NONE;null!==this._label&&(e=this._label.getLocation(t));var i=null;switch(e){case $.BOUNDARY:i=$.INTERIOR;break;case $.INTERIOR:default:i=$.BOUNDARY}this._label.setLocation(t,i)}}],[{key:"constructor_",value:function(){this._coord=null,this._edges=null;var t=arguments[0],e=arguments[1];this._coord=t,this._edges=e,this._label=new Re(0,$.NONE)}}]),s}(Fe),je=function(e){n(r,e);var i=h(r);function r(){return t(this,r),i.apply(this,arguments)}return r}(ee);function Ve(t){return null==t?0:t.color}function Ge(t){return null==t?null:t.parent}function qe(t,e){null!==t&&(t.color=e)}function Ze(t){return null==t?null:t.left}function $e(t){return null==t?null:t.right}var Xe=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),(e=r.call(this)).root_=null,e.size_=0,e}return i(o,[{key:"get",value:function(t){for(var e=this.root_;null!==e;){var i=t.compareTo(e.key);if(i<0)e=e.left;else{if(!(i>0))return e.value;e=e.right}}return null}},{key:"put",value:function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var i,n,r=this.root_;do{if(i=r,(n=t.compareTo(r.key))<0)r=r.left;else{if(!(n>0)){var o=r.value;return r.value=e,o}r=r.right}}while(null!==r);var s={key:t,left:null,right:null,value:e,parent:i,color:0,getValue:function(){return this.value},getKey:function(){return this.key}};return n<0?i.left=s:i.right=s,this.fixAfterInsertion(s),this.size_++,null}},{key:"fixAfterInsertion",value:function(t){var e;for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)Ge(t)===Ze(Ge(Ge(t)))?1===Ve(e=$e(Ge(Ge(t))))?(qe(Ge(t),0),qe(e,0),qe(Ge(Ge(t)),1),t=Ge(Ge(t))):(t===$e(Ge(t))&&(t=Ge(t),this.rotateLeft(t)),qe(Ge(t),0),qe(Ge(Ge(t)),1),this.rotateRight(Ge(Ge(t)))):1===Ve(e=Ze(Ge(Ge(t))))?(qe(Ge(t),0),qe(e,0),qe(Ge(Ge(t)),1),t=Ge(Ge(t))):(t===Ze(Ge(t))&&(t=Ge(t),this.rotateRight(t)),qe(Ge(t),0),qe(Ge(Ge(t)),1),this.rotateLeft(Ge(Ge(t))));this.root_.color=0}},{key:"values",value:function(){var t=new mt,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=o.successor(e));)t.add(e.value);return t}},{key:"entrySet",value:function(){var t=new K,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=o.successor(e));)t.add(e);return t}},{key:"rotateLeft",value:function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}}},{key:"rotateRight",value:function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}}},{key:"getFirstEntry",value:function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t}},{key:"size",value:function(){return this.size_}},{key:"containsKey",value:function(t){for(var e=this.root_;null!==e;){var i=t.compareTo(e.key);if(i<0)e=e.left;else{if(!(i>0))return!0;e=e.right}}return!1}}],[{key:"successor",value:function(t){var e;if(null===t)return null;if(null!==t.right){for(e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var i=t;null!==e&&i===e.right;)i=e,e=e.parent;return e}}]),o}(je),We=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"find",value:function(t){return this.nodeMap.get(t)}},{key:"addNode",value:function(){if(arguments[0]instanceof V){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof Ue){var i=arguments[0],n=this.nodeMap.get(i.getCoordinate());return null===n?(this.nodeMap.put(i.getCoordinate(),i),i):(n.mergeLabel(i),n)}}},{key:"print",value:function(t){for(var e=this.iterator();e.hasNext();)e.next().print(t)}},{key:"iterator",value:function(){return this.nodeMap.values().iterator()}},{key:"values",value:function(){return this.nodeMap.values()}},{key:"getBoundaryNodes",value:function(t){for(var e=new mt,i=this.iterator();i.hasNext();){var n=i.next();n.getLabel().getLocation(t)===$.BOUNDARY&&e.add(n)}return e}},{key:"add",value:function(t){var e=t.getCoordinate();this.addNode(e).add(t)}}],[{key:"constructor_",value:function(){this.nodeMap=new Xe,this.nodeFact=null;var t=arguments[0];this.nodeFact=t}}]),e}(),He=function(){function e(){t(this,e)}return i(e,null,[{key:"isNorthern",value:function(t){return t===e.NE||t===e.NW}},{key:"isOpposite",value:function(t,e){return t!==e&&2==(t-e+4)%4}},{key:"commonHalfPlane",value:function(t,e){if(t===e)return t;if(2==(t-e+4)%4)return-1;var i=te?t:e)?3:i}},{key:"isInHalfPlane",value:function(t,i){return i===e.SE?t===e.SE||t===e.SW:t===i||t===i+1}},{key:"quadrant",value:function(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var t=arguments[0],i=arguments[1];if(0===t&&0===i)throw new v("Cannot compute the quadrant for point ( "+t+", "+i+" )");return t>=0?i>=0?e.NE:e.SE:i>=0?e.NW:e.SW}if(arguments[0]instanceof V&&arguments[1]instanceof V){var n=arguments[0],r=arguments[1];if(r.x===n.x&&r.y===n.y)throw new v("Cannot compute the quadrant for two identical points "+n);return r.x>=n.x?r.y>=n.y?e.NE:e.SE:r.y>=n.y?e.NW:e.SW}}}]),e}();He.NE=0,He.NW=1,He.SW=2,He.SE=3;var Ye=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compareDirection",value:function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant2){o.linkDirectedEdgesForMinimalEdgeRings();var s=o.buildMinimalRings(),a=this.findShell(s);null!==a?(this.placePolygonHoles(a,s),e.add(a)):i.addAll(s)}else n.add(o)}return n}},{key:"buildMaximalEdgeRings",value:function(t){for(var e=new mt,i=t.iterator();i.hasNext();){var n=i.next();if(n.isInResult()&&n.getLabel().isArea()&&null===n.getEdgeRing()){var r=new Ne(n,this._geometryFactory);e.add(r),r.setInResult()}}return e}},{key:"placePolygonHoles",value:function(t,e){for(var i=e.iterator();i.hasNext();){var n=i.next();n.isHole()&&n.setShell(t)}}},{key:"getPolygons",value:function(){return this.computePolygons(this._shellList)}},{key:"findShell",value:function(t){for(var e=0,i=null,n=t.iterator();n.hasNext();){var r=n.next();r.isHole()||(i=r,e++)}return N.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),i}},{key:"add",value:function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],i=arguments[1];Qe.linkResultDirectedEdges(i);var n=this.buildMaximalEdgeRings(e),r=new mt,o=this.buildMinimalEdgeRings(n,this._shellList,r);this.sortShellsAndHoles(o,this._shellList,r),this.placeFreeHoles(this._shellList,r)}}}],[{key:"constructor_",value:function(){this._geometryFactory=null,this._shellList=new mt;var t=arguments[0];this._geometryFactory=t}},{key:"findEdgeRingContaining",value:function(t,e){for(var i=t.getLinearRing(),n=i.getEnvelopeInternal(),r=i.getCoordinateN(0),o=null,s=null,a=e.iterator();a.hasNext();){var l=a.next(),c=l.getLinearRing(),u=c.getEnvelopeInternal();if(!u.equals(n)&&u.contains(n)){r=Wt.ptNotInList(i.getCoordinates(),c.getCoordinates());var h=!1;ze.isInRing(r,c.getCoordinates())&&(h=!0),h&&(null===o||s.contains(u))&&(s=(o=l).getLinearRing().getEnvelopeInternal())}}return o}}]),e}(),ei=function(){function e(){t(this,e)}return i(e,[{key:"getBounds",value:function(){}}]),e}(),ii=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getItem",value:function(){return this._item}},{key:"getBounds",value:function(){return this._bounds}},{key:"interfaces_",get:function(){return[ei,A]}}],[{key:"constructor_",value:function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e}}]),e}(),ni=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"poll",value:function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t}},{key:"size",value:function(){return this._size}},{key:"reorder",value:function(t){for(var e=null,i=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(i)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,i)}},{key:"clear",value:function(){this._size=0,this._items.clear()}},{key:"peek",value:function(){return this.isEmpty()?null:this._items.get(1)}},{key:"isEmpty",value:function(){return 0===this._size}},{key:"add",value:function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)}}],[{key:"constructor_",value:function(){this._size=null,this._items=null,this._size=0,this._items=new mt,this._items.add(null)}}]),e}(),ri=function(){function e(){t(this,e)}return i(e,[{key:"insert",value:function(t,e){}},{key:"remove",value:function(t,e){}},{key:"query",value:function(){}}]),e}(),oi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getLevel",value:function(){return this._level}},{key:"size",value:function(){return this._childBoundables.size()}},{key:"getChildBoundables",value:function(){return this._childBoundables}},{key:"addChildBoundable",value:function(t){N.isTrue(null===this._bounds),this._childBoundables.add(t)}},{key:"isEmpty",value:function(){return this._childBoundables.isEmpty()}},{key:"getBounds",value:function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds}},{key:"interfaces_",get:function(){return[ei,A]}}],[{key:"constructor_",value:function(){if(this._childBoundables=new mt,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}}}]),e}(),si={reverseOrder:function(){return{compare:function(t,e){return e.compareTo(t)}}},min:function(t){return si.sort(t),t.get(0)},sort:function(t,e){var i=t.toArray();e?Dt.sort(i,e):Dt.sort(i);for(var n=t.iterator(),r=0,o=i.length;re.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,!1,t,i),null):(this.expand(this._boundable2,this._boundable1,!0,t,i),null);if(n)return this.expand(this._boundable1,this._boundable2,!1,t,i),null;if(r)return this.expand(this._boundable2,this._boundable1,!0,t,i),null;throw new v("neither boundable is composite")}},{key:"isLeaves",value:function(){return!(e.isComposite(this._boundable1)||e.isComposite(this._boundable2))}},{key:"compareTo",value:function(t){var e=t;return this._distancee._distance?1:0}},{key:"expand",value:function(t,i,n,r,o){for(var s=t.getChildBoundables().iterator();s.hasNext();){var a=s.next(),l=null;(l=n?new e(i,a,this._itemDistance):new e(a,i,this._itemDistance)).getDistance()-2),n.getLevel()===i)return r.add(n),null;for(var o=n.getChildBoundables().iterator();o.hasNext();){var s=o.next();s instanceof oi?this.boundablesAtLevel(i,s,r):(N.isTrue(s instanceof ii),-1===i&&r.add(s))}return null}}},{key:"query",value:function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new mt;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.queryInternal(t,this._root,e),e}if(2===arguments.length){var i=arguments[0],n=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),i)&&this.queryInternal(i,this._root,n)}}},{key:"build",value:function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0}},{key:"getRoot",value:function(){return this.build(),this._root}},{key:"remove",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.remove(t,this._root,e)}if(3===arguments.length){var i=arguments[0],n=arguments[1],r=arguments[2],o=this.removeItem(n,r);if(o)return!0;for(var s=null,a=n.getChildBoundables().iterator();a.hasNext();){var l=a.next();if(this.getIntersectsOp().intersects(l.getBounds(),i)&&l instanceof oi&&(o=this.remove(i,l,r))){s=l;break}}return null!==s&&s.getChildBoundables().isEmpty()&&n.getChildBoundables().remove(s),o}}},{key:"createHigherLevels",value:function(t,e){N.isTrue(!t.isEmpty());var i=this.createParentBoundables(t,e+1);return 1===i.size()?i.get(0):this.createHigherLevels(i,e+1)}},{key:"depth",value:function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var i=e.next();if(i instanceof oi){var n=this.depth(i);n>t&&(t=n)}}return t+1}}},{key:"createParentBoundables",value:function(t,e){N.isTrue(!t.isEmpty());var i=new mt;i.add(this.createNode(e));var n=new mt(t);si.sort(n,this.getComparator());for(var r=n.iterator();r.hasNext();){var o=r.next();this.lastNode(i).getChildBoundables().size()===this.getNodeCapacity()&&i.add(this.createNode(e)),this.lastNode(i).addChildBoundable(o)}return i}},{key:"isEmpty",value:function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()}},{key:"interfaces_",get:function(){return[A]}}],[{key:"constructor_",value:function(){if(this._root=null,this._built=!1,this._itemBoundables=new mt,this._nodeCapacity=null,0===arguments.length)e.constructor_.call(this,e.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];N.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}}},{key:"compareDoubles",value:function(t,e){return t>e?1:t0);for(var i=new mt,n=0;n=0;){var l=o.poll(),c=l.getDistance();if(c>=r)break;l.isLeaves()?a.size()c&&(a.poll(),a.add(l)),r=a.peek().getDistance()):l.expandToQueue(o,r)}return s.getItems(a)}}},{key:"createNode",value:function(t){return new di(t)}},{key:"size",value:function(){return 0===arguments.length?p(r(s.prototype),"size",this).call(this):p(r(s.prototype),"size",this).apply(this,arguments)}},{key:"insert",value:function(){if(!(2===arguments.length&&arguments[1]instanceof Object&&arguments[0]instanceof q))return p(r(s.prototype),"insert",this).apply(this,arguments);var t=arguments[0],e=arguments[1];if(t.isNull())return null;p(r(s.prototype),"insert",this).call(this,t,e)}},{key:"getIntersectsOp",value:function(){return s.intersectsOp}},{key:"verticalSlices",value:function(t,e){for(var i=Math.trunc(Math.ceil(t.size()/e)),n=new Array(e).fill(null),r=t.iterator(),o=0;o0;){var s=o.poll(),a=s.getDistance();if(a>=n)break;s.isLeaves()?(n=a,r=s):s.expandToQueue(o,n)}return null===r?null:[r.getBoundable(0).getItem(),r.getBoundable(1).getItem()]}}else{if(2===arguments.length){var l=arguments[0],c=arguments[1];if(this.isEmpty()||l.isEmpty())return null;var u=new li(this.getRoot(),l.getRoot(),c);return this.nearestNeighbour(u)}if(3===arguments.length){var h=arguments[2],p=new ii(arguments[0],arguments[1]),d=new li(this.getRoot(),p,h);return this.nearestNeighbour(d)[0]}if(4===arguments.length){var f=arguments[2],m=arguments[3],g=new ii(arguments[0],arguments[1]),_=new li(this.getRoot(),g,f);return this.nearestNeighbourK(_,m)}}}},{key:"isWithinDistance",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],i=D.POSITIVE_INFINITY,n=new ni;for(n.add(t);!n.isEmpty();){var r=n.poll(),o=r.getDistance();if(o>e)return!1;if(r.maximumDistance()<=e)return!0;if(r.isLeaves()){if((i=o)<=e)return!0}else r.expandToQueue(n,i)}return!1}if(3===arguments.length){var s=arguments[0],a=arguments[1],l=arguments[2],c=new li(this.getRoot(),s.getRoot(),a);return this.isWithinDistance(c,l)}}},{key:"interfaces_",get:function(){return[ri,A]}}],[{key:"constructor_",value:function(){if(0===arguments.length)s.constructor_.call(this,s.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];ui.constructor_.call(this,t)}}},{key:"centreX",value:function(t){return s.avg(t.getMinX(),t.getMaxX())}},{key:"avg",value:function(t,e){return(t+e)/2}},{key:"getItems",value:function(t){for(var e=new Array(t.size()).fill(null),i=0;!t.isEmpty();){var n=t.poll();e[i]=n.getBoundable(0).getItem(),i++}return e}},{key:"centreY",value:function(t){return s.avg(t.getMinY(),t.getMaxY())}}]),s}(ui),di=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,[{key:"computeBounds",value:function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var i=e.next();null===t?t=new q(i.getBounds()):t.expandToInclude(i.getBounds())}return t}}],[{key:"constructor_",value:function(){var t=arguments[0];oi.constructor_.call(this,t)}}]),o}(oi);pi.STRtreeNode=di,pi.xComparator=new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[R]}},{key:"compare",value:function(t,e){return ui.compareDoubles(pi.centreX(t.getBounds()),pi.centreX(e.getBounds()))}}]),e}()),pi.yComparator=new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[R]}},{key:"compare",value:function(t,e){return ui.compareDoubles(pi.centreY(t.getBounds()),pi.centreY(e.getBounds()))}}]),e}()),pi.intersectsOp=new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[IntersectsOp]}},{key:"intersects",value:function(t,e){return t.intersects(e)}}]),e}()),pi.DEFAULT_NODE_CAPACITY=10;var fi=function(){function e(){t(this,e)}return i(e,null,[{key:"relativeSign",value:function(t,e){return te?1:0}},{key:"compare",value:function(t,i,n){if(i.equals2D(n))return 0;var r=e.relativeSign(i.x,n.x),o=e.relativeSign(i.y,n.y);switch(t){case 0:return e.compareValue(r,o);case 1:return e.compareValue(o,r);case 2:return e.compareValue(o,-r);case 3:return e.compareValue(-r,o);case 4:return e.compareValue(-r,-o);case 5:return e.compareValue(-o,-r);case 6:return e.compareValue(-o,r);case 7:return e.compareValue(r,-o)}return N.shouldNeverReachHere("invalid octant value"),0}},{key:"compareValue",value:function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0}}]),e}(),mi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getCoordinate",value:function(){return this.coord}},{key:"print",value:function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)}},{key:"compareTo",value:function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:this._isInterior?e._isInterior?fi.compare(this._segmentOctant,this.coord,e.coord):1:-1}},{key:"isEndPoint",value:function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t}},{key:"toString",value:function(){return this.segmentIndex+":"+this.coord.toString()}},{key:"isInterior",value:function(){return this._isInterior}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],i=arguments[2],n=arguments[3];this._segString=t,this.coord=new V(e),this.segmentIndex=i,this._segmentOctant=n,this._isInterior=!e.equals2D(t.getCoordinate(i))}}]),e}(),gi=function(){function e(){t(this,e)}return i(e,[{key:"hasNext",value:function(){}},{key:"next",value:function(){}},{key:"remove",value:function(){}}]),e}(),_i=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getSplitCoordinates",value:function(){var t=new Xt;this.addEndpoints();for(var e=this.iterator(),i=e.next();e.hasNext();){var n=e.next();this.addEdgeCoordinates(i,n,t),i=n}return t.toCoordinateArray()}},{key:"addCollapsedNodes",value:function(){var t=new mt;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var i=e.next().intValue();this.add(this._edge.getCoordinate(i),i)}}},{key:"createSplitEdgePts",value:function(t,e){var i=e.segmentIndex-t.segmentIndex+2;if(2===i)return[new V(t.coord),new V(e.coord)];var n=this._edge.getCoordinate(e.segmentIndex),r=e.isInterior()||!e.coord.equals2D(n);r||i--;var o=new Array(i).fill(null),s=0;o[s++]=new V(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this._edge.getCoordinate(a);return r&&(o[s]=new V(e.coord)),o}},{key:"print",value:function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}},{key:"findCollapsesFromExistingVertices",value:function(t){for(var e=0;e=0?i>=0?n>=r?0:1:n>=r?7:6:i>=0?n>=r?3:2:n>=r?4:5}if(arguments[0]instanceof V&&arguments[1]instanceof V){var o=arguments[0],s=arguments[1],a=s.x-o.x,l=s.y-o.y;if(0===a&&0===l)throw new v("Cannot compute the octant for two identical points "+o);return e.octant(a,l)}}}]),e}(),vi=function(){function e(){t(this,e)}return i(e,[{key:"getCoordinates",value:function(){}},{key:"size",value:function(){}},{key:"getCoordinate",value:function(t){}},{key:"isClosed",value:function(){}},{key:"setData",value:function(t){}},{key:"getData",value:function(){}}]),e}(),xi=function(){function e(){t(this,e)}return i(e,[{key:"addIntersection",value:function(t,e){}},{key:"interfaces_",get:function(){return[vi]}}]),e}(),bi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getCoordinates",value:function(){return this._pts}},{key:"size",value:function(){return this._pts.length}},{key:"getCoordinate",value:function(t){return this._pts[t]}},{key:"isClosed",value:function(){return this._pts[0].equals(this._pts[this._pts.length-1])}},{key:"getSegmentOctant",value:function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))}},{key:"setData",value:function(t){this._data=t}},{key:"safeOctant",value:function(t,e){return t.equals2D(e)?0:yi.octant(t,e)}},{key:"getData",value:function(){return this._data}},{key:"addIntersection",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var i=arguments[1],n=arguments[3],r=new V(arguments[0].getIntersection(n));this.addIntersection(r,i)}}},{key:"toString",value:function(){return Ie.toLineString(new Jt(this._pts))}},{key:"getNodeList",value:function(){return this._nodeList}},{key:"addIntersectionNode",value:function(t,e){var i=e,n=i+1;if(n=0&&n>=0||i<=0&&n<=0?Math.max(i,n):0}if(arguments[0]instanceof V){var r=arguments[0];return ht.index(this.p0,this.p1,r)}}},{key:"toGeometry",value:function(t){return t.createLineString([this.p0,this.p1])}},{key:"isVertical",value:function(){return this.p0.x===this.p1.x}},{key:"equals",value:function(t){if(!(t instanceof e))return!1;var i=t;return this.p0.equals(i.p0)&&this.p1.equals(i.p1)}},{key:"intersection",value:function(t){var e=new Pe;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}},{key:"project",value:function(){if(arguments[0]instanceof V){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new V(t);var i=this.projectionFactor(t),n=new V;return n.x=this.p0.x+i*(this.p1.x-this.p0.x),n.y=this.p0.y+i*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof e){var r=arguments[0],o=this.projectionFactor(r.p0),s=this.projectionFactor(r.p1);if(o>=1&&s>=1)return null;if(o<=0&&s<=0)return null;var a=this.project(r.p0);o<0&&(a=this.p0),o>1&&(a=this.p1);var l=this.project(r.p1);return s<0&&(l=this.p0),s>1&&(l=this.p1),new e(a,l)}}},{key:"normalize",value:function(){this.p1.compareTo(this.p0)<0&&this.reverse()}},{key:"angle",value:function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}},{key:"getCoordinate",value:function(t){return 0===t?this.p0:this.p1}},{key:"distancePerpendicular",value:function(t){return bt.pointToLinePerpendicular(t,this.p0,this.p1)}},{key:"minY",value:function(){return Math.min(this.p0.y,this.p1.y)}},{key:"midPoint",value:function(){return e.midPoint(this.p0,this.p1)}},{key:"projectionFactor",value:function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,i=this.p1.y-this.p0.y,n=e*e+i*i;return n<=0?D.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*i)/n}},{key:"closestPoints",value:function(t){var e=this.intersection(t);if(null!==e)return[e,e];var i=new Array(2).fill(null),n=D.MAX_VALUE,r=null,o=this.closestPoint(t.p0);n=o.distance(t.p0),i[0]=o,i[1]=t.p0;var s=this.closestPoint(t.p1);(r=s.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||D.isNaN(e))&&(e=1),e}},{key:"toString",value:function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}},{key:"isHorizontal",value:function(){return this.p0.y===this.p1.y}},{key:"reflect",value:function(t){var e=this.p1.getY()-this.p0.getY(),i=this.p0.getX()-this.p1.getX(),n=this.p0.getY()*(this.p1.getX()-this.p0.getX())-this.p0.getX()*(this.p1.getY()-this.p0.getY()),r=e*e+i*i,o=e*e-i*i,s=t.getX(),a=t.getY();return new V((-o*s-2*e*i*a-2*e*n)/r,(o*a-2*e*i*s-2*i*n)/r)}},{key:"distance",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return bt.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof V){var i=arguments[0];return bt.pointToSegment(i,this.p0,this.p1)}}},{key:"pointAlong",value:function(t){var e=new V;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}},{key:"hashCode",value:function(){var t=D.doubleToLongBits(this.p0.x);t^=31*D.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),i=D.doubleToLongBits(this.p1.x);return i^=31*D.doubleToLongBits(this.p1.y),e^Math.trunc(i)^Math.trunc(i>>32)}},{key:"interfaces_",get:function(){return[b,A]}}],[{key:"constructor_",value:function(){if(this.p0=null,this.p1=null,0===arguments.length)e.constructor_.call(this,new V,new V);else if(1===arguments.length){var t=arguments[0];e.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){var i=arguments[0],n=arguments[1];this.p0=i,this.p1=n}else if(4===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];e.constructor_.call(this,new V(r,o),new V(s,a))}}},{key:"midPoint",value:function(t,e){return new V((t.x+e.x)/2,(t.y+e.y)/2)}}]),e}(),Ai=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"overlap",value:function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[1],e=arguments[2],i=arguments[3];arguments[0].getLineSegment(t,this._overlapSeg1),e.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}}],[{key:"constructor_",value:function(){this._overlapSeg1=new wi,this._overlapSeg2=new wi}}]),e}(),Ei=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getLineSegment",value:function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]}},{key:"computeSelect",value:function(t,e,i,n){var r=this._pts[e],o=this._pts[i];if(i-e==1)return n.select(this,e),null;if(!t.intersects(r,o))return null;var s=Math.trunc((e+i)/2);e=t.length-1)return t.length-1;for(var n=He.quadrant(t[i],t[i+1]),r=e+1;ri.getId()&&(i.computeOverlaps(r,t),this._nOverlaps++),this._segInt.isDone())return null}}}],[{key:"constructor_",value:function(){if(this._monoChains=new mt,this._index=new pi,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0,0===arguments.length);else if(1===arguments.length){var t=arguments[0];ki.constructor_.call(this,t)}}}]),o}(ki),Ii=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"overlap",value:function(){if(4!==arguments.length)return p(r(s.prototype),"overlap",this).apply(this,arguments);var t=arguments[1],e=arguments[2],i=arguments[3],n=arguments[0].getContext(),o=e.getContext();this._si.processIntersections(n,t,o,i)}}],[{key:"constructor_",value:function(){this._si=null;var t=arguments[0];this._si=t}}]),s}(Ai);Si.SegmentOverlapAction=Ii;var Mi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"isDeletable",value:function(t,e,i,n){var r=this._inputLine[t],o=this._inputLine[e],s=this._inputLine[i];return!!this.isConcave(r,o,s)&&!!this.isShallow(r,o,s,n)&&this.isShallowSampled(r,o,t,i,n)}},{key:"deleteShallowConcavities",value:function(){for(var t=1,i=this.findNextNonDeletedIndex(t),n=this.findNextNonDeletedIndex(i),r=!1;n=0;n--)this.addPt(t[n])}},{key:"isRedundant",value:function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)Math.PI;)t-=e.PI_TIMES_2;for(;t<=-Math.PI;)t+=e.PI_TIMES_2;return t}},{key:"angle",value:function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],i=arguments[1],n=i.x-e.x,r=i.y-e.y;return Math.atan2(r,n)}}},{key:"isAcute",value:function(t,e,i){var n=t.x-e.x,r=t.y-e.y;return n*(i.x-e.x)+r*(i.y-e.y)>0}},{key:"isObtuse",value:function(t,e,i){var n=t.x-e.x,r=t.y-e.y;return n*(i.x-e.x)+r*(i.y-e.y)<0}},{key:"interiorAngle",value:function(t,i,n){var r=e.angle(i,t),o=e.angle(i,n);return Math.abs(o-r)}},{key:"normalizePositive",value:function(t){if(t<0){for(;t<0;)t+=e.PI_TIMES_2;t>=e.PI_TIMES_2&&(t=0)}else{for(;t>=e.PI_TIMES_2;)t-=e.PI_TIMES_2;t<0&&(t=0)}return t}},{key:"angleBetween",value:function(t,i,n){var r=e.angle(i,t),o=e.angle(i,n);return e.diff(r,o)}},{key:"diff",value:function(t,e){var i=null;return(i=tMath.PI&&(i=2*Math.PI-i),i}},{key:"toRadians",value:function(t){return t*Math.PI/180}},{key:"getTurn",value:function(t,i){var n=Math.sin(i-t);return n>0?e.COUNTERCLOCKWISE:n<0?e.CLOCKWISE:e.NONE}},{key:"angleBetweenOriented",value:function(t,i,n){var r=e.angle(i,t),o=e.angle(i,n)-r;return o<=-Math.PI?o+e.PI_TIMES_2:o>Math.PI?o-e.PI_TIMES_2:o}}]),e}();Li.PI_TIMES_2=2*Math.PI,Li.PI_OVER_2=Math.PI/2,Li.PI_OVER_4=Math.PI/4,Li.COUNTERCLOCKWISE=ht.COUNTERCLOCKWISE,Li.CLOCKWISE=ht.CLOCKWISE,Li.NONE=ht.COLLINEAR;var zi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"addNextSegment",value:function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var i=ht.index(this._s0,this._s1,this._s2),n=i===ht.CLOCKWISE&&this._side===Q.LEFT||i===ht.COUNTERCLOCKWISE&&this._side===Q.RIGHT;0===i?this.addCollinear(e):n?this.addOutsideTurn(i,e):this.addInsideTurn(i,e)}},{key:"addLineEndCap",value:function(t,e){var i=new wi(t,e),n=new wi;this.computeOffsetSegment(i,Q.LEFT,this._distance,n);var r=new wi;this.computeOffsetSegment(i,Q.RIGHT,this._distance,r);var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o);switch(this._bufParams.getEndCapStyle()){case _.CAP_ROUND:this._segList.addPt(n.p1),this.addDirectedFillet(e,a+Math.PI/2,a-Math.PI/2,ht.CLOCKWISE,this._distance),this._segList.addPt(r.p1);break;case _.CAP_FLAT:this._segList.addPt(n.p1),this._segList.addPt(r.p1);break;case _.CAP_SQUARE:var l=new V;l.x=Math.abs(this._distance)*Math.cos(a),l.y=Math.abs(this._distance)*Math.sin(a);var c=new V(n.p1.x+l.x,n.p1.y+l.y),u=new V(r.p1.x+l.x,r.p1.y+l.y);this._segList.addPt(c),this._segList.addPt(u)}}},{key:"getCoordinates",value:function(){return this._segList.getCoordinates()}},{key:"addMitreJoin",value:function(t,e,i,n){var r=yt.intersection(e.p0,e.p1,i.p0,i.p1);if(null!==r&&(n<=0?1:r.distance(t)/Math.abs(n))<=this._bufParams.getMitreLimit())return this._segList.addPt(r),null;this.addLimitedMitreJoin(e,i,n,this._bufParams.getMitreLimit())}},{key:"addOutsideTurn",value:function(t,i){if(this._offset0.p1.distance(this._offset1.p0)=u&&(a-=2*Math.PI),this._segList.addPt(e),this.addDirectedFillet(t,a,u,n,r),this._segList.addPt(i)}},{key:"addLastSegment",value:function(){this._segList.addPt(this._offset1.p1)}},{key:"initSideSegments",value:function(t,e,i){this._s1=t,this._s2=e,this._side=i,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,i,this._distance,this._offset1)}},{key:"addLimitedMitreJoin",value:function(t,e,i,n){var r=this._seg0.p1,o=Li.angle(r,this._seg0.p0),s=Li.angleBetweenOriented(this._seg0.p0,r,this._seg1.p1)/2,a=Li.normalize(o+s),l=Li.normalize(a+Math.PI),c=n*i,u=i-c*Math.abs(Math.sin(s)),h=r.x+c*Math.cos(l),p=r.y+c*Math.sin(l),d=new V(h,p),f=new wi(r,d),m=f.pointAlongOffset(1,u),g=f.pointAlongOffset(1,-u);this._side===Q.LEFT?(this._segList.addPt(m),this._segList.addPt(g)):(this._segList.addPt(g),this._segList.addPt(m))}},{key:"addDirectedFillet",value:function(t,e,i,n,r){var o=n===ht.CLOCKWISE?-1:1,s=Math.abs(e-i),a=Math.trunc(s/this._filletAngleQuantum+.5);if(a<1)return null;for(var l=s/a,c=new V,u=0;u0){var n=new V((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var r=new V((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}}},{key:"createCircle",value:function(t){var e=new V(t.x+this._distance,t.y);this._segList.addPt(e),this.addDirectedFillet(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()}},{key:"addBevelJoin",value:function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)}},{key:"init",value:function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Pi,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*e.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)}},{key:"addCollinear",value:function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===_.JOIN_BEVEL||this._bufParams.getJoinStyle()===_.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addCornerFillet(this._s1,this._offset0.p1,this._offset1.p0,ht.CLOCKWISE,this._distance))}},{key:"closeRing",value:function(){this._segList.closeRing()}},{key:"hasNarrowConcaveAngle",value:function(){return this._hasNarrowConcaveAngle}}],[{key:"constructor_",value:function(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new wi,this._seg1=new wi,this._offset0=new wi,this._offset1=new wi,this._side=0,this._hasNarrowConcaveAngle=!1;var t=arguments[0],i=arguments[1],n=arguments[2];this._precisionModel=t,this._bufParams=i,this._li=new Pe,this._filletAngleQuantum=Math.PI/2/i.getQuadrantSegments(),i.getQuadrantSegments()>=8&&i.getJoinStyle()===_.JOIN_ROUND&&(this._closingSegLengthFactor=e.MAX_CLOSING_SEG_LEN_FACTOR),this.init(n)}}]),e}();zi.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,zi.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,zi.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,zi.MAX_CLOSING_SEG_LEN_FACTOR=80;var Di=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getOffsetCurve",value:function(t,e){if(this._distance=e,0===e)return null;var i=e<0,n=Math.abs(e),r=this.getSegGen(n);t.length<=1?this.computePointCurve(t[0],r):this.computeOffsetCurve(t,i,r);var o=r.getCoordinates();return i&&Wt.reverse(o),o}},{key:"computeSingleSidedBufferCurve",value:function(t,e,i){var n=this.simplifyTolerance(this._distance);if(e){i.addSegments(t,!0);var r=Mi.simplify(t,-n),o=r.length-1;i.initSideSegments(r[o],r[o-1],Q.LEFT),i.addFirstSegment();for(var s=o-2;s>=0;s--)i.addNextSegment(r[s],!0)}else{i.addSegments(t,!1);var a=Mi.simplify(t,n),l=a.length-1;i.initSideSegments(a[0],a[1],Q.LEFT),i.addFirstSegment();for(var c=2;c<=l;c++)i.addNextSegment(a[c],!0)}i.addLastSegment(),i.closeRing()}},{key:"computeRingBufferCurve",value:function(t,e,i){var n=this.simplifyTolerance(this._distance);e===Q.RIGHT&&(n=-n);var r=Mi.simplify(t,n),o=r.length-1;i.initSideSegments(r[o-1],r[0],e);for(var s=1;s<=o;s++){var a=1!==s;i.addNextSegment(r[s],a)}i.closeRing()}},{key:"computeLineBufferCurve",value:function(t,e){var i=this.simplifyTolerance(this._distance),n=Mi.simplify(t,i),r=n.length-1;e.initSideSegments(n[0],n[1],Q.LEFT);for(var o=2;o<=r;o++)e.addNextSegment(n[o],!0);e.addLastSegment(),e.addLineEndCap(n[r-1],n[r]);var s=Mi.simplify(t,-i),a=s.length-1;e.initSideSegments(s[a],s[a-1],Q.LEFT);for(var l=a-2;l>=0;l--)e.addNextSegment(s[l],!0);e.addLastSegment(),e.addLineEndCap(s[1],s[0]),e.closeRing()}},{key:"computePointCurve",value:function(t,e){switch(this._bufParams.getEndCapStyle()){case _.CAP_ROUND:e.createCircle(t);break;case _.CAP_SQUARE:e.createSquare(t)}}},{key:"getLineCurve",value:function(t,e){if(this._distance=e,this.isLineOffsetEmpty(e))return null;var i=Math.abs(e),n=this.getSegGen(i);if(t.length<=1)this.computePointCurve(t[0],n);else if(this._bufParams.isSingleSided()){var r=e<0;this.computeSingleSidedBufferCurve(t,r,n)}else this.computeLineBufferCurve(t,n);return n.getCoordinates()}},{key:"getBufferParameters",value:function(){return this._bufParams}},{key:"simplifyTolerance",value:function(t){return t*this._bufParams.getSimplifyFactor()}},{key:"getRingCurve",value:function(t,i,n){if(this._distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return e.copyCoordinates(t);var r=this.getSegGen(n);return this.computeRingBufferCurve(t,i,r),r.getCoordinates()}},{key:"computeOffsetCurve",value:function(t,e,i){var n=this.simplifyTolerance(this._distance);if(e){var r=Mi.simplify(t,-n),o=r.length-1;i.initSideSegments(r[o],r[o-1],Q.LEFT),i.addFirstSegment();for(var s=o-2;s>=0;s--)i.addNextSegment(r[s],!0)}else{var a=Mi.simplify(t,n),l=a.length-1;i.initSideSegments(a[0],a[1],Q.LEFT),i.addFirstSegment();for(var c=2;c<=l;c++)i.addNextSegment(a[c],!0)}i.addLastSegment()}},{key:"isLineOffsetEmpty",value:function(t){return 0===t||t<0&&!this._bufParams.isSingleSided()}},{key:"getSegGen",value:function(t){return new zi(this._precisionModel,this._bufParams,t)}}],[{key:"constructor_",value:function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e}},{key:"copyCoordinates",value:function(t){for(var e=new Array(t.length).fill(null),i=0;ir.getMaxY()||this.findStabbedSegments(t,n.getDirectedEdges(),e)}return e}if(3===arguments.length)if(rt(arguments[2],it)&&arguments[0]instanceof V&&arguments[1]instanceof Ke){for(var o=arguments[0],s=arguments[1],a=arguments[2],l=s.getEdge().getCoordinates(),c=0;cthis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||ht.index(this._seg.p0,this._seg.p1,o)===ht.RIGHT)){var u=s.getDepth(Q.LEFT);this._seg.p0.equals(l[c])||(u=s.getDepth(Q.RIGHT));var h=new Oi(this._seg,u);a.add(h)}}else if(rt(arguments[2],it)&&arguments[0]instanceof V&&rt(arguments[1],it))for(var p=arguments[0],d=arguments[2],f=arguments[1].iterator();f.hasNext();){var m=f.next();m.isForward()&&this.findStabbedSegments(p,m,d)}}},{key:"getDepth",value:function(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:si.min(e)._leftDepth}}],[{key:"constructor_",value:function(){this._subgraphs=null,this._seg=new wi;var t=arguments[0];this._subgraphs=t}}]),e}(),Oi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compareTo",value:function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var i=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==i||0!=(i=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?i:this._upwardSeg.compareTo(e._upwardSeg)}},{key:"compareX",value:function(t,e){var i=t.p0.compareTo(e.p0);return 0!==i?i:t.p1.compareTo(e.p1)}},{key:"toString",value:function(){return this._upwardSeg.toString()}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new wi(t),this._leftDepth=e}}]),e}();Ri.DepthSegment=Oi;var Bi=function(e){n(o,e);var r=h(o);function o(){var e;return t(this,o),e=r.call(this),o.constructor_.apply(c(e),arguments),e}return i(o,null,[{key:"constructor_",value:function(){y.constructor_.call(this,"Projective point not representable on the Cartesian plane.")}}]),o}(y),Ni=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"getY",value:function(){var t=this.y/this.w;if(D.isNaN(t)||D.isInfinite(t))throw new Bi;return t}},{key:"getX",value:function(){var t=this.x/this.w;if(D.isNaN(t)||D.isInfinite(t))throw new Bi;return t}},{key:"getCoordinate",value:function(){var t=new V;return t.x=this.getX(),t.y=this.getY(),t}}],[{key:"constructor_",value:function(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){var t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var i=arguments[0],n=arguments[1];this.x=i,this.y=n,this.w=1}else if(arguments[0]instanceof e&&arguments[1]instanceof e){var r=arguments[0],o=arguments[1];this.x=r.y*o.w-o.y*r.w,this.y=o.x*r.w-r.x*o.w,this.w=r.x*o.y-o.x*r.y}else if(arguments[0]instanceof V&&arguments[1]instanceof V){var s=arguments[0],a=arguments[1];this.x=s.y-a.y,this.y=a.x-s.x,this.w=s.x*a.y-a.x*s.y}}else if(3===arguments.length){var l=arguments[0],c=arguments[1],u=arguments[2];this.x=l,this.y=c,this.w=u}else if(4===arguments.length){var h=arguments[0],p=arguments[1],d=arguments[2],f=arguments[3],m=h.y-p.y,g=p.x-h.x,_=h.x*p.y-p.x*h.y,y=d.y-f.y,v=f.x-d.x,x=d.x*f.y-f.x*d.y;this.x=g*x-v*_,this.y=y*_-m*x,this.w=m*v-y*g}}}]),e}(),Fi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"area",value:function(){return e.area(this.p0,this.p1,this.p2)}},{key:"signedArea",value:function(){return e.signedArea(this.p0,this.p1,this.p2)}},{key:"interpolateZ",value:function(t){if(null===t)throw new v("Supplied point is null.");return e.interpolateZ(t,this.p0,this.p1,this.p2)}},{key:"longestSideLength",value:function(){return e.longestSideLength(this.p0,this.p1,this.p2)}},{key:"isAcute",value:function(){return e.isAcute(this.p0,this.p1,this.p2)}},{key:"circumcentre",value:function(){return e.circumcentre(this.p0,this.p1,this.p2)}},{key:"area3D",value:function(){return e.area3D(this.p0,this.p1,this.p2)}},{key:"centroid",value:function(){return e.centroid(this.p0,this.p1,this.p2)}},{key:"inCentre",value:function(){return e.inCentre(this.p0,this.p1,this.p2)}}],[{key:"constructor_",value:function(){this.p0=null,this.p1=null,this.p2=null;var t=arguments[0],e=arguments[1],i=arguments[2];this.p0=t,this.p1=e,this.p2=i}},{key:"area",value:function(t,e,i){return Math.abs(((i.x-t.x)*(e.y-t.y)-(e.x-t.x)*(i.y-t.y))/2)}},{key:"signedArea",value:function(t,e,i){return((i.x-t.x)*(e.y-t.y)-(e.x-t.x)*(i.y-t.y))/2}},{key:"det",value:function(t,e,i,n){return t*n-e*i}},{key:"interpolateZ",value:function(t,e,i,n){var r=e.x,o=e.y,s=i.x-r,a=n.x-r,l=i.y-o,c=n.y-o,u=s*c-a*l,h=t.x-r,p=t.y-o,d=(c*h-a*p)/u,f=(-l*h+s*p)/u;return e.getZ()+d*(i.getZ()-e.getZ())+f*(n.getZ()-e.getZ())}},{key:"longestSideLength",value:function(t,e,i){var n=t.distance(e),r=e.distance(i),o=i.distance(t),s=n;return r>s&&(s=r),o>s&&(s=o),s}},{key:"circumcentreDD",value:function(t,e,i){var n=lt.valueOf(t.x).subtract(i.x),r=lt.valueOf(t.y).subtract(i.y),o=lt.valueOf(e.x).subtract(i.x),s=lt.valueOf(e.y).subtract(i.y),a=lt.determinant(n,r,o,s).multiply(2),l=n.sqr().add(r.sqr()),c=o.sqr().add(s.sqr()),u=lt.determinant(r,l,s,c),h=lt.determinant(n,l,o,c),p=lt.valueOf(i.x).subtract(u.divide(a)).doubleValue(),d=lt.valueOf(i.y).add(h.divide(a)).doubleValue();return new V(p,d)}},{key:"isAcute",value:function(t,e,i){return!!Li.isAcute(t,e,i)&&!!Li.isAcute(e,i,t)&&!!Li.isAcute(i,t,e)}},{key:"circumcentre",value:function(t,i,n){var r=n.x,o=n.y,s=t.x-r,a=t.y-o,l=i.x-r,c=i.y-o,u=2*e.det(s,a,l,c),h=e.det(a,s*s+a*a,c,l*l+c*c),p=e.det(s,s*s+a*a,l,l*l+c*c);return new V(r-h/u,o+p/u)}},{key:"perpendicularBisector",value:function(t,e){var i=e.x-t.x,n=e.y-t.y,r=new Ni(t.x+i/2,t.y+n/2,1),o=new Ni(t.x-n+i/2,t.y+i+n/2,1);return new Ni(r,o)}},{key:"angleBisector",value:function(t,e,i){var n=e.distance(t),r=n/(n+e.distance(i)),o=i.x-t.x,s=i.y-t.y;return new V(t.x+r*o,t.y+r*s)}},{key:"area3D",value:function(t,e,i){var n=e.x-t.x,r=e.y-t.y,o=e.getZ()-t.getZ(),s=i.x-t.x,a=i.y-t.y,l=i.getZ()-t.getZ(),c=r*l-o*a,u=o*s-n*l,h=n*a-r*s,p=c*c+u*u+h*h;return Math.sqrt(p)/2}},{key:"centroid",value:function(t,e,i){var n=(t.x+e.x+i.x)/3,r=(t.y+e.y+i.y)/3;return new V(n,r)}},{key:"inCentre",value:function(t,e,i){var n=e.distance(i),r=t.distance(i),o=t.distance(e),s=n+r+o,a=(n*t.x+r*e.x+o*i.x)/s,l=(n*t.y+r*e.y+o*i.y)/s;return new V(a,l)}}]),e}(),Ui=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"addRingSide",value:function(t,e,i,n,r){if(0===e&&t.length=Vt.MINIMUM_VALID_SIZE&&ht.isCCW(t)&&(o=r,s=n,i=Q.opposite(i));var a=this._curveBuilder.getRingCurve(t,i,e);this.addCurve(a,o,s)}},{key:"addRingBothSides",value:function(t,e){this.addRingSide(t,e,Q.LEFT,$.EXTERIOR,$.INTERIOR),this.addRingSide(t,e,Q.RIGHT,$.INTERIOR,$.EXTERIOR)}},{key:"addPoint",value:function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),i=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(i,$.EXTERIOR,$.INTERIOR)}},{key:"addPolygon",value:function(t){var e=this._distance,i=Q.LEFT;this._distance<0&&(e=-this._distance,i=Q.RIGHT);var n=t.getExteriorRing(),r=Wt.removeRepeatedPoints(n.getCoordinates());if(this._distance<0&&this.isErodedCompletely(n,this._distance))return null;if(this._distance<=0&&r.length<3)return null;this.addRingSide(r,e,i,$.EXTERIOR,$.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(s,-this._distance)||this.addRingSide(a,e,Q.opposite(i),$.INTERIOR,$.EXTERIOR)}}},{key:"isTriangleErodedCompletely",value:function(t,e){var i=new Fi(t[0],t[1],t[2]),n=i.inCentre();return bt.pointToSegment(n,i.p0,i.p1)r}},{key:"addCollection",value:function(t){for(var e=0;e=this._max)throw new W;var t=this._parent.getGeometryN(this._index++);return t instanceof Ut?(this._subcollectionIterator=new e(t),this._subcollectionIterator.next()):t}},{key:"remove",value:function(){throw new H(this.getClass().getName())}},{key:"hasNext",value:function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}},{key:"interfaces_",get:function(){return[gi]}}],[{key:"constructor_",value:function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()}},{key:"isAtomic",value:function(t){return!(t instanceof Ut)}}]),e}(),Gi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"locate",value:function(t){return e.locate(t,this._geom)}},{key:"interfaces_",get:function(){return[ji]}}],[{key:"constructor_",value:function(){this._geom=null;var t=arguments[0];this._geom=t}},{key:"locatePointInPolygon",value:function(t,i){if(i.isEmpty())return $.EXTERIOR;var n=i.getExteriorRing(),r=e.locatePointInRing(t,n);if(r!==$.INTERIOR)return r;for(var o=0;o=0;i--){var n=this._edgeList.get(i),r=n.getSym();null===e&&(e=r),null!==t&&r.setNext(t),t=n}e.setNext(t)}},{key:"computeDepths",value:function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),i=t.getDepth(Q.LEFT),n=t.getDepth(Q.RIGHT),r=this.computeDepths(e+1,this._edgeList.size(),i);if(this.computeDepths(0,e,r)!==n)throw new dt("depth mismatch at "+t.getCoordinate())}else if(3===arguments.length){for(var o=arguments[1],s=arguments[2],a=arguments[0];a=0;r--){var o=this._resultAreaEdgeList.get(r),s=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),n){case this._SCANNING_FOR_INCOMING:if(s.getEdgeRing()!==t)continue;i=s,n=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;i.setNextMin(o),n=this._SCANNING_FOR_INCOMING}}n===this._LINKING_TO_OUTGOING&&(N.isTrue(null!==e,"found null for first outgoing dirEdge"),N.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),i.setNextMin(e))}},{key:"getOutgoingDegree",value:function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){for(var i=arguments[0],n=0,r=this.iterator();r.hasNext();)r.next().getEdgeRing()===i&&n++;return n}}},{key:"getLabel",value:function(){return this._label}},{key:"findCoveredLineEdges",value:function(){for(var t=$.NONE,e=this.iterator();e.hasNext();){var i=e.next(),n=i.getSym();if(!i.isLineEdge()){if(i.isInResult()){t=$.INTERIOR;break}if(n.isInResult()){t=$.EXTERIOR;break}}}if(t===$.NONE)return null;for(var r=t,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getSym();s.isLineEdge()?s.getEdge().setCovered(r===$.INTERIOR):(s.isInResult()&&(r=$.EXTERIOR),a.isInResult()&&(r=$.INTERIOR))}}},{key:"computeLabelling",value:function(t){p(r(s.prototype),"computeLabelling",this).call(this,t),this._label=new Re($.NONE);for(var e=this.iterator();e.hasNext();)for(var i=e.next().getEdge().getLabel(),n=0;n<2;n++){var o=i.getLocation(n);o!==$.INTERIOR&&o!==$.BOUNDARY||this._label.setLocation(n,$.INTERIOR)}}}],[{key:"constructor_",value:function(){this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}}]),s}(qi),$i=function(e){n(o,e);var r=h(o);function o(){return t(this,o),r.call(this)}return i(o,[{key:"createNode",value:function(t){return new Ue(t,new Zi)}}]),o}(Je),Xi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"compareTo",value:function(t){var i=t;return e.compareOriented(this._pts,this._orientation,i._pts,i._orientation)}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=e.orientation(t)}},{key:"orientation",value:function(t){return 1===Wt.increasingDirection(t)}},{key:"compareOriented",value:function(t,e,i,n){for(var r=e?1:-1,o=n?1:-1,s=e?t.length:-1,a=n?i.length:-1,l=e?0:t.length-1,c=n?0:i.length-1;;){var u=t[l].compareTo(i[c]);if(0!==u)return u;var h=(l+=r)===s,p=(c+=o)===a;if(h&&!p)return-1;if(!h&&p)return 1;if(h&&p)return 0}}}]),e}(),Wi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"print",value:function(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var n=i.getCoordinates(),r=0;r0&&t.print(","),t.print(n[r].x+" "+n[r].y);t.println(")")}t.print(") ")}},{key:"addAll",value:function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())}},{key:"findEdgeIndex",value:function(t){for(var e=0;et?1:this.diste?1:0}},{key:"interfaces_",get:function(){return[b]}}],[{key:"constructor_",value:function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],i=arguments[2];this.coord=new V(t),this.segmentIndex=e,this.dist=i}}]),e}(),Ji=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"print",value:function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}},{key:"iterator",value:function(){return this._nodeMap.values().iterator()}},{key:"addSplitEdges",value:function(t){this.addEndpoints();for(var e=this.iterator(),i=e.next();e.hasNext();){var n=e.next(),r=this.createSplitEdge(i,n);t.add(r),i=n}}},{key:"addEndpoints",value:function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)}},{key:"createSplitEdge",value:function(t,e){var i=e.segmentIndex-t.segmentIndex+2,n=this.edge.pts[e.segmentIndex],r=e.dist>0||!e.coord.equals2D(n);r||i--;var o=new Array(i).fill(null),s=0;o[s++]=new V(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this.edge.pts[a];return r&&(o[s]=e.coord),new on(o,new Re(this.edge._label))}},{key:"add",value:function(t,e,i){var n=new Ki(t,e,i),r=this._nodeMap.get(n);return null!==r?r:(this._nodeMap.put(n,n),n)}},{key:"isIntersection",value:function(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1}}],[{key:"constructor_",value:function(){this._nodeMap=new Xe,this.edge=null;var t=arguments[0];this.edge=t}}]),e}(),Qi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"isIntersects",value:function(){return!this.isDisjoint()}},{key:"isCovers",value:function(){return(e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])||e.isTrue(this._matrix[$.INTERIOR][$.BOUNDARY])||e.isTrue(this._matrix[$.BOUNDARY][$.INTERIOR])||e.isTrue(this._matrix[$.BOUNDARY][$.BOUNDARY]))&&this._matrix[$.EXTERIOR][$.INTERIOR]===kt.FALSE&&this._matrix[$.EXTERIOR][$.BOUNDARY]===kt.FALSE}},{key:"isCoveredBy",value:function(){return(e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])||e.isTrue(this._matrix[$.INTERIOR][$.BOUNDARY])||e.isTrue(this._matrix[$.BOUNDARY][$.INTERIOR])||e.isTrue(this._matrix[$.BOUNDARY][$.BOUNDARY]))&&this._matrix[$.INTERIOR][$.EXTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.EXTERIOR]===kt.FALSE}},{key:"set",value:function(){if(1===arguments.length)for(var t=arguments[0],e=0;e=0&&e>=0&&this.setAtLeast(t,e,i)}},{key:"isWithin",value:function(){return e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&this._matrix[$.INTERIOR][$.EXTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.EXTERIOR]===kt.FALSE}},{key:"isTouches",value:function(t,i){return t>i?this.isTouches(i,t):(t===kt.A&&i===kt.A||t===kt.L&&i===kt.L||t===kt.L&&i===kt.A||t===kt.P&&i===kt.A||t===kt.P&&i===kt.L)&&this._matrix[$.INTERIOR][$.INTERIOR]===kt.FALSE&&(e.isTrue(this._matrix[$.INTERIOR][$.BOUNDARY])||e.isTrue(this._matrix[$.BOUNDARY][$.INTERIOR])||e.isTrue(this._matrix[$.BOUNDARY][$.BOUNDARY]))}},{key:"isOverlaps",value:function(t,i){return t===kt.P&&i===kt.P||t===kt.A&&i===kt.A?e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&e.isTrue(this._matrix[$.INTERIOR][$.EXTERIOR])&&e.isTrue(this._matrix[$.EXTERIOR][$.INTERIOR]):t===kt.L&&i===kt.L&&1===this._matrix[$.INTERIOR][$.INTERIOR]&&e.isTrue(this._matrix[$.INTERIOR][$.EXTERIOR])&&e.isTrue(this._matrix[$.EXTERIOR][$.INTERIOR])}},{key:"isEquals",value:function(t,i){return t===i&&e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&this._matrix[$.INTERIOR][$.EXTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.EXTERIOR]===kt.FALSE&&this._matrix[$.EXTERIOR][$.INTERIOR]===kt.FALSE&&this._matrix[$.EXTERIOR][$.BOUNDARY]===kt.FALSE}},{key:"toString",value:function(){for(var t=new Kt("123456789"),e=0;e<3;e++)for(var i=0;i<3;i++)t.setCharAt(3*e+i,kt.toDimensionSymbol(this._matrix[e][i]));return t.toString()}},{key:"setAll",value:function(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this._matrix[e][i]=t}},{key:"get",value:function(t,e){return this._matrix[t][e]}},{key:"transpose",value:function(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}},{key:"matches",value:function(t){if(9!==t.length)throw new v("Should be length 9: "+t);for(var i=0;i<3;i++)for(var n=0;n<3;n++)if(!e.matches(this._matrix[i][n],t.charAt(3*i+n)))return!1;return!0}},{key:"add",value:function(t){for(var e=0;e<3;e++)for(var i=0;i<3;i++)this.setAtLeast(e,i,t.get(e,i))}},{key:"isDisjoint",value:function(){return this._matrix[$.INTERIOR][$.INTERIOR]===kt.FALSE&&this._matrix[$.INTERIOR][$.BOUNDARY]===kt.FALSE&&this._matrix[$.BOUNDARY][$.INTERIOR]===kt.FALSE&&this._matrix[$.BOUNDARY][$.BOUNDARY]===kt.FALSE}},{key:"isCrosses",value:function(t,i){return t===kt.P&&i===kt.L||t===kt.P&&i===kt.A||t===kt.L&&i===kt.A?e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&e.isTrue(this._matrix[$.INTERIOR][$.EXTERIOR]):t===kt.L&&i===kt.P||t===kt.A&&i===kt.P||t===kt.A&&i===kt.L?e.isTrue(this._matrix[$.INTERIOR][$.INTERIOR])&&e.isTrue(this._matrix[$.EXTERIOR][$.INTERIOR]):t===kt.L&&i===kt.L&&0===this._matrix[$.INTERIOR][$.INTERIOR]}},{key:"interfaces_",get:function(){return[w]}}],[{key:"constructor_",value:function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map((function(){return Array(3)})),this.setAll(kt.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){var t=arguments[0];e.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof e){var i=arguments[0];e.constructor_.call(this),this._matrix[$.INTERIOR][$.INTERIOR]=i._matrix[$.INTERIOR][$.INTERIOR],this._matrix[$.INTERIOR][$.BOUNDARY]=i._matrix[$.INTERIOR][$.BOUNDARY],this._matrix[$.INTERIOR][$.EXTERIOR]=i._matrix[$.INTERIOR][$.EXTERIOR],this._matrix[$.BOUNDARY][$.INTERIOR]=i._matrix[$.BOUNDARY][$.INTERIOR],this._matrix[$.BOUNDARY][$.BOUNDARY]=i._matrix[$.BOUNDARY][$.BOUNDARY],this._matrix[$.BOUNDARY][$.EXTERIOR]=i._matrix[$.BOUNDARY][$.EXTERIOR],this._matrix[$.EXTERIOR][$.INTERIOR]=i._matrix[$.EXTERIOR][$.INTERIOR],this._matrix[$.EXTERIOR][$.BOUNDARY]=i._matrix[$.EXTERIOR][$.BOUNDARY],this._matrix[$.EXTERIOR][$.EXTERIOR]=i._matrix[$.EXTERIOR][$.EXTERIOR]}}},{key:"matches",value:function(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){var t=arguments[0],i=arguments[1];return i===kt.SYM_DONTCARE||i===kt.SYM_TRUE&&(t>=0||t===kt.TRUE)||i===kt.SYM_FALSE&&t===kt.FALSE||i===kt.SYM_P&&t===kt.P||i===kt.SYM_L&&t===kt.L||i===kt.SYM_A&&t===kt.A}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){var n=arguments[1];return new e(arguments[0]).matches(n)}}},{key:"isTrue",value:function(t){return t>=0||t===kt.TRUE}}]),e}(),tn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"size",value:function(){return this._size}},{key:"addAll",value:function(t){return null===t||0===t.length?null:(this.ensureCapacity(this._size+t.length),vt.arraycopy(t,0,this._data,this._size,t.length),void(this._size+=t.length))}},{key:"ensureCapacity",value:function(t){if(t<=this._data.length)return null;var e=Math.max(t,2*this._data.length);this._data=Dt.copyOf(this._data,e)}},{key:"toArray",value:function(){var t=new Array(this._size).fill(null);return vt.arraycopy(this._data,0,t,0,this._size),t}},{key:"add",value:function(t){this.ensureCapacity(this._size+1),this._data[this._size]=t,++this._size}}],[{key:"constructor_",value:function(){if(this._data=null,this._size=0,0===arguments.length)e.constructor_.call(this,10);else if(1===arguments.length){var t=arguments[0];this._data=new Array(t).fill(null)}}}]),e}(),en=function(){function e(){t(this,e)}return i(e,[{key:"getChainStartIndices",value:function(t){var e=0,i=new tn(Math.trunc(t.length/2));i.add(e);do{var n=this.findChainEnd(t,e);i.add(n),e=n}while(ei?e:i}},{key:"getMinX",value:function(t){var e=this.pts[this.startIndex[t]].x,i=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][i]=n}}}},{key:"getDelta",value:function(t){return this._depth[t][Q.RIGHT]-this._depth[t][Q.LEFT]}},{key:"getLocation",value:function(t,e){return this._depth[t][e]<=0?$.EXTERIOR:$.INTERIOR}},{key:"toString",value:function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}},{key:"add",value:function(){if(1===arguments.length)for(var t=arguments[0],i=0;i<2;i++)for(var n=1;n<3;n++){var r=t.getLocation(i,n);r!==$.EXTERIOR&&r!==$.INTERIOR||(this.isNull(i,n)?this._depth[i][n]=e.depthAtLocation(r):this._depth[i][n]+=e.depthAtLocation(r))}else if(3===arguments.length){var o=arguments[0],s=arguments[1];arguments[2]===$.INTERIOR&&this._depth[o][s]++}}}],[{key:"constructor_",value:function(){this._depth=Array(2).fill().map((function(){return Array(3)}));for(var t=0;t<2;t++)for(var i=0;i<3;i++)this._depth[t][i]=e.NULL_VALUE}},{key:"depthAtLocation",value:function(t){return t===$.EXTERIOR?0:t===$.INTERIOR?1:e.NULL_VALUE}}]),e}();rn.NULL_VALUE=-1;var on=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"getDepth",value:function(){return this._depth}},{key:"getCollapsedEdge",value:function(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new s(t,Re.toLineLabel(this._label))}},{key:"isIsolated",value:function(){return this._isIsolated}},{key:"getCoordinates",value:function(){return this.pts}},{key:"setIsolated",value:function(t){this._isIsolated=t}},{key:"setName",value:function(t){this._name=t}},{key:"equals",value:function(t){if(!(t instanceof s))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var i=!0,n=!0,r=this.pts.length,o=0;o0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}}},{key:"print",value:function(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}},{key:"computeIM",value:function(t){s.updateIM(this._label,t)}},{key:"isCollapsed",value:function(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])}},{key:"isClosed",value:function(){return this.pts[0].equals(this.pts[this.pts.length-1])}},{key:"getMaximumSegmentIndex",value:function(){return this.pts.length-1}},{key:"getDepthDelta",value:function(){return this._depthDelta}},{key:"getNumPoints",value:function(){return this.pts.length}},{key:"printReverse",value:function(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}},{key:"getMonotoneChainEdge",value:function(){return null===this._mce&&(this._mce=new nn(this)),this._mce}},{key:"getEnvelope",value:function(){if(null===this._env){this._env=new q;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}},{key:"isPointwiseEqual",value:function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;en||this._maxyo;if(s)return!1;var a=this.intersectsToleranceSquare(t,e);return N.isTrue(!(s&&a),"Found bad envelope test"),a}},{key:"initCorners",value:function(t){var e=.5;this._minx=t.x-e,this._maxx=t.x+e,this._miny=t.y-e,this._maxy=t.y+e,this._corner[0]=new V(this._maxx,this._maxy),this._corner[1]=new V(this._minx,this._maxy),this._corner[2]=new V(this._minx,this._miny),this._corner[3]=new V(this._maxx,this._miny)}},{key:"intersects",value:function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))}},{key:"scale",value:function(t){return Math.round(t*this._scaleFactor)}},{key:"getCoordinate",value:function(){return this._originalPt}},{key:"copyScaled",value:function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)}},{key:"getSafeEnvelope",value:function(){if(null===this._safeEnv){var t=e.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new q(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv}},{key:"intersectsPixelClosure",value:function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))))}},{key:"intersectsToleranceSquare",value:function(t,e){var i=!1,n=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper()||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper()||i&&n||t.equals(this._pt)||e.equals(this._pt)))))}},{key:"addSnappedNode",value:function(t,e){var i=t.getCoordinate(e),n=t.getCoordinate(e+1);return!!this.intersects(i,n)&&(t.addIntersection(this.getCoordinate(),e),!0)}}],[{key:"constructor_",value:function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var t=arguments[0],e=arguments[1],i=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=i,e<=0)throw new v("Scale factor must be non-zero");1!==e&&(this._pt=new V(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new V,this._p1Scaled=new V),this.initCorners(this._pt)}}]),e}();cn.SAFE_ENV_EXPANSION_FACTOR=.75;var un=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"select",value:function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}}],[{key:"constructor_",value:function(){this.selectedSegment=new wi}}]),e}(),hn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"snap",value:function(){if(1===arguments.length){var e=arguments[0];return this.snap(e,null,-1)}if(3===arguments.length){var n=arguments[0],r=arguments[1],o=arguments[2],s=n.getSafeEnvelope(),a=new pn(n,r,o);return this._index.query(s,new(function(){function e(){t(this,e)}return i(e,[{key:"interfaces_",get:function(){return[ci]}},{key:"visitItem",value:function(t){t.select(s,a)}}]),e}())),a.isNodeAdded()}}}],[{key:"constructor_",value:function(){this._index=null;var t=arguments[0];this._index=t}}]),e}(),pn=function(e){n(s,e);var o=h(s);function s(){var e;return t(this,s),e=o.call(this),s.constructor_.apply(c(e),arguments),e}return i(s,[{key:"isNodeAdded",value:function(){return this._isNodeAdded}},{key:"select",value:function(){if(!(2===arguments.length&&Number.isInteger(arguments[1])&&arguments[0]instanceof Ei))return p(r(s.prototype),"select",this).apply(this,arguments);var t=arguments[1],e=arguments[0].getContext();if(this._parentEdge===e&&(t===this._hotPixelVertexIndex||t+1===this._hotPixelVertexIndex))return null;this._isNodeAdded|=this._hotPixel.addSnappedNode(e,t)}}],[{key:"constructor_",value:function(){this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],e=arguments[1],i=arguments[2];this._hotPixel=t,this._parentEdge=e,this._hotPixelVertexIndex=i}}]),s}(un);hn.HotPixelSnapAction=pn;var dn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return i(e,[{key:"processIntersections",value:function(t,e,i,n){if(t===i&&e===n)return null;var r=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=i.getCoordinates()[n],a=i.getCoordinates()[n+1];if(this._li.computeIntersection(r,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var l=0;l=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof dt))throw t;this._saveException=t}if(null!==this._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var i=arguments[0],n=e.precisionScaleFactor(this._argGeom,this._distance,i),r=new ne(n);this.bufferFixedPrecision(r)}}},{key:"computeGeometry",value:function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===ne.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()}},{key:"setQuadrantSegments",value:function(t){this._bufParams.setQuadrantSegments(t)}},{key:"bufferOriginalPrecision",value:function(){try{var t=new sn(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof O))throw t;this._saveException=t}}},{key:"getResultGeometry",value:function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry}},{key:"setEndCapStyle",value:function(t){this._bufParams.setEndCapStyle(t)}}],[{key:"constructor_",value:function(){if(this._argGeom=null,this._distance=null,this._bufParams=new _,this._resultGeometry=null,this._saveException=null,1===arguments.length){var t=arguments[0];this._argGeom=t}else if(2===arguments.length){var e=arguments[0],i=arguments[1];this._argGeom=e,this._bufParams=i}}},{key:"bufferOp",value:function(){if(2===arguments.length){var t=arguments[1];return new e(arguments[0]).getResultGeometry(t)}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof Z&&"number"==typeof arguments[1]){var i=arguments[1],n=arguments[2],r=new e(arguments[0]);return r.setQuadrantSegments(n),r.getResultGeometry(i)}if(arguments[2]instanceof _&&arguments[0]instanceof Z&&"number"==typeof arguments[1]){var o=arguments[1];return new e(arguments[0],arguments[2]).getResultGeometry(o)}}else if(4===arguments.length){var s=arguments[1],a=arguments[2],l=arguments[3],c=new e(arguments[0]);return c.setQuadrantSegments(a),c.setEndCapStyle(l),c.getResultGeometry(s)}}},{key:"precisionScaleFactor",value:function(t,e,i){var n=t.getEnvelopeInternal(),r=xt.max(Math.abs(n.getMaxX()),Math.abs(n.getMaxY()),Math.abs(n.getMinX()),Math.abs(n.getMinY()))+2*(e>0?e:0),o=i-Math.trunc(Math.log(r)/Math.log(10)+1);return Math.pow(10,o)}}]),e}();mn.CAP_ROUND=_.CAP_ROUND,mn.CAP_BUTT=_.CAP_FLAT,mn.CAP_FLAT=_.CAP_FLAT,mn.CAP_SQUARE=_.CAP_SQUARE,mn.MAX_PRECISION_DIGITS=12;var gn=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"],_n=function(){function e(i){t(this,e),this.geometryFactory=i||new se}return i(e,[{key:"read",value:function(t){var e,i=(e="string"==typeof t?JSON.parse(t):t).type;if(!yn[i])throw new Error("Unknown GeoJSON type: "+e.type);return-1!==gn.indexOf(i)?yn[i].call(this,e.coordinates):"GeometryCollection"===i?yn[i].call(this,e.geometries):yn[i].call(this,e)}},{key:"write",value:function(t){var e=t.getGeometryType();if(!vn[e])throw new Error("Geometry is not supported");return vn[e].call(this,t)}}]),e}(),yn={Feature:function(t){var e={};for(var i in t)e[i]=t[i];if(t.geometry){var n=t.geometry.type;if(!yn[n])throw new Error("Unknown GeoJSON type: "+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=yn.bbox.call(this,t.bbox)),e},FeatureCollection:function(t){var e={};if(t.features){e.features=[];for(var i=0;i{"use strict";var n=i(8075)("ArrayBuffer.prototype.byteLength",!0),r=i(4670);t.exports=function(t){return r(t)?n?n(t):t.byteLength:NaN}},8075:(t,e,i)=>{"use strict";var n=i(453),r=i(487),o=r(n("String.prototype.indexOf"));t.exports=function(t,e){var i=n(t,!!e);return"function"==typeof i&&o(t,".prototype.")>-1?r(i):i}},487:(t,e,i)=>{"use strict";var n=i(6743),r=i(453),o=i(6897),s=i(9675),a=r("%Function.prototype.apply%"),l=r("%Function.prototype.call%"),c=r("%Reflect.apply%",!0)||n.call(l,a),u=i(655),h=r("%Math.max%");t.exports=function(t){if("function"!=typeof t)throw new s("a function is required");var e=c(n,l,arguments);return o(e,1+h(0,t.length-(arguments.length-1)),!0)};var p=function(){return c(n,a,arguments)};u?u(t.exports,"apply",{value:p}):t.exports.apply=p},9887:(t,e,i)=>{"use strict";i.d(e,{A:()=>a});var n=i(4991),r=i.n(n),o=i(6314),s=i.n(o)()(r());s.push([t.id,".mapboxgl-ctrl-geocoder,.mapboxgl-ctrl-geocoder *,.mapboxgl-ctrl-geocoder :after,.mapboxgl-ctrl-geocoder :before{box-sizing:border-box}.mapboxgl-ctrl-geocoder{background-color:#fff;border-radius:4px;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,Helvetica,sans-serif;font-size:18px;line-height:24px;min-width:240px;position:relative;transition:width .25s,min-width .25s;width:100%;z-index:1}.mapboxgl-ctrl-geocoder--input{background-color:transparent;border:0;color:#404040;color:rgba(0,0,0,.75);font:inherit;height:50px;margin:0;overflow:hidden;padding:6px 45px;text-overflow:ellipsis;white-space:nowrap;width:100%}.mapboxgl-ctrl-geocoder--input::-ms-clear{display:none}.mapboxgl-ctrl-geocoder--input:focus{box-shadow:none;color:#404040;color:rgba(0,0,0,.75);outline:0;outline:thin dotted}.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right>*{display:none;position:absolute;right:8px;top:7px;z-index:2}.mapboxgl-ctrl-geocoder,.mapboxgl-ctrl-geocoder .suggestions{box-shadow:0 0 10px 2px rgba(0,0,0,.1)}.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed{min-width:50px;transition:width .25s,min-width .25s;width:50px}.mapboxgl-ctrl-geocoder .suggestions{background-color:#fff;border-radius:4px;font-size:15px;left:0;list-style:none;margin:0;overflow:hidden;padding:0;position:absolute;top:110%;top:calc(100% + 6px);width:100%;z-index:1000}.mapboxgl-ctrl-bottom-left .suggestions,.mapboxgl-ctrl-bottom-right .suggestions{bottom:100%;top:auto}.mapboxgl-ctrl-geocoder .suggestions>li>a{color:#404040;cursor:default;display:block;padding:6px 12px}.mapboxgl-ctrl-geocoder .suggestions>.active>a,.mapboxgl-ctrl-geocoder .suggestions>li>a:hover{background-color:#f3f3f3;color:#404040;cursor:pointer;text-decoration:none}.mapboxgl-ctrl-geocoder--suggestion-title{font-weight:700}.mapboxgl-ctrl-geocoder--suggestion-address,.mapboxgl-ctrl-geocoder--suggestion-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapboxgl-ctrl-geocoder--icon{speak:none;fill:#757575;display:inline-block;top:15px;vertical-align:middle}.mapboxgl-ctrl-geocoder--icon-search{height:23px;left:12px;position:absolute;top:13px;width:23px}.mapboxgl-ctrl-geocoder--button{background:#fff;border:none;cursor:pointer;line-height:1;margin:0;padding:0}.mapboxgl-ctrl-geocoder--icon-close{height:20px;margin-right:3px;margin-top:8px;width:20px}.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close{fill:#909090}.mapboxgl-ctrl-geocoder--icon-geolocate{height:22px;margin-right:3px;margin-top:6px;width:22px}.mapboxgl-ctrl-geocoder--icon-loading{animation:rotate .8s cubic-bezier(.45,.05,.55,.95) infinite;height:26px;margin-right:0;margin-top:5px;width:26px}.mapboxgl-ctrl-geocoder--powered-by{display:block;float:left;font-size:13px;padding:6px 12px 9px}.mapboxgl-ctrl-geocoder--powered-by a{color:#909090}.mapboxgl-ctrl-geocoder--powered-by a:not(:hover){text-decoration:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media screen and (min-width:640px){.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed{min-width:36px;width:36px}.mapboxgl-ctrl-geocoder{font-size:15px;line-height:20px;max-width:360px;width:33.3333%}.mapboxgl-ctrl-geocoder .suggestions{font-size:13px}.mapboxgl-ctrl-geocoder--icon{top:8px}.mapboxgl-ctrl-geocoder--icon-close{height:16px;margin-right:0;margin-top:3px;width:16px}.mapboxgl-ctrl-geocoder--icon-geolocate{height:18px;margin-right:0;margin-top:2px;width:18px}.mapboxgl-ctrl-geocoder--icon-search{height:20px;left:7px;width:20px}.mapboxgl-ctrl-geocoder--input{height:36px;padding:6px 35px}.mapboxgl-ctrl-geocoder--icon-loading{height:26px;margin-right:-5px;margin-top:-2px;width:26px}.mapbox-gl-geocoder--error{color:#909090;font-size:16px;padding:6px 12px;text-align:center}.mapboxgl-ctrl-geocoder--powered-by{font-size:11px!important}}","",{version:3,sources:["webpack://./node_modules/@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css"],names:[],mappings:"AACA,iHAIE,qBACF,CAEA,wBAKE,qBAAsB,CAItB,iBAAkB,CANlB,gGAA2G,CAF3G,cAAe,CACf,gBAAiB,CAKjB,eAAgB,CAHhB,iBAAkB,CAMlB,oCAAsC,CAJtC,UAAW,CAEX,SAGF,CAEA,+BAIE,4BAA6B,CAD7B,QAAS,CAIT,aAAc,CACd,qBAA0B,CAP1B,YAAa,CAKb,WAAY,CADZ,QAAS,CAOT,eAAgB,CAHhB,gBAAiB,CACjB,sBAAuB,CACvB,kBAAmB,CATnB,UAWF,CAEA,0CACE,YACF,CAEA,qCAIE,eAAgB,CAHhB,aAAc,CACd,qBAA0B,CAC1B,SAAU,CAEV,mBACF,CAEA,6DAKE,YAAa,CAHb,iBAAkB,CAClB,SAAU,CACV,OAAQ,CAHR,SAKF,CAEA,6DAEE,sCACF,CAGA,0DAEE,cAAe,CACf,oCAAsC,CAFtC,UAGF,CAGA,qCACE,qBAAsB,CACtB,iBAAkB,CAWlB,cAAe,CAVf,MAAO,CACP,eAAgB,CAChB,QAAS,CAOT,eAAgB,CANhB,SAAU,CACV,iBAAkB,CAElB,QAAS,CACT,oBAAqB,CAFrB,UAAW,CAGX,YAGF,CAEA,iFAGE,WAAY,CADZ,QAEF,CAEA,0CAIE,aAAc,CAHd,cAAe,CACf,aAAc,CACd,gBAEF,CAEA,+FAGE,wBAAyB,CADzB,aAAc,CAGd,cAAe,CADf,oBAEF,CAEA,0CACE,eACF,CAEA,sFAGE,eAAgB,CADhB,sBAAuB,CAEvB,kBACF,CAGA,8BAGE,UAAW,CACX,YAAa,CAHb,oBAAqB,CAIrB,QAAS,CAHT,qBAIF,CAEA,qCAKE,WAAY,CAFZ,SAAU,CAFV,iBAAkB,CAClB,QAAS,CAET,UAEF,CAEA,gCAKE,eAAgB,CAFhB,WAAY,CACZ,cAAe,CAEf,aAAc,CAJd,QAAS,CADT,SAMF,CAEA,oCAEE,WAAY,CAEZ,gBAAiB,CADjB,cAAe,CAFf,UAIF,CAEA,0EACE,YACF,CAEA,wCAEE,WAAY,CAEZ,gBAAiB,CADjB,cAAe,CAFf,UAIF,CAEA,sCAOE,2DAAoE,CALpE,WAAY,CAEZ,cAAiB,CADjB,cAAe,CAFf,UAOF,CAEA,oCACE,aAAc,CACd,UAAW,CAGX,cAAe,CADf,oBAEF,CAEA,sCACE,aACF,CAEA,kDACE,oBACF,CAcA,kBACE,GAEE,mBACF,CACA,GAEE,uBACF,CACF,CAGA,oCAEE,0DAEE,cAAe,CADf,UAEF,CAEA,wBAEE,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAHhB,cAIF,CACA,qCACE,cACF,CAEA,8BACE,OACF,CAEA,oCAEE,WAAY,CAEZ,cAAe,CADf,cAAe,CAFf,UAIF,CAEA,wCAEE,WAAY,CAEZ,cAAe,CADf,cAAe,CAFf,UAIF,CAEA,qCAGE,WAAY,CAFZ,QAAS,CACT,UAEF,CAEA,+BACE,WAAY,CACZ,gBACF,CAEA,sCAEE,WAAY,CAEZ,iBAAkB,CADlB,eAAgB,CAFhB,UAIF,CAEA,2BACE,aAAa,CAEb,cAAe,CADf,gBAAiB,CAEjB,iBACF,CAEA,oCACE,wBACF,CACF",sourcesContent:['/* Basics */\n.mapboxgl-ctrl-geocoder,\n.mapboxgl-ctrl-geocoder *,\n.mapboxgl-ctrl-geocoder *:after,\n.mapboxgl-ctrl-geocoder *:before {\n box-sizing: border-box;\n}\n\n.mapboxgl-ctrl-geocoder {\n font-size: 18px;\n line-height: 24px;\n font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, Helvetica, sans-serif;\n position: relative;\n background-color: #fff;\n width: 100%;\n min-width: 240px;\n z-index: 1;\n border-radius: 4px;\n transition: width .25s, min-width .25s;\n}\n\n.mapboxgl-ctrl-geocoder--input {\n font: inherit;\n width: 100%;\n border: 0;\n background-color: transparent;\n margin: 0;\n height: 50px;\n color: #404040; /* fallback */\n color: rgba(0, 0, 0, 0.75);\n padding: 6px 45px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.mapboxgl-ctrl-geocoder--input::-ms-clear {\n display: none; /* hide input clear button in IE */\n}\n\n.mapboxgl-ctrl-geocoder--input:focus {\n color: #404040; /* fallback */\n color: rgba(0, 0, 0, 0.75);\n outline: 0;\n box-shadow: none;\n outline: thin dotted;\n}\n\n.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right > * {\n z-index: 2;\n position: absolute;\n right: 8px;\n top: 7px;\n display: none;\n}\n\n.mapboxgl-ctrl-geocoder,\n.mapboxgl-ctrl-geocoder .suggestions {\n box-shadow: 0 0 10px 2px rgba(0,0,0,.1);\n}\n\n/* Collapsed */\n.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {\n width: 50px;\n min-width: 50px;\n transition: width .25s, min-width .25s;\n}\n\n/* Suggestions */\n.mapboxgl-ctrl-geocoder .suggestions {\n background-color: #fff;\n border-radius: 4px;\n left: 0;\n list-style: none;\n margin: 0;\n padding: 0;\n position: absolute;\n width: 100%;\n top: 110%; /* fallback */\n top: calc(100% + 6px);\n z-index: 1000;\n overflow: hidden;\n font-size: 15px;\n}\n\n.mapboxgl-ctrl-bottom-left .suggestions,\n.mapboxgl-ctrl-bottom-right .suggestions {\n top: auto;\n bottom: 100%;\n}\n\n.mapboxgl-ctrl-geocoder .suggestions > li > a {\n cursor: default;\n display: block;\n padding: 6px 12px;\n color: #404040;\n}\n\n.mapboxgl-ctrl-geocoder .suggestions > .active > a,\n.mapboxgl-ctrl-geocoder .suggestions > li > a:hover {\n color: #404040;\n background-color: #f3f3f3;\n text-decoration: none;\n cursor: pointer;\n}\n\n.mapboxgl-ctrl-geocoder--suggestion-title {\n font-weight: bold;\n}\n\n.mapboxgl-ctrl-geocoder--suggestion-title,\n.mapboxgl-ctrl-geocoder--suggestion-address {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n/* Icons */\n.mapboxgl-ctrl-geocoder--icon {\n display: inline-block;\n vertical-align: middle;\n speak: none;\n fill: #757575;\n top: 15px;\n}\n\n.mapboxgl-ctrl-geocoder--icon-search {\n position: absolute;\n top: 13px;\n left: 12px;\n width: 23px;\n height: 23px;\n}\n\n.mapboxgl-ctrl-geocoder--button {\n padding: 0;\n margin: 0;\n border: none;\n cursor: pointer;\n background: #fff;\n line-height: 1;\n}\n\n.mapboxgl-ctrl-geocoder--icon-close {\n width: 20px;\n height: 20px;\n margin-top: 8px;\n margin-right: 3px;\n}\n\n.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close {\n fill: #909090;\n}\n\n.mapboxgl-ctrl-geocoder--icon-geolocate {\n width: 22px;\n height: 22px;\n margin-top: 6px;\n margin-right: 3px;\n}\n\n.mapboxgl-ctrl-geocoder--icon-loading {\n width: 26px;\n height: 26px;\n margin-top: 5px;\n margin-right: 0px;\n -moz-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n -webkit-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\n}\n\n.mapboxgl-ctrl-geocoder--powered-by {\n display: block;\n float: left;\n padding: 6px 12px;\n padding-bottom: 9px;\n font-size: 13px;\n}\n\n.mapboxgl-ctrl-geocoder--powered-by a {\n color: #909090;\n}\n\n.mapboxgl-ctrl-geocoder--powered-by a:not(:hover) {\n text-decoration: none; \n}\n\n/* Animation */\n@-webkit-keyframes rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* Media queries*/\n@media screen and (min-width: 640px) {\n\n .mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {\n width: 36px;\n min-width: 36px;\n }\n\n .mapboxgl-ctrl-geocoder {\n width: 33.3333%;\n font-size: 15px;\n line-height: 20px;\n max-width: 360px;\n }\n .mapboxgl-ctrl-geocoder .suggestions {\n font-size: 13px;\n }\n\n .mapboxgl-ctrl-geocoder--icon {\n top: 8px;\n }\n\n .mapboxgl-ctrl-geocoder--icon-close {\n width: 16px;\n height: 16px;\n margin-top: 3px;\n margin-right: 0;\n }\n\n .mapboxgl-ctrl-geocoder--icon-geolocate {\n width: 18px;\n height: 18px;\n margin-top: 2px;\n margin-right: 0;\n }\n\n .mapboxgl-ctrl-geocoder--icon-search {\n left: 7px;\n width: 20px;\n height: 20px;\n }\n\n .mapboxgl-ctrl-geocoder--input {\n height: 36px;\n padding: 6px 35px;\n }\n\n .mapboxgl-ctrl-geocoder--icon-loading {\n width: 26px;\n height: 26px;\n margin-top: -2px;\n margin-right: -5px;\n }\n\n .mapbox-gl-geocoder--error{\n color:#909090;\n padding: 6px 12px;\n font-size: 16px;\n text-align: center;\n }\n\n .mapboxgl-ctrl-geocoder--powered-by {\n font-size: 11px !important;\n }\n}\n'],sourceRoot:""}]);const a=s},7121:(t,e,i)=>{"use strict";i.d(e,{A:()=>a});var n=i(4991),r=i.n(n),o=i(6314),s=i.n(o)()(r());s.push([t.id,".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}","",{version:3,sources:["webpack://./node_modules/mapbox-gl/dist/mapbox-gl.css"],names:[],mappings:"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",sourcesContent:[".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}"],sourceRoot:""}]);const a=s},6314:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=t(e);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i,n){"string"==typeof t&&(t=[[null,t,""]]);var r={};if(n)for(var o=0;o{"use strict";function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==i)return;var n,r,o=[],s=!0,a=!1;try{for(i=i.call(t);!(s=(n=i.next()).done)&&(o.push(n.value),!e||o.length!==e);s=!0);}catch(t){a=!0,r=t}finally{try{s||null==i.return||i.return()}finally{if(a)throw r}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i{"use strict";var n=i(6525),r=i(8075),o=i(1589),s=i(453),a=i(4552),l=i(920),c=i(7653),u=i(7244),h=i(1451),p=i(4670),d=i(2120),f=i(4035),m=i(7070),g=i(1189),_=i(1539),y=i(593),v=i(5767),x=i(9511),b=r("SharedArrayBuffer.prototype.byteLength",!0),w=r("Date.prototype.getTime"),A=Object.getPrototypeOf,E=r("Object.prototype.toString"),C=s("%Set%",!0),T=r("Map.prototype.has",!0),k=r("Map.prototype.get",!0),S=r("Map.prototype.size",!0),I=r("Set.prototype.add",!0),M=r("Set.prototype.delete",!0),P=r("Set.prototype.has",!0),L=r("Set.prototype.size",!0);function z(t,e,i,n){for(var r,o=a(t);(r=o.next())&&!r.done;)if(N(e,r.value,i,n))return M(t,r.value),!0;return!1}function D(t){return void 0===t?null:"object"!=typeof t?"symbol"!=typeof t&&("string"!=typeof t&&"number"!=typeof t||+t==+t):void 0}function R(t,e,i,r,o,s){var a=D(i);if(null!=a)return a;var l=k(e,a),c=n({},o,{strict:!1});return!(void 0===l&&!T(e,a)||!N(r,l,c,s))&&(!T(t,a)&&N(r,l,c,s))}function O(t,e,i){var n=D(i);return null!=n?n:P(e,n)&&!P(t,n)}function B(t,e,i,n,r,o){for(var s,l,c=a(t);(s=c.next())&&!s.done;)if(N(i,l=s.value,r,o)&&N(n,k(e,l),r,o))return M(t,l),!0;return!1}function N(t,e,i,r){var s=i||{};if(s.strict?c(t,e):t===e)return!0;if(_(t)!==_(e))return!1;if(!t||!e||"object"!=typeof t&&"object"!=typeof e)return s.strict?c(t,e):t==e;var l,M=r.has(t),D=r.has(e);if(M&&D){if(r.get(t)===r.get(e))return!0}else l={};return M||r.set(t,l),D||r.set(e,l),function(t,e,i,r){var s,l;if(typeof t!=typeof e)return!1;if(null==t||null==e)return!1;if(E(t)!==E(e))return!1;if(u(t)!==u(e))return!1;var c=h(t),_=h(e);if(c!==_)return!1;var M=t instanceof Error,D=e instanceof Error;if(M!==D)return!1;if((M||D)&&(t.name!==e.name||t.message!==e.message))return!1;var U=f(t),j=f(e);if(U!==j)return!1;if((U||j)&&(t.source!==e.source||o(t)!==o(e)))return!1;var V=d(t),G=d(e);if(V!==G)return!1;if((V||G)&&w(t)!==w(e))return!1;if(i.strict&&A&&A(t)!==A(e))return!1;var q=v(t),Z=v(e);if(q!==Z)return!1;if(q||Z){if(t.length!==e.length)return!1;for(s=0;s=0;s--)if(J[s]!=Q[s])return!1;for(s=J.length-1;s>=0;s--)if(!N(t[l=J[s]],e[l],i,r))return!1;var tt=y(t),et=y(e);if(tt!==et)return!1;if("Set"===tt||"Set"===et)return function(t,e,i,n){if(L(t)!==L(e))return!1;var r,o,s,l=a(t),c=a(e);for(;(r=l.next())&&!r.done;)if(r.value&&"object"==typeof r.value)s||(s=new C),I(s,r.value);else if(!P(e,r.value)){if(i.strict)return!1;if(!O(t,e,r.value))return!1;s||(s=new C),I(s,r.value)}if(s){for(;(o=c.next())&&!o.done;)if(o.value&&"object"==typeof o.value){if(!z(s,o.value,i.strict,n))return!1}else if(!i.strict&&!P(t,o.value)&&!z(s,o.value,i.strict,n))return!1;return 0===L(s)}return!0}(t,e,i,r);if("Map"===tt)return function(t,e,i,r){if(S(t)!==S(e))return!1;var o,s,l,c,u,h,p=a(t),d=a(e);for(;(o=p.next())&&!o.done;)if(c=o.value[0],u=o.value[1],c&&"object"==typeof c)l||(l=new C),I(l,c);else if(void 0===(h=k(e,c))&&!T(e,c)||!N(u,h,i,r)){if(i.strict)return!1;if(!R(t,e,c,u,i,r))return!1;l||(l=new C),I(l,c)}if(l){for(;(s=d.next())&&!s.done;)if(c=s.value[0],h=s.value[1],c&&"object"==typeof c){if(!B(l,t,c,h,i,r))return!1}else if(!(i.strict||t.has(c)&&N(k(t,c),h,i,r)||B(l,t,c,h,n({},i,{strict:!1}),r)))return!1;return 0===L(l)}return!0}(t,e,i,r);return!0}(t,e,s,r)}function F(t){return!(!t||"object"!=typeof t||"number"!=typeof t.length)&&("function"==typeof t.copy&&"function"==typeof t.slice&&(!(t.length>0&&"number"!=typeof t[0])&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))))}t.exports=function(t,e,i){return N(t,e,i,l())}},1451:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},41:(t,e,i)=>{"use strict";var n=i(655),r=i(8068),o=i(9675),s=i(5795);t.exports=function(t,e,i){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new o("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new o("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new o("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new o("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new o("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!s&&s(t,e);if(n)n(t,e,{configurable:null===c&&h?h.configurable:!c,enumerable:null===a&&h?h.enumerable:!a,value:i,writable:null===l&&h?h.writable:!l});else{if(!u&&(a||l||c))throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=i}}},8452:(t,e,i)=>{"use strict";var n=i(1189),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),o=Object.prototype.toString,s=Array.prototype.concat,a=i(41),l=i(592)(),c=function(t,e,i,n){if(e in t)if(!0===n){if(t[e]===i)return}else if("function"!=typeof(r=n)||"[object Function]"!==o.call(r)||!n())return;var r;l?a(t,e,i,!0):a(t,e,i)},u=function(t,e){var i=arguments.length>2?arguments[2]:{},o=n(e);r&&(o=s.call(o,Object.getOwnPropertySymbols(e)));for(var a=0;a{"use strict";var n=i(453)("%Object.defineProperty%",!0)||!1;if(n)try{n({},"a",{value:1})}catch(t){n=!1}t.exports=n},1237:t=>{"use strict";t.exports=EvalError},9383:t=>{"use strict";t.exports=Error},9290:t=>{"use strict";t.exports=RangeError},7157:t=>{"use strict";t.exports=ReferenceError},8068:t=>{"use strict";t.exports=SyntaxError},9675:t=>{"use strict";t.exports=TypeError},5345:t=>{"use strict";t.exports=URIError},7738:t=>{var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},2682:(t,e,i)=>{"use strict";var n=i(9600),r=Object.prototype.toString,o=Object.prototype.hasOwnProperty;t.exports=function(t,e,i){if(!n(e))throw new TypeError("iterator must be a function");var s;arguments.length>=3&&(s=i),"[object Array]"===r.call(t)?function(t,e,i){for(var n=0,r=t.length;n{"use strict";var e=Object.prototype.toString,i=Math.max,n=function(t,e){for(var i=[],n=0;n{"use strict";var n=i(9353);t.exports=Function.prototype.bind||n},4462:t=>{"use strict";var e=function(){return"string"==typeof function(){}.name},i=Object.getOwnPropertyDescriptor;if(i)try{i([],"length")}catch(t){i=null}e.functionsHaveConfigurableNames=function(){if(!e()||!i)return!1;var t=i((function(){}),"name");return!!t&&!!t.configurable};var n=Function.prototype.bind;e.boundFunctionsHaveNames=function(){return e()&&"function"==typeof n&&""!==function(){}.bind().name},t.exports=e},453:(t,e,i)=>{"use strict";var n,r=i(9383),o=i(1237),s=i(9290),a=i(7157),l=i(8068),c=i(9675),u=i(5345),h=Function,p=function(t){try{return h('"use strict"; return ('+t+").constructor;")()}catch(t){}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch(t){d=null}var f=function(){throw new c},m=d?function(){try{return f}catch(t){try{return d(arguments,"callee").get}catch(t){return f}}}():f,g=i(4039)(),_=i(24)(),y=Object.getPrototypeOf||(_?function(t){return t.__proto__}:null),v={},x="undefined"!=typeof Uint8Array&&y?y(Uint8Array):n,b={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":g&&y?y([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?n:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":o,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":h,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":g&&y?y(y([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&g&&y?y((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":s,"%ReferenceError%":a,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&g&&y?y((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":g&&y?y(""[Symbol.iterator]()):n,"%Symbol%":g?Symbol:n,"%SyntaxError%":l,"%ThrowTypeError%":m,"%TypedArray%":x,"%TypeError%":c,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":u,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet};if(y)try{null.error}catch(t){var w=y(y(t));b["%Error.prototype%"]=w}var A=function t(e){var i;if("%AsyncFunction%"===e)i=p("async function () {}");else if("%GeneratorFunction%"===e)i=p("function* () {}");else if("%AsyncGeneratorFunction%"===e)i=p("async function* () {}");else if("%AsyncGenerator%"===e){var n=t("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if("%AsyncIteratorPrototype%"===e){var r=t("%AsyncGenerator%");r&&y&&(i=y(r.prototype))}return b[e]=i,i},E={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=i(6743),T=i(9957),k=C.call(Function.call,Array.prototype.concat),S=C.call(Function.apply,Array.prototype.splice),I=C.call(Function.call,String.prototype.replace),M=C.call(Function.call,String.prototype.slice),P=C.call(Function.call,RegExp.prototype.exec),L=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,z=/\\(\\)?/g,D=function(t,e){var i,n=t;if(T(E,n)&&(n="%"+(i=E[n])[0]+"%"),T(b,n)){var r=b[n];if(r===v&&(r=A(n)),void 0===r&&!e)throw new c("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:r}}throw new l("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new c('"allowMissing" argument must be a boolean');if(null===P(/^%?[^%]*%?$/,t))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=function(t){var e=M(t,0,1),i=M(t,-1);if("%"===e&&"%"!==i)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===i&&"%"!==e)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return I(t,L,(function(t,e,i,r){n[n.length]=i?I(r,z,"$1"):e||t})),n}(t),n=i.length>0?i[0]:"",r=D("%"+n+"%",e),o=r.name,s=r.value,a=!1,u=r.alias;u&&(n=u[0],S(i,k([0,1],u)));for(var h=1,p=!0;h=i.length){var _=d(s,f);s=(p=!!_)&&"get"in _&&!("originalValue"in _.get)?_.get:s[f]}else p=T(s,f),s=s[f];p&&!a&&(b[o]=s)}}return s}},5795:(t,e,i)=>{"use strict";var n=i(453)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(t){n=null}t.exports=n},9790:t=>{"use strict";var e="undefined"!=typeof BigInt&&BigInt;t.exports=function(){return"function"==typeof e&&"function"==typeof BigInt&&"bigint"==typeof e(42)&&"bigint"==typeof BigInt(42)}},592:(t,e,i)=>{"use strict";var n=i(655),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return 1!==n([],"length",{value:1}).length}catch(t){return!0}},t.exports=r},24:t=>{"use strict";var e={__proto__:null,foo:{}},i=Object;t.exports=function(){return{__proto__:e}.foo===e.foo&&!(e instanceof i)}},4039:(t,e,i)=>{"use strict";var n="undefined"!=typeof Symbol&&Symbol,r=i(1333);t.exports=function(){return"function"==typeof n&&("function"==typeof Symbol&&("symbol"==typeof n("foo")&&("symbol"==typeof Symbol("bar")&&r())))}},1333:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),i=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(t,e);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},9092:(t,e,i)=>{"use strict";var n=i(1333);t.exports=function(){return n()&&!!Symbol.toStringTag}},9957:(t,e,i)=>{"use strict";var n=Function.prototype.call,r=Object.prototype.hasOwnProperty,o=i(6743);t.exports=o.call(n,r)},63:(t,e,i)=>{"use strict";var n=i(9957),r=i(920)(),o=i(9675),s={assert:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");if(r.assert(t),!s.has(t,e))throw new o("`"+e+"` is not present on `O`")},get:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");var i=r.get(t);return i&&i["$"+e]},has:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");var i=r.get(t);return!!i&&n(i,"$"+e)},set:function(t,e,i){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new o("`O` is not an object");if("string"!=typeof e)throw new o("`slot` must be a string");var n=r.get(t);n||(n={},r.set(t,n)),n["$"+e]=i}};Object.freeze&&Object.freeze(s),t.exports=s},7244:(t,e,i)=>{"use strict";var n=i(9092)(),r=i(8075)("Object.prototype.toString"),o=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===r(t)},s=function(t){return!!o(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==r(t)&&"[object Function]"===r(t.callee)},a=function(){return o(arguments)}();o.isLegacyArguments=s,t.exports=a?o:s},4670:(t,e,i)=>{"use strict";var n=i(487),r=i(8075),o=i(453)("%ArrayBuffer%",!0),s=r("ArrayBuffer.prototype.byteLength",!0),a=r("Object.prototype.toString"),l=!!o&&!s&&new o(0).slice,c=!!l&&n(l);t.exports=s||c?function(t){if(!t||"object"!=typeof t)return!1;try{return s?s(t):c(t,0),!0}catch(t){return!1}}:o?function(t){return"[object ArrayBuffer]"===a(t)}:function(t){return!1}},9803:(t,e,i)=>{"use strict";if(i(9790)()){var n=BigInt.prototype.valueOf;t.exports=function(t){return null!=t&&"boolean"!=typeof t&&"string"!=typeof t&&"number"!=typeof t&&"symbol"!=typeof t&&"function"!=typeof t&&("bigint"==typeof t||function(t){try{return n.call(t),!0}catch(t){}return!1}(t))}}else t.exports=function(t){return!1}},5128:(t,e,i)=>{"use strict";var n=i(8075),r=n("Boolean.prototype.toString"),o=n("Object.prototype.toString"),s=i(9092)();t.exports=function(t){return"boolean"==typeof t||null!==t&&"object"==typeof t&&(s&&Symbol.toStringTag in t?function(t){try{return r(t),!0}catch(t){return!1}}(t):"[object Boolean]"===o(t))}},9600:t=>{"use strict";var e,i,n=Function.prototype.toString,r="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof r&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw i}}),i={},r((function(){throw 42}),null,e)}catch(t){t!==i&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(t){try{var e=n.call(t);return o.test(e)}catch(t){return!1}},a=function(t){try{return!s(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,c="function"==typeof Symbol&&!!Symbol.toStringTag,u=!(0 in[,]),h=function(){return!1};if("object"==typeof document){var p=document.all;l.call(p)===l.call(document.all)&&(h=function(t){if((u||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=r?function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{r(t,null,e)}catch(t){if(t!==i)return!1}return!s(t)&&a(t)}:function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(c)return a(t);if(s(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&a(t)}},2120:(t,e,i)=>{"use strict";var n=Date.prototype.getDay,r=Object.prototype.toString,o=i(9092)();t.exports=function(t){return"object"==typeof t&&null!==t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object Date]"===r.call(t))}},3802:t=>{"use strict";var e,i="function"==typeof Map&&Map.prototype?Map:null,n="function"==typeof Set&&Set.prototype?Set:null;i||(e=function(t){return!1});var r=i?Map.prototype.has:null,o=n?Set.prototype.has:null;e||r||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(r.call(t),o)try{o.call(t)}catch(t){return!0}return t instanceof i}catch(t){}return!1}},1703:(t,e,i)=>{"use strict";var n=Number.prototype.toString,r=Object.prototype.toString,o=i(9092)();t.exports=function(t){return"number"==typeof t||"object"==typeof t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object Number]"===r.call(t))}},4035:(t,e,i)=>{"use strict";var n,r,o,s,a=i(8075),l=i(9092)();if(l){n=a("Object.prototype.hasOwnProperty"),r=a("RegExp.prototype.exec"),o={};var c=function(){throw o};s={toString:c,valueOf:c},"symbol"==typeof Symbol.toPrimitive&&(s[Symbol.toPrimitive]=c)}var u=a("Object.prototype.toString"),h=Object.getOwnPropertyDescriptor;t.exports=l?function(t){if(!t||"object"!=typeof t)return!1;var e=h(t,"lastIndex");if(!(e&&n(e,"value")))return!1;try{r(t,s)}catch(t){return t===o}}:function(t){return!(!t||"object"!=typeof t&&"function"!=typeof t)&&"[object RegExp]"===u(t)}},256:t=>{"use strict";var e,i="function"==typeof Map&&Map.prototype?Map:null,n="function"==typeof Set&&Set.prototype?Set:null;n||(e=function(t){return!1});var r=i?Map.prototype.has:null,o=n?Set.prototype.has:null;e||o||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(o.call(t),r)try{r.call(t)}catch(t){return!0}return t instanceof n}catch(t){}return!1}},7070:(t,e,i)=>{"use strict";var n=i(8075)("SharedArrayBuffer.prototype.byteLength",!0);t.exports=n?function(t){if(!t||"object"!=typeof t)return!1;try{return n(t),!0}catch(t){return!1}}:function(t){return!1}},4761:(t,e,i)=>{"use strict";var n=String.prototype.valueOf,r=Object.prototype.toString,o=i(9092)();t.exports=function(t){return"string"==typeof t||"object"==typeof t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object String]"===r.call(t))}},3612:(t,e,i)=>{"use strict";var n=Object.prototype.toString;if(i(4039)()){var r=Symbol.prototype.toString,o=/^Symbol\(.*\)$/;t.exports=function(t){if("symbol"==typeof t)return!0;if("[object Symbol]"!==n.call(t))return!1;try{return function(t){return"symbol"==typeof t.valueOf()&&o.test(r.call(t))}(t)}catch(t){return!1}}}else t.exports=function(t){return!1}},7842:t=>{"use strict";var e,i="function"==typeof WeakMap&&WeakMap.prototype?WeakMap:null,n="function"==typeof WeakSet&&WeakSet.prototype?WeakSet:null;i||(e=function(t){return!1});var r=i?i.prototype.has:null,o=n?n.prototype.has:null;e||r||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(r.call(t,r),o)try{o.call(t,o)}catch(t){return!0}return t instanceof i}catch(t){}return!1}},2648:(t,e,i)=>{"use strict";var n=i(453),r=i(8075),o=n("%WeakSet%",!0),s=r("WeakSet.prototype.has",!0);if(s){var a=r("WeakMap.prototype.has",!0);t.exports=function(t){if(!t||"object"!=typeof t)return!1;try{if(s(t,s),a)try{a(t,a)}catch(t){return!0}return t instanceof o}catch(t){}return!1}}else t.exports=function(t){return!1}},842:function(t,e,i){var n=i(5606);t.exports=function(){"use strict";var t,e,i;function r(n,r){if(t)if(e){var o="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk); self.onerror = null;",s={};t(s),i=r(s),"undefined"!=typeof window&&window&&window.URL&&window.URL.createObjectURL&&(i.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}else e=r;else t=r}return r(["exports"],(function(t){var e="undefined"!=typeof self?self:{},i="2.15.0";let r;const o={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==r){const t=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{r=null!=n.env.API_URL_REGEX?new RegExp(n.env.API_URL_REGEX):t}catch(e){r=t}}return r},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!o.API_URL)return null;try{const t=new URL(o.API_URL);return"api.mapbox.cn"===t.hostname?"https://events.mapbox.cn/events/v2":"api.mapbox.com"===t.hostname?"https://events.mapbox.com/events/v2":null}catch(t){return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},s={supported:!1,testSupport:function(t){!c&&l&&(u?h(t):a=t)}};let a,l,c=!1,u=!1;function h(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,l),t.isContextLost())return;s.supported=!0}catch(t){}t.deleteTexture(e),c=!0}e.document&&(l=e.document.createElement("img"),l.onload=function(){a&&h(a),a=null,u=!0},l.onerror=function(){c=!0,a=null},l.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const p="01";function d(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var f=m;function m(t,e,i,n){this.cx=3*t,this.bx=3*(i-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=i,this.p2y=n}m.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var i=t,n=0;n<8;n++){var r=this.sampleCurveX(i)-t;if(Math.abs(r)r?s=i:a=i,i=.5*(a-s)+s;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var g=d(f),_=y;function y(t,e){this.x=t,this.y=e}y.prototype={clone:function(){return new y(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),i=Math.sin(t),n=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=n,this},_rotateAround:function(t,e){var i=Math.cos(t),n=Math.sin(t),r=e.y+n*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-n*(this.y-e.y),this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},y.convert=function(t){return t instanceof y?t:Array.isArray(t)?new y(t[0],t[1]):t};var v=d(_);const x=Math.PI/180,b=180/Math.PI;function w(t){return t*x}function A(t){return t*b}const E=[[0,0],[1,0],[1,1],[0,1]];function C(t){if(t<=0)return 0;if(t>=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}function T(t,e,i,n){const r=new g(t,e,i,n);return function(t){return r.solve(t)}}const k=T(.25,.1,.25,1);function S(t,e,i){return Math.min(i,Math.max(e,t))}function I(t,e,i){return(i=S((i-t)/(e-t),0,1))*i*(3-2*i)}function M(t,e,i){const n=i-e,r=((t-e)%n+n)%n+e;return r===e?i:r}function P(t,e,i){if(!t.length)return i(null,[]);let n=t.length;const r=new Array(t.length);let o=null;t.forEach(((t,s)=>{e(t,((t,e)=>{t&&(o=t),r[s]=e,0==--n&&i(o,r)}))}))}function L(t){const e=[];for(const i in t)e.push(t[i]);return e}function z(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let D=1;function R(){return D++}function O(){return function t(e){return e?(e^Math.random()*(16>>e/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function B(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function N(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function F(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e))}))}function U(t,e){return-1!==t.indexOf(e,t.length-e.length)}function j(t,e,i){const n={};for(const r in t)n[r]=e.call(i||this,t[r],r,t);return n}function V(t,e,i){const n={};for(const r in t)e.call(i||this,t[r],r,t)&&(n[r]=t[r]);return n}function G(t){return Array.isArray(t)?t.map(G):"object"==typeof t&&t?j(t,G):t}const q={};function Z(t){q[t]||("undefined"!=typeof console&&console.warn(t),q[t]=!0)}function $(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function X(t){let e=0;for(let i,n,r=0,o=t.length,s=o-1;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,n,r)=>{const o=n||r;return e[i]=!o||o.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e}let Y=null;function K(t){if(null==Y){const e=t.navigator?t.navigator.userAgent:null;Y=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return Y}function J(t){try{const i=e[t];return i.setItem("_mapbox_test_",1),i.removeItem("_mapbox_test_"),!0}catch(t){return!1}}function Q(t,e){return[t[4*e],t[4*e+1],t[4*e+2],t[4*e+3]]}const tt="mapbox-tiles";let et,it,nt=500,rt=50;function ot(){try{return e.caches}catch(t){}}function st(){ot()&&!et&&(et=e.caches.open(tt))}function at(t){const e=t.indexOf("?");if(e<0)return t;const i=function(t){const e=t.indexOf("?");return e>0?t.slice(e+1).split("&"):[]}(t),n=i.filter((t=>{const e=t.split("=");return"language"===e[0]||"worldview"===e[0]}));return n.length?`${t.slice(0,e)}?${n.join("&")}`:t.slice(0,e)}let lt=1/0;const ct={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ct);class ut extends Error{constructor(t,e,i){401===e&&bt(i)&&(t+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(t),this.status=e,this.url=i}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const ht=W()?()=>self.worker&&self.worker.referrer:()=>("blob:"===e.location.protocol?e.parent:e).location.href,pt=function(t,i){if(!(/^file:/.test(n=t.url)||/^file:/.test(ht())&&!/^\w+:/.test(n))){if(e.fetch&&e.Request&&e.AbortController&&e.Request.prototype.hasOwnProperty("signal"))return function(t,i){const n=new e.AbortController,r=new e.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ht(),referrerPolicy:t.referrerPolicy,signal:n.signal});let o=!1,s=!1;const a=(l=r.url).indexOf("sku=")>0&&bt(l);var l;"json"===t.type&&r.headers.set("Accept","application/json");const c=(n,o,l)=>{if(s)return;if(n&&"SecurityError"!==n.message&&Z(n.toString()),o&&l)return u(o);const c=Date.now();e.fetch(r).then((e=>{if(e.ok){const t=a?e.clone():null;return u(e,t,c)}return i(new ut(e.statusText,e.status,t.url))})).catch((e=>{"AbortError"!==e.name&&i(new Error(`${e.message} ${t.url}`))}))},u=(n,a,l)=>{("arrayBuffer"===t.type?n.arrayBuffer():"json"===t.type?n.json():n.text()).then((t=>{s||(a&&l&&function(t,i,n){if(st(),!et)return;const r={status:i.status,statusText:i.statusText,headers:new e.Headers};i.headers.forEach(((t,e)=>r.headers.set(e,t)));const o=H(i.headers.get("Cache-Control")||"");if(o["no-store"])return;o["max-age"]&&r.headers.set("Expires",new Date(n+1e3*o["max-age"]).toUTCString());const s=r.headers.get("Expires");s&&(new Date(s).getTime()-n<42e4||function(t,e){if(void 0===it)try{new Response(new ReadableStream),it=!0}catch(t){it=!1}it?e(t.body):t.blob().then(e)}(i,(i=>{const n=new e.Response(i,r);st(),et&&et.then((e=>e.put(at(t.url),n))).catch((t=>Z(t.message)))})))}(r,a,l),o=!0,i(null,t,n.headers.get("Cache-Control"),n.headers.get("Expires")))})).catch((t=>{s||i(new Error(t.message))}))};return a?function(t,e){if(st(),!et)return e(null);const i=at(t.url);et.then((t=>{t.match(i).then((n=>{const r=function(t){if(!t)return!1;const e=new Date(t.headers.get("Expires")||0),i=H(t.headers.get("Cache-Control")||"");return e>Date.now()&&!i["no-cache"]}(n);t.delete(i),r&&t.put(i,n.clone()),e(null,n,r)})).catch(e)})).catch(e)}(r,c):c(null,null),{cancel:()=>{s=!0,o||n.abort()}}}(t,i);if(W()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,i,void 0,!0)}var n;return function(t,i){const n=new e.XMLHttpRequest;n.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(n.responseType="arraybuffer");for(const e in t.headers)n.setRequestHeader(e,t.headers[e]);return"json"===t.type&&(n.responseType="text",n.setRequestHeader("Accept","application/json")),n.withCredentials="include"===t.credentials,n.onerror=()=>{i(new Error(n.statusText))},n.onload=()=>{if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let e=n.response;if("json"===t.type)try{e=JSON.parse(n.response)}catch(t){return i(t)}i(null,e,n.getResponseHeader("Cache-Control"),n.getResponseHeader("Expires"))}else i(new ut(n.statusText,n.status,t.url))},n.send(t.body),{cancel:()=>n.abort()}}(t,i)},dt=function(t,e){return pt(z(t,{type:"arrayBuffer"}),e)};function ft(t){const i=e.document.createElement("a");return i.href=t,i.protocol===e.document.location.protocol&&i.host===e.document.location.host}const mt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let gt,_t;gt=[],_t=0;const yt=function(t,i){if(s.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),_t>=o.MAX_PARALLEL_IMAGE_REQUESTS){const e={requestParameters:t,callback:i,cancelled:!1,cancel(){this.cancelled=!0}};return gt.push(e),e}_t++;let n=!1;const r=()=>{if(!n)for(n=!0,_t--;gt.length&&_t{r(),t?i(t):n&&(e.createImageBitmap?function(t,i){const n=new e.Blob([new Uint8Array(t)],{type:"image/png"});e.createImageBitmap(n).then((t=>{i(null,t)})).catch((t=>{i(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(n,((t,e)=>i(t,e,o,s))):function(t,i){const n=new e.Image,r=e.URL;n.onload=()=>{i(null,n),r.revokeObjectURL(n.src),n.onload=null,e.requestAnimationFrame((()=>{n.src=mt}))},n.onerror=()=>i(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const o=new e.Blob([new Uint8Array(t)],{type:"image/png"});n.src=t.byteLength?r.createObjectURL(o):mt}(n,((t,e)=>i(t,e,o,s))))}));return{cancel:()=>{a.cancel(),r()}}},vt="NO_ACCESS_TOKEN";function xt(t){return 0===t.indexOf("mapbox:")}function bt(t){return o.API_URL_REGEX.test(t)}function wt(t){return o.API_CDN_URL_REGEX.test(t)}function At(t){return o.API_STYLE_REGEX.test(t)&&!Et(t)}function Et(t){return o.API_SPRITE_REGEX.test(t)}const Ct=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function Tt(t){const e=t.match(Ct);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function kt(t){const e=t.params.length?`?${t.params.join("&")}`:"";return`${t.protocol}://${t.authority}${t.path}${e}`}const St="mapbox.eventData";function It(t){if(!t)return null;const i=t.split(".");if(!i||3!==i.length)return null;try{return JSON.parse(decodeURIComponent(e.atob(i[1]).split("").map((t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(t){return null}}class Mt{constructor(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(t){const i=It(o.ACCESS_TOKEN);let n="";return n=i&&i.u?e.btoa(encodeURIComponent(i.u).replace(/%([0-9A-F]{2})/g,((t,e)=>String.fromCharCode(Number("0x"+e))))):o.ACCESS_TOKEN||"",t?`${St}.${t}:${n}`:`${St}:${n}`}fetchEventData(){const t=J("localStorage"),i=this.getStorageKey(),n=this.getStorageKey("uuid");if(t)try{const t=e.localStorage.getItem(i);t&&(this.eventData=JSON.parse(t));const r=e.localStorage.getItem(n);r&&(this.anonId=r)}catch(t){Z("Unable to read from LocalStorage")}}saveEventData(){const t=J("localStorage"),i=this.getStorageKey(),n=this.getStorageKey("uuid");if(t)try{e.localStorage.setItem(n,this.anonId),Object.keys(this.eventData).length>=1&&e.localStorage.setItem(i,JSON.stringify(this.eventData))}catch(t){Z("Unable to write to LocalStorage")}}processRequests(t){}postEvent(t,e,i,n){if(!o.EVENTS_URL)return;const r=Tt(o.EVENTS_URL);r.params.push(`access_token=${n||o.ACCESS_TOKEN||""}`);const s={event:this.type,created:new Date(t).toISOString()},a=e?z(s,e):s,l={url:kt(r),headers:{"Content-Type":"text/plain"},body:JSON.stringify([a])};this.pendingRequest=function(t,e){return pt(z(t,{method:"POST"}),e)}(l,(t=>{this.pendingRequest=null,i(t),this.saveEventData(),this.processRequests(n)}))}queueRequest(t,e){this.queue.push(t),this.processRequests(e)}}const Pt=new class extends Mt{constructor(t){super("appUserTurnstile"),this._customAccessToken=t}postTurnstileEvent(t,e){o.EVENTS_URL&&o.ACCESS_TOKEN&&Array.isArray(t)&&t.some((t=>xt(t)||bt(t)))&&this.queueRequest(Date.now(),e)}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const e=It(o.ACCESS_TOKEN),n=e?e.u:o.ACCESS_TOKEN;let r=n!==this.eventData.tokenU;N(this.anonId)||(this.anonId=O(),r=!0);const s=this.queue.shift();if(this.eventData.lastSuccess){const t=new Date(this.eventData.lastSuccess),e=new Date(s),i=(s-this.eventData.lastSuccess)/864e5;r=r||i>=1||i<-1||t.getDate()!==e.getDate()}else r=!0;r?this.postEvent(s,{sdkIdentifier:"mapbox-gl-js",sdkVersion:i,skuId:p,"enabled.telemetry":!1,userId:this.anonId},(t=>{t||(this.eventData.lastSuccess=s,this.eventData.tokenU=n)}),t):this.processRequests()}},Lt=Pt.postTurnstileEvent.bind(Pt),zt=new class extends Mt{constructor(){super("map.load"),this.success={},this.skuToken=""}postMapLoadEvent(t,e,i,n){this.skuToken=e,this.errorCb=n,o.EVENTS_URL&&(i||o.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},i):this.errorCb(new Error(vt)))}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:n}=this.queue.shift();e&&this.success[e]||(this.anonId||this.fetchEventData(),N(this.anonId)||(this.anonId=O()),this.postEvent(n,{sdkIdentifier:"mapbox-gl-js",sdkVersion:i,skuId:p,skuToken:this.skuToken,userId:this.anonId},(t=>{t?this.errorCb(t):e&&(this.success[e]=!0)}),t))}},Dt=zt.postMapLoadEvent.bind(zt),Rt=new class extends Mt{constructor(){super("gljs.performance")}postPerformanceEvent(t,e){o.EVENTS_URL&&(t||o.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:e},t)}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:n,performanceData:r}=this.queue.shift(),o=function(t){const n=e.performance.getEntriesByType("resource"),r=e.performance.getEntriesByType("mark"),o=function(t){const e={};if(t)for(const i in t)if("other"!==i)for(const n of t[i]){const t=`${i}ResolveRangeMin`,r=`${i}ResolveRangeMax`,o=`${i}RequestCount`,s=`${i}RequestCachedCount`;e[t]=Math.min(e[t]||1/0,n.startTime),e[r]=Math.max(e[r]||-1/0,n.responseEnd);const a=t=>{void 0===e[t]&&(e[t]=0),++e[t]};void 0!==n.transferSize&&0===n.transferSize&&a(s),a(o)}return e}(function(t,e){const i={};if(t)for(const n of t){const t=e(n);void 0===i[t]&&(i[t]=[]),i[t].push(n)}return i}(n,Vt)),s=e.devicePixelRatio,a=e.navigator.connection||e.navigator.mozConnection||e.navigator.webkitConnection,l={counters:[],metadata:[],attributes:[]},c=(t,e,i)=>{null!=i&&t.push({name:e,value:i.toString()})};for(const t in o)c(l.counters,t,o[t]);if(t.interactionRange[0]!==1/0&&t.interactionRange[1]!==-1/0&&(c(l.counters,"interactionRangeMin",t.interactionRange[0]),c(l.counters,"interactionRangeMax",t.interactionRange[1])),r)for(const t of Object.keys(Ut)){const e=Ut[t],i=r.find((t=>t.name===e));i&&c(l.counters,e,i.startTime)}return c(l.counters,"visibilityHidden",t.visibilityHidden),c(l.attributes,"style",function(t){if(t)for(const e of t){const t=e.name.split("?")[0];if(At(t)){const e=t.split("/").slice(-2);if(2===e.length)return`mapbox://styles/${e[0]}/${e[1]}`}}}(n)),c(l.attributes,"terrainEnabled",t.terrainEnabled?"true":"false"),c(l.attributes,"fogEnabled",t.fogEnabled?"true":"false"),c(l.attributes,"projection",t.projection),c(l.attributes,"zoom",t.zoom),c(l.metadata,"devicePixelRatio",s),c(l.metadata,"connectionEffectiveType",a?a.effectiveType:void 0),c(l.metadata,"navigatorUserAgent",e.navigator.userAgent),c(l.metadata,"screenWidth",e.screen.width),c(l.metadata,"screenHeight",e.screen.height),c(l.metadata,"windowWidth",e.innerWidth),c(l.metadata,"windowHeight",e.innerHeight),c(l.metadata,"mapWidth",t.width/s),c(l.metadata,"mapHeight",t.height/s),c(l.metadata,"webglRenderer",t.renderer),c(l.metadata,"webglVendor",t.vendor),c(l.metadata,"sdkVersion",i),c(l.metadata,"sdkIdentifier","mapbox-gl-js"),l}(r);for(const t of o.metadata);for(const t of o.counters);for(const t of o.attributes);this.postEvent(n,o,(()=>{}),t)}},Ot=Rt.postPerformanceEvent.bind(Rt),Bt=new class extends Mt{constructor(){super("map.auth"),this.success={},this.skuToken=""}getSession(t,e,i,n){if(!o.API_URL||!o.SESSION_PATH)return;const r=Tt(o.API_URL+o.SESSION_PATH);r.params.push(`sku=${e||""}`),r.params.push(`access_token=${n||o.ACCESS_TOKEN||""}`);const s={url:kt(r),headers:{"Content-Type":"text/plain"}};this.pendingRequest=function(t,e){return pt(z(t,{method:"GET"}),e)}(s,(t=>{this.pendingRequest=null,i(t),this.saveEventData(),this.processRequests(n)}))}getSessionAPI(t,e,i,n){this.skuToken=e,this.errorCb=n,o.SESSION_PATH&&o.API_URL&&(i||o.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},i):this.errorCb(new Error(vt)))}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:i}=this.queue.shift();e&&this.success[e]||this.getSession(i,this.skuToken,(t=>{t?this.errorCb(t):e&&(this.success[e]=!0)}),t)}},Nt=Bt.getSessionAPI.bind(Bt),Ft=new Set,Ut={create:"create",load:"load",fullLoad:"fullLoad"},jt={mark(t){e.performance.mark(t)},measure(t,i,n){e.performance.measure(t,i,n)}};function Vt(t){const e=t.name.split("?")[0];return wt(e)&&e.includes("mapbox-gl.js")?"javascript":wt(e)&&e.includes("mapbox-gl.css")?"css":function(t){return o.API_FONTS_REGEX.test(t)}(e)?"fontRange":Et(e)?"sprite":At(e)?"style":function(t){return o.API_TILEJSON_REGEX.test(t)}(e)?"tilejson":"other"}const Gt=e.performance;function qt(t){const e=t?t.url.toString():void 0;return Gt.getEntriesByName(e)}let Zt,$t,Xt,Wt;const Ht={now:()=>void 0!==Xt?Xt:e.performance.now(),setNow(t){Xt=t},restoreNow(){Xt=void 0},frame(t){const i=e.requestAnimationFrame(t);return{cancel:()=>e.cancelAnimationFrame(i)}},getImageData(t,i=0){const{width:n,height:r}=t;Wt||(Wt=e.document.createElement("canvas"));const o=Wt.getContext("2d",{willReadFrequently:!0});if(!o)throw new Error("failed to create canvas 2d context");return(n>Wt.width||r>Wt.height)&&(Wt.width=n,Wt.height=r),o.clearRect(-i,-i,n+2*i,r+2*i),o.drawImage(t,0,0,n,r),o.getImageData(-i,-i,n+2*i,r+2*i)},resolveURL:t=>(Zt||(Zt=e.document.createElement("a")),Zt.href=t,Zt.href),get devicePixelRatio(){return e.devicePixelRatio},get prefersReducedMotion(){return!!e.matchMedia&&(null==$t&&($t=e.matchMedia("(prefers-reduced-motion: reduce)")),$t.matches)}};function Yt(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function Kt(t,e,i){if(i&&i[t]){const n=i[t].indexOf(e);-1!==n&&i[t].splice(n,1)}}class Jt{constructor(t,e={}){z(this,e),this.type=t}}class Qt extends Jt{constructor(t,e={}){super("error",z({error:t},e))}}class te{on(t,e){return this._listeners=this._listeners||{},Yt(t,e,this._listeners),this}off(t,e){return Kt(t,e,this._listeners),Kt(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},Yt(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new Jt(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const e of n)Kt(i,e,this._oneTimeListeners),e.call(this,t);const r=this._eventedParent;r&&(z(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),r.fire(t))}else t instanceof Qt&&console.error(t.error);return this}listens(t){return!!(this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t))}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var ee=JSON.parse('{"$version":8,"$root":{"version":{"required":true,"type":"enum","values":[8]},"name":{"type":"string"},"metadata":{"type":"*"},"center":{"type":"array","value":"number"},"zoom":{"type":"number"},"bearing":{"type":"number","default":0,"period":360,"units":"degrees"},"pitch":{"type":"number","default":0,"units":"degrees"},"light":{"type":"light"},"terrain":{"type":"terrain"},"fog":{"type":"fog"},"sources":{"required":true,"type":"sources"},"sprite":{"type":"string"},"glyphs":{"type":"string"},"transition":{"type":"transition"},"projection":{"type":"projection"},"layers":{"required":true,"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":true,"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":false},"*":{"type":"*"}},"source_raster":{"type":{"required":true,"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":false},"*":{"type":"*"}},"source_raster_dem":{"type":{"required":true,"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":{}},"default":"mapbox"},"volatile":{"type":"boolean","default":false},"*":{"type":"*"}},"source_geojson":{"type":{"required":true,"type":"enum","values":{"geojson":{}}},"data":{"type":"*"},"maxzoom":{"type":"number","default":18},"attribution":{"type":"string"},"buffer":{"type":"number","default":128,"maximum":512,"minimum":0},"filter":{"type":"*"},"tolerance":{"type":"number","default":0.375},"cluster":{"type":"boolean","default":false},"clusterRadius":{"type":"number","default":50,"minimum":0},"clusterMaxZoom":{"type":"number"},"clusterMinPoints":{"type":"number"},"clusterProperties":{"type":"*"},"lineMetrics":{"type":"boolean","default":false},"generateId":{"type":"boolean","default":false},"promoteId":{"type":"promoteId"}},"source_video":{"type":{"required":true,"type":"enum","values":{"video":{}}},"urls":{"required":true,"type":"array","value":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"source_image":{"type":{"required":true,"type":"enum","values":{"image":{}}},"url":{"required":true,"type":"string"},"coordinates":{"required":true,"type":"array","length":4,"value":{"type":"array","length":2,"value":"number"}}},"layer":{"id":{"type":"string","required":true},"type":{"type":"enum","values":{"fill":{},"line":{},"symbol":{},"circle":{},"heatmap":{},"fill-extrusion":{},"raster":{},"hillshade":{},"background":{},"sky":{}},"required":true},"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_background","layout_sky"],"layout_background":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_sky":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill":{"fill-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_circle":{"circle-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_heatmap":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"},"fill-extrusion-edge-radius":{"type":"number","private":true,"default":0,"minimum":0,"maximum":1,"property-type":"constant"}},"layout_line":{"line-cap":{"type":"enum","values":{"butt":{},"round":{},"square":{}},"default":"butt","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-join":{"type":"enum","values":{"bevel":{},"round":{},"miter":{}},"default":"miter","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{"type":"number","default":2,"requires":[{"line-join":"miter"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-round-limit":{"type":"number","default":1.05,"requires":[{"line-join":"round"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_symbol":{"symbol-placement":{"type":"enum","values":{"point":{},"line":{},"line-center":{}},"default":"point","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-spacing":{"type":"number","default":250,"minimum":1,"units":"pixels","requires":[{"symbol-placement":"line"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{"type":"boolean","default":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{"type":"number","expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{"type":"enum","values":{"auto":{},"viewport-y":{},"source":{}},"default":"auto","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{"type":"boolean","default":false,"requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-optional":{"type":"boolean","default":false,"requires":["icon-image","text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-size":{"type":"number","default":1,"minimum":0,"units":"factor of the original icon size","requires":["icon-image"],"expression":{"interpolated":true,"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":false,"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":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-image":{"type":"resolvedImage","tokens":true,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{"type":"boolean","default":false,"requires":["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"icon-offset":{"type":"array","value":"number","length":2,"default":[0,0],"requires":["icon-image"],"expression":{"interpolated":true,"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":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{"type":"enum","values":{"map":{},"viewport":{},"auto":{}},"default":"auto","requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-field":{"type":"formatted","default":"","tokens":true,"expression":{"interpolated":false,"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":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-size":{"type":"number","default":16,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{"type":"number","default":10,"minimum":0,"units":"ems","requires":["text-field",{"symbol-placement":["point"]}],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{"type":"number","default":1.2,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{"type":"number","default":0,"units":"ems","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-justify":{"type":"enum","values":{"auto":{},"left":{},"center":{},"right":{}},"default":"center","requires":["text-field"],"expression":{"interpolated":false,"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":true,"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":false,"parameters":["zoom"]},"property-type":"data-constant"},"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":false,"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":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-writing-mode":{"type":"array","value":"enum","values":{"horizontal":{},"vertical":{}},"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-rotate":{"type":"number","default":0,"period":360,"units":"degrees","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-padding":{"type":"number","default":2,"minimum":0,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-keep-upright":{"type":"boolean","default":true,"requires":["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-transform":{"type":"enum","values":{"none":{},"uppercase":{},"lowercase":{}},"default":"none","requires":["text-field"],"expression":{"interpolated":false,"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":true,"parameters":["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{"type":"boolean","default":false,"requires":["text-field"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-optional":{"type":"boolean","default":false,"requires":["text-field","icon-image"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_raster":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"layout_hillshade":{"visibility":{"type":"enum","values":{"visible":{},"none":{}},"default":"visible","property-type":"constant"}},"filter":{"type":"array","value":"*"},"filter_symbol":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature","pitch","distance-from-center"]}},"filter_fill":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_line":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_circle":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_fill-extrusion":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_heatmap":{"type":"boolean","default":false,"transition":false,"property-type":"data-driven","expression":{"interpolated":false,"parameters":["zoom","feature"]}},"filter_operator":{"type":"enum","values":{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{},"within":{}}},"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":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"high-color":{"type":"color","property-type":"data-constant","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"space-color":{"type":"color","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"star-intensity":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"property-type":"data-constant","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":{},"equalEarth":{},"equirectangular":{},"lambertConformalConic":{},"mercator":{},"naturalEarth":{},"winkelTripel":{},"globe":{}},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-180,-90],"maximum":[180,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-90,-90],"maximum":[90,90],"transition":false,"requires":[{"name":["albers","lambertConformalConic"]}]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["source"]}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"fill-extrusion-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant","type":"number","private":true,"default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant","type":"number","private":true,"default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true,"requires":["fill-extrusion-edge-radius"]},"fill-extrusion-rounded-roof":{"type":"boolean","default":true,"requires":["fill-extrusion-edge-radius"],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"line-pattern"}],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"transition":false,"units":"line widths","requires":[{"!":"line-pattern"}],"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{"type":"color","transition":false,"requires":[{"!":"line-pattern"},{"source":"geojson","has":{"lineMetrics":true}}],"expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"transition":false,"requires":[{"source":"geojson","has":{"lineMetrics":true}}],"property-type":"constant"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"units":"pixels","expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"transition":false,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"transition":false,"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["icon-image"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"units":"pixels","requires":["text-field"],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"units":"degrees","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":{},"nearest":{}},"default":"linear","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"transition":false,"units":"milliseconds","expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"transition":false,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":{},"viewport":{}},"default":"viewport","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"requires":[{"!":"background-pattern"}],"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":{},"atmosphere":{}},"default":"atmosphere","expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"requires":[{"sky-type":"atmosphere"}],"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","requires":[{"sky-type":"atmosphere"}],"default":10,"minimum":0,"maximum":100,"transition":false,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","requires":[{"sky-type":"gradient"}],"value":"number","default":[0,0],"length":2,"units":"degrees","minimum":[0,0],"maximum":[360,180],"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","requires":[{"sky-type":"gradient"}],"default":90,"minimum":0,"maximum":180,"transition":false,"expression":{"interpolated":false,"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"transition":false,"requires":[{"sky-type":"gradient"}],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","transition":false,"requires":[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"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"},"color-ramp":{"type":"property-type"},"data-constant":{"type":"property-type"},"constant":{"type":"property-type"}},"promoteId":{"*":{"type":"string"}}}');function ie(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}function ne(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function re(t){if(Array.isArray(t))return t.map(re);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const i in t)e[i]=re(t[i]);return e}return ne(t)}class oe extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}var se=oe;class ae{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,i]of e)this.bindings[t]=i}concat(t){return new ae(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}var le=ae;const ce={kind:"null"},ue={kind:"number"},he={kind:"string"},pe={kind:"boolean"},de={kind:"color"},fe={kind:"object"},me={kind:"value"},ge={kind:"collator"},_e={kind:"formatted"},ye={kind:"resolvedImage"};function ve(t,e){return{kind:"array",itemType:t,N:e}}function xe(t){if("array"===t.kind){const e=xe(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const be=[ce,ue,he,pe,de,_e,fe,ve(me),ye];function we(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!we(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of be)if(!we(t,e))return null}return`Expected ${xe(t)} but found ${xe(e)} instead.`}function Ae(t,e){return e.some((e=>e.kind===t.kind))}function Ee(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var Ce,Te={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function ke(t){return(t=Math.round(t))<0?0:t>255?255:t}function Se(t){return ke("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Ie(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function Me(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}try{Ce={}.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in Te)return Te[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=i.indexOf("("),r=i.indexOf(")");if(-1!==n&&r+1===i.length){var o=i.substr(0,n),s=i.substr(n+1,r-(n+1)).split(","),a=1;switch(o){case"rgba":if(4!==s.length)return null;a=Ie(s.pop());case"rgb":return 3!==s.length?null:[Se(s[0]),Se(s[1]),Se(s[2]),a];case"hsla":if(4!==s.length)return null;a=Ie(s.pop());case"hsl":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,c=Ie(s[1]),u=Ie(s[2]),h=u<=.5?u*(c+1):u+c-u*c,p=2*u-h;return[ke(255*Me(p,h,l+1/3)),ke(255*Me(p,h,l)),ke(255*Me(p,h,l-1/3)),a];default:return null}}return null}}catch(t){}class Pe{constructor(t,e,i,n=1){this.r=t,this.g=e,this.b=i,this.a=n}static parse(t){if(!t)return;if(t instanceof Pe)return t;if("string"!=typeof t)return;const e=Ce(t);return e?new Pe(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,i,n]=this.toArray();return`rgba(${Math.round(t)},${Math.round(e)},${Math.round(i)},${n})`}toArray(){const{r:t,g:e,b:i,a:n}=this;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*i/n,n]}toArray01(){const{r:t,g:e,b:i,a:n}=this;return 0===n?[0,0,0,0]:[t/n,e/n,i/n,n]}toArray01PremultipliedAlpha(){const{r:t,g:e,b:i,a:n}=this;return[t,e,i,n]}}Pe.black=new Pe(0,0,0,1),Pe.white=new Pe(1,1,1,1),Pe.transparent=new Pe(0,0,0,0),Pe.red=new Pe(1,0,0,1),Pe.blue=new Pe(0,0,1,1);var Le=Pe;class ze{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class De{constructor(t,e,i,n,r){this.text=t.normalize?t.normalize():t,this.image=e,this.scale=i,this.fontStack=n,this.textColor=r}}class Re{constructor(t){this.sections=t}static fromString(t){return new Re([new De(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Re?t:Re.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}serialize(){const t=["format"];for(const e of this.sections){if(e.image){t.push(["image",e.image.name]);continue}t.push(e.text);const i={};e.fontStack&&(i["text-font"]=["literal",e.fontStack.split(",")]),e.scale&&(i["font-scale"]=e.scale),e.textColor&&(i["text-color"]=["rgba"].concat(e.textColor.toArray())),t.push(i)}return t}}class Oe{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Oe({name:t,available:!1}):null}serialize(){return["image",this.name]}}function Be(t,e,i,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,i,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[t,e,i,n]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Ne(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Le)return!0;if(t instanceof ze)return!0;if(t instanceof Re)return!0;if(t instanceof Oe)return!0;if(Array.isArray(t)){for(const e of t)if(!Ne(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Ne(t[e]))return!1;return!0}return!1}function Fe(t){if(null===t)return ce;if("string"==typeof t)return he;if("boolean"==typeof t)return pe;if("number"==typeof t)return ue;if(t instanceof Le)return de;if(t instanceof ze)return ge;if(t instanceof Re)return _e;if(t instanceof Oe)return ye;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=Fe(e);if(i){if(i===t)continue;i=me;break}i=t}return ve(i||me,e)}return fe}function Ue(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Le||t instanceof Re||t instanceof Oe?t.toString():JSON.stringify(t)}class je{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Ne(t[1]))return e.error("invalid value");const i=t[1];let n=Fe(i);const r=e.expectedType;return"array"!==n.kind||0!==n.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(n=r),new je(n,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Le?["rgba"].concat(this.value.toArray()):this.value instanceof Re?this.value.serialize():this.value}}var Ve=je,Ge=class{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}};const qe={string:he,number:ue,boolean:pe,object:fe};class Ze{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,n=1;const r=t[0];if("array"===r){let r,o;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in qe)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=qe[i],n++}else r=me;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}i=ve(r,o)}else i=qe[r];const o=[];for(;nt.outputDefined()))}serialize(){const t=this.type,e=[t.kind];if("array"===t.kind){const i=t.itemType;if("string"===i.kind||"number"===i.kind||"boolean"===i.kind){e.push(i.kind);const n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((t=>t.serialize())))}}var $e=Ze;class Xe{constructor(t){this.type=_e,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const n=[];let r=!1;for(let i=1;i<=t.length-1;++i){const o=t[i];if(r&&"object"==typeof o&&!Array.isArray(o)){r=!1;let t=null;if(o["font-scale"]&&(t=e.parse(o["font-scale"],1,ue),!t))return null;let i=null;if(o["text-font"]&&(i=e.parse(o["text-font"],1,ve(he)),!i))return null;let s=null;if(o["text-color"]&&(s=e.parse(o["text-color"],1,de),!s))return null;const a=n[n.length-1];a.scale=t,a.font=i,a.textColor=s}else{const o=e.parse(t[i],1,me);if(!o)return null;const s=o.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,n.push({content:o,scale:null,font:null,textColor:null})}}return new Xe(n)}evaluate(t){return new Re(this.sections.map((e=>{const i=e.content.evaluate(t);return Fe(i)===ye?new De("",i,null,null,null):new De(Ue(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}serialize(){const t=["format"];for(const e of this.sections){t.push(e.content.serialize());const i={};e.scale&&(i["font-scale"]=e.scale.serialize()),e.font&&(i["text-font"]=e.font.serialize()),e.textColor&&(i["text-color"]=e.textColor.serialize()),t.push(i)}return t}}class We{constructor(t){this.type=ye,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,he);return i?new We(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Oe.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}serialize(){return["image",this.input.serialize()]}}const He={"to-boolean":pe,"to-color":de,"to-number":ue,"to-string":he};class Ye{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const n=He[i],r=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Be(e[0],e[1],e[2],e[3]),!i))return new Le(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Ge(i||`Could not parse color from value '${"string"==typeof e?e:String(JSON.stringify(e))}'`)}if("number"===this.type.kind){let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new Ge(`Could not convert ${JSON.stringify(e)} to number.`)}return"formatted"===this.type.kind?Re.fromString(Ue(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Oe.fromString(Ue(this.args[0].evaluate(t))):Ue(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new Xe([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new We(this.args[0]).serialize();const t=[`to-${this.type.kind}`];return this.eachChild((e=>{t.push(e.serialize())})),t}}var Ke=Ye;const Je=["Unknown","Point","LineString","Polygon"];var Qe=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Je[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||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const t=this.featureDistanceData.center,e=this.featureDistanceData.scale,{x:i,y:n}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(i*e-t[0])+this.featureDistanceData.bearing[1]*(n*e-t[1])}return 0}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Le.parse(t)),e}};class ti{constructor(t,e,i,n){this.name=t,this.type=e,this._evaluate=i,this.args=n}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((t=>t.serialize())))}static parse(t,e){const i=t[0],n=ti.definitions[i];if(!n)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(n)?n[0]:n.type,o=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,s=o.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let a=null;for(const[n,o]of s){a=new ki(e.registry,e.path,null,e.scope);const s=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(xe).join(", ")})`:`(${xe(e.type)}...)`;var e})).join(" | "),n=[];for(let i=1;i=e[2]||t[1]<=e[1]||t[3]>=e[3])}function si(t,e){const i=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,r=Math.pow(2,e.z);return[Math.round(i*r*ni),Math.round(n*r*ni)]}function ai(t,e,i){const n=t[0]-e[0],r=t[1]-e[1],o=t[0]-i[0],s=t[1]-i[1];return n*s-o*r==0&&n*o<=0&&r*s<=0}function li(t,e){let i=!1;for(let s=0,a=e.length;s(n=t)[1]!=(o=a[e+1])[1]>n[1]&&n[0]<(o[0]-r[0])*(n[1]-r[1])/(o[1]-r[1])+r[0]&&(i=!i)}}var n,r,o;return i}function ci(t,e){for(let i=0;i0&&a<0||s<0&&a>0}function hi(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*n;let r=t[0]-i[0]>e?-n:i[0]-t[0]>e?n:0;0===r&&(r=t[0]-i[2]>e?-n:i[2]-t[0]>e?n:0),t[0]+=r}ri(e,t)}function _i(t,e,i,n){const r=Math.pow(2,n.z)*ni,o=[n.x*ni,n.y*ni],s=[];if(!t)return s;for(const n of t)for(const t of n){const n=[t.x+o[0],t.y+o[1]];gi(n,e,i,r),s.push(n)}return s}function yi(t,e,i,n){const r=Math.pow(2,n.z)*ni,o=[n.x*ni,n.y*ni],s=[];if(!t)return s;for(const i of t){const t=[];for(const n of i){const i=[n.x+o[0],n.y+o[1]];ri(e,i),t.push(i)}s.push(t)}if(e[2]-e[0]<=r/2){(a=e)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const t of s)for(const n of t)gi(n,e,i,r)}var a;return s}class vi{constructor(t,e){this.type=pe,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Ne(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!bi(t)&&(e=!1)})),e}function wi(t){if(t instanceof ei&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!wi(t)&&(e=!1)})),e}function Ai(t,e){if(t instanceof ei&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!Ai(t,e)&&(i=!1)})),i}class Ei{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const i=t[1];return e.scope.has(i)?new Ei(i,e.scope.get(i)):e.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}serialize(){return["var",this.name]}}var Ci=Ei;class Ti{constructor(t,e=[],i,n=new le,r=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=n,this.errors=r,this.expectedType=i}parse(t,e,i,n,r={}){return e?this.concat(e,i,n)._parse(t,r):this._parse(t,r)}_parse(t,e){function i(t,e,i){return"assert"===i?new $e(e,[t]):"coerce"===i?new Ke(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const n=t[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const r=this.registry[n];if(r){let n=r.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,r=n.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==r.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==r.kind&&"string"!==r.kind){if(this.checkSubtype(t,r))return null}else n=i(n,t,e.typeAnnotation||"coerce");else n=i(n,t,e.typeAnnotation||"assert")}if(!(n instanceof Ve)&&"resolvedImage"!==n.type.kind&&Si(n)){const e=new Qe;try{n=new Ve(n.type,n.evaluate(e))}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,i){const n="number"==typeof t?this.path.concat(t):this.path,r=i?this.scope.concat(i):this.scope;return new Ti(this.registry,n,e||null,r,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new se(i,t))}checkSubtype(t,e){const i=we(t,e);return i&&this.error(i),i}}var ki=Ti;function Si(t){if(t instanceof Ci)return Si(t.boundExpression);if(t instanceof ei&&"error"===t.name)return!1;if(t instanceof ii)return!1;if(t instanceof xi)return!1;const e=t instanceof Ke||t instanceof $e;let i=!0;return t.eachChild((t=>{i=e?i&&Si(t):i&&t instanceof Ve})),!!i&&bi(t)&&Ai(t,["zoom","heatmap-density","line-progress","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center"])}function Ii(t,e){const i=t.length-1;let n,r,o=0,s=i,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),n=t[a],r=t[a+1],n<=e){if(a===i||ee))throw new Ge("Input is not a number.");s=a-1}return 0}class Mi{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const i=e.parse(t[1],1,ue);if(!i)return null;const n=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let i=1;i=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=e.parse(s,l,r);if(!c)return null;r=r||c.type,n.push([o,c])}return new Mi(r,i,n)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return i[0].evaluate(t);const r=e.length;return n>=e[r-1]?i[r-1].evaluate(t):i[Ii(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){const t=["step",this.input.serialize()];for(let e=0;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t}}var Pi=Mi;function Li(t,e,i){return t*(1-i)+e*i}var zi=Object.freeze({__proto__:null,array:function(t,e,i){return t.map(((t,n)=>Li(t,e[n],i)))},color:function(t,e,i){return new Le(Li(t.r,e.r,i),Li(t.g,e.g,i),Li(t.b,e.b,i),Li(t.a,e.a,i))},number:Li});const Di=.95047,Ri=1.08883,Oi=4/29,Bi=6/29,Ni=3*Bi*Bi,Fi=Bi*Bi*Bi,Ui=Math.PI/180,ji=180/Math.PI;function Vi(t){return t>Fi?Math.pow(t,1/3):t/Ni+Oi}function Gi(t){return t>Bi?t*t*t:Ni*(t-Oi)}function qi(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Zi(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function $i(t){const e=Zi(t.r),i=Zi(t.g),n=Zi(t.b),r=Vi((.4124564*e+.3575761*i+.1804375*n)/Di),o=Vi((.2126729*e+.7151522*i+.072175*n)/1);return{l:116*o-16,a:500*(r-o),b:200*(o-Vi((.0193339*e+.119192*i+.9503041*n)/Ri)),alpha:t.a}}function Xi(t){let e=(t.l+16)/116,i=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Gi(e),i=Di*Gi(i),n=Ri*Gi(n),new Le(qi(3.2404542*i-1.5371385*e-.4985314*n),qi(-.969266*i+1.8760108*e+.041556*n),qi(.0556434*i-.2040259*e+1.0572252*n),t.alpha)}function Wi(t,e,i){const n=e-t;return t+i*(n>180||n<-180?n-360*Math.round(n/360):n)}const Hi={forward:$i,reverse:Xi,interpolate:function(t,e,i){return{l:Li(t.l,e.l,i),a:Li(t.a,e.a,i),b:Li(t.b,e.b,i),alpha:Li(t.alpha,e.alpha,i)}}},Yi={forward:function(t){const{l:e,a:i,b:n}=$i(t),r=Math.atan2(n,i)*ji;return{h:r<0?r+360:r,c:Math.sqrt(i*i+n*n),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Ui,i=t.c;return Xi({l:t.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:t.alpha})},interpolate:function(t,e,i){return{h:Wi(t.h,e.h,i),c:Li(t.c,e.c,i),l:Li(t.l,e.l,i),alpha:Li(t.alpha,e.alpha,i)}}};var Ki=Object.freeze({__proto__:null,hcl:Yi,lab:Hi});class Ji{constructor(t,e,i,n,r){this.type=t,this.operator=e,this.interpolation=i,this.input=n,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e)}static interpolationFactor(t,e,i,n){let r=0;if("exponential"===t.name)r=Qi(e,t.base,i,n);else if("linear"===t.name)r=Qi(e,1,i,n);else if("cubic-bezier"===t.name){const o=t.controlPoints;r=new g(o[0],o[1],o[2],o[3]).solve(Qi(e,1,i,n))}return r}static parse(t,e){let[i,n,r,...o]=t;if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){const t=n[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:t}}else{if("cubic-bezier"!==n[0])return e.error(`Unknown interpolation type ${String(n[0])}`,1,0);{const t=n.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,ue),!r)return null;const s=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=de:e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(let t=0;t=i)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=e.parse(n,l,a);if(!c)return null;a=a||c.type,s.push([i,c])}return"number"===a.kind||"color"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new Ji(a,i,n,r,s):e.error(`Type ${xe(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return i[0].evaluate(t);const r=e.length;if(n>=e[r-1])return i[r-1].evaluate(t);const o=Ii(e,n),s=Ji.interpolationFactor(this.interpolation,n,e[o],e[o+1]),a=i[o].evaluate(t),l=i[o+1].evaluate(t);return"interpolate"===this.operator?zi[this.type.kind.toLowerCase()](a,l,s):"interpolate-hcl"===this.operator?Yi.reverse(Yi.interpolate(Yi.forward(a),Yi.forward(l),s)):Hi.reverse(Hi.interpolate(Hi.forward(a),Hi.forward(l),s))}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){let t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const e=[this.operator,t,this.input.serialize()];for(let t=0;twe(n,t.type)));return new en(o?me:i,r)}evaluate(t){let e,i=null,n=0;for(const r of this.args){if(n++,i=r.evaluate(t),i&&i instanceof Oe&&!i.available&&(e||(e=i),i=null,n===this.args.length))return e;if(null!==i)break}return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){const t=["coalesce"];return this.eachChild((e=>{t.push(e.serialize())})),t}}var nn=en;class rn{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new Ge(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new Ge(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}var an=sn;class ln{constructor(t,e){this.type=pe,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,me),n=e.parse(t[2],2,me);return i&&n?Ae(i.type,[pe,he,ue,ce,me])?new ln(i,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${xe(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(null==i)return!1;if(!Ee(e,["boolean","string","number","null"]))throw new Ge(`Expected first argument to be of type boolean, string, number or null, but found ${xe(Fe(e))} instead.`);if(!Ee(i,["string","array"]))throw new Ge(`Expected second argument to be of type array or string, but found ${xe(Fe(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}var cn=ln;class un{constructor(t,e,i){this.type=ue,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,me),n=e.parse(t[2],2,me);if(!i||!n)return null;if(!Ae(i.type,[pe,he,ue,ce,me]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${xe(i.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,ue);return r?new un(i,n,r):null}return new un(i,n)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!Ee(e,["boolean","string","number","null"]))throw new Ge(`Expected first argument to be of type boolean, string, number or null, but found ${xe(Fe(e))} instead.`);if(!Ee(i,["string","array"]))throw new Ge(`Expected second argument to be of type array or string, but found ${xe(Fe(i))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return i.indexOf(e,n)}return i.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}var hn=un;class pn{constructor(t,e,i,n,r,o){this.inputType=t,this.type=e,this.input=i,this.cases=n,this.outputs=r,this.otherwise=o}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let i,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const r={},o=[];for(let s=2;sNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,Fe(t)))return null}else i=Fe(t);if(void 0!==r[String(t)])return c.error("Branch labels must be unique.");r[String(t)]=o.length}const u=e.parse(l,s,n);if(!u)return null;n=n||u.type,o.push(u)}const s=e.parse(t[1],1,me);if(!s)return null;const a=e.parse(t[t.length-1],t.length-1,n);return a?"value"!==s.type.kind&&e.concat(1).checkSubtype(i,s.type)?null:new pn(i,n,s,r,o,a):null}evaluate(t){const e=this.input.evaluate(t);return(Fe(e)===this.inputType&&this.outputs[this.cases[e]]||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()}serialize(){const t=["match",this.input.serialize()],e=Object.keys(this.cases).sort(),i=[],n={};for(const t of e){const e=n[this.cases[t]];void 0===e?(n[this.cases[t]]=i.length,i.push([this.cases[t],[t]])):i[e][1].push(t)}const r=t=>"number"===this.inputType.kind?Number(t):t;for(const[e,n]of i)t.push(1===n.length?r(n[0]):n.map(r)),t.push(this.outputs[e].serialize());return t.push(this.otherwise.serialize()),t}}var dn=pn;class fn{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const n=[];for(let r=1;re.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const t=["case"];return this.eachChild((e=>{t.push(e.serialize())})),t}}var mn=fn;class gn{constructor(t,e,i,n){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,me),n=e.parse(t[2],2,ue);if(!i||!n)return null;if(!Ae(i.type,[ve(me),he,me]))return e.error(`Expected first argument to be of type array or string, but found ${xe(i.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,ue);return r?new gn(i.type,i,n,r):null}return new gn(i.type,i,n)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!Ee(e,["string","array"]))throw new Ge(`Expected first argument to be of type array or string, but found ${xe(Fe(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(i,n)}return e.slice(i)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}var _n=gn;function yn(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function vn(t,e,i,n){return 0===n.compare(e,i)}function xn(t,e,i){const n="=="!==t&&"!="!==t;return class r{constructor(t,e,i){this.type=pe,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let o=e.parse(t[1],1,me);if(!o)return null;if(!yn(i,o.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${xe(o.type)}'.`);let s=e.parse(t[2],2,me);if(!s)return null;if(!yn(i,s.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${xe(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return e.error(`Cannot compare types '${xe(o.type)}' and '${xe(s.type)}'.`);n&&("value"===o.type.kind&&"value"!==s.type.kind?o=new $e(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new $e(o.type,[s])));let a=null;if(4===t.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,ge),!a)return null}return new r(o,s,a)}evaluate(r){const o=this.lhs.evaluate(r),s=this.rhs.evaluate(r);if(n&&this.hasUntypedArgument){const e=Fe(o),i=Fe(s);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new Ge(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=Fe(o),i=Fe(s);if("string"!==t.kind||"string"!==i.kind)return e(r,o,s)}return this.collator?i(r,o,s,this.collator.evaluate(r)):e(r,o,s)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}serialize(){const e=[t];return this.eachChild((t=>{e.push(t.serialize())})),e}}}const bn=xn("==",(function(t,e,i){return e===i}),vn),wn=xn("!=",(function(t,e,i){return e!==i}),(function(t,e,i,n){return!vn(0,e,i,n)})),An=xn("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,n){return n.compare(e,i)>0})),Cn=xn("<=",(function(t,e,i){return e<=i}),(function(t,e,i,n){return n.compare(e,i)<=0})),Tn=xn(">=",(function(t,e,i){return e>=i}),(function(t,e,i,n){return n.compare(e,i)>=0}));class kn{constructor(t,e,i,n,r,o){this.type=he,this.number=t,this.locale=e,this.currency=i,this.unit=n,this.minFractionDigits=r,this.maxFractionDigits=o}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,ue);if(!i)return null;const n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");let r=null;if(n.locale&&(r=e.parse(n.locale,1,he),!r))return null;let o=null;if(n.currency&&(o=e.parse(n.currency,1,he),!o))return null;let s=null;if(n.unit&&(s=e.parse(n.unit,1,he),!s))return null;let a=null;if(n["min-fraction-digits"]&&(a=e.parse(n["min-fraction-digits"],1,ue),!a))return null;let l=null;return n["max-fraction-digits"]&&(l=e.parse(n["max-fraction-digits"],1,ue),!l)?null:new kn(i,r,o,s,a,l)}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}serialize(){const t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.unit&&(t.unit=this.unit.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]}}class Sn{constructor(t){this.type=ue,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${xe(i.type)} instead.`):new Sn(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Ge(`Expected value to be of type string or array, but found ${xe(Fe(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}serialize(){const t=["length"];return this.eachChild((e=>{t.push(e.serialize())})),t}}const In={"==":bn,"!=":wn,">":En,"<":An,">=":Tn,"<=":Cn,array:$e,at:an,boolean:$e,case:mn,coalesce:nn,collator:ii,format:Xe,image:We,in:cn,"index-of":hn,interpolate:tn,"interpolate-hcl":tn,"interpolate-lab":tn,length:Sn,let:on,literal:Ve,match:dn,number:$e,"number-format":kn,object:$e,slice:_n,step:Pi,string:$e,"to-boolean":Ke,"to-color":Ke,"to-number":Ke,"to-string":Ke,var:Ci,within:xi};function Mn(t,[e,i,n,r]){e=e.evaluate(t),i=i.evaluate(t),n=n.evaluate(t);const o=r?r.evaluate(t):1,s=Be(e,i,n,o);if(s)throw new Ge(s);return new Le(e/255*o,i/255*o,n/255*o,o)}function Pn(t,e){return t in e}function Ln(t,e){const i=e[t];return void 0===i?null:i}function zn(t){return{type:t}}ei.register(In,{error:[{kind:"error"},[he],(t,[e])=>{throw new Ge(e.evaluate(t))}],typeof:[he,[me],(t,[e])=>xe(Fe(e.evaluate(t)))],"to-rgba":[ve(ue,4),[de],(t,[e])=>e.evaluate(t).toArray()],rgb:[de,[ue,ue,ue],Mn],rgba:[de,[ue,ue,ue,ue],Mn],has:{type:pe,overloads:[[[he],(t,[e])=>Pn(e.evaluate(t),t.properties())],[[he,fe],(t,[e,i])=>Pn(e.evaluate(t),i.evaluate(t))]]},get:{type:me,overloads:[[[he],(t,[e])=>Ln(e.evaluate(t),t.properties())],[[he,fe],(t,[e,i])=>Ln(e.evaluate(t),i.evaluate(t))]]},"feature-state":[me,[he],(t,[e])=>Ln(e.evaluate(t),t.featureState||{})],properties:[fe,[],t=>t.properties()],"geometry-type":[he,[],t=>t.geometryType()],id:[me,[],t=>t.id()],zoom:[ue,[],t=>t.globals.zoom],pitch:[ue,[],t=>t.globals.pitch||0],"distance-from-center":[ue,[],t=>t.distanceFromCenter()],"heatmap-density":[ue,[],t=>t.globals.heatmapDensity||0],"line-progress":[ue,[],t=>t.globals.lineProgress||0],"sky-radial-progress":[ue,[],t=>t.globals.skyRadialProgress||0],accumulated:[me,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ue,zn(ue),(t,e)=>{let i=0;for(const n of e)i+=n.evaluate(t);return i}],"*":[ue,zn(ue),(t,e)=>{let i=1;for(const n of e)i*=n.evaluate(t);return i}],"-":{type:ue,overloads:[[[ue,ue],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[ue],(t,[e])=>-e.evaluate(t)]]},"/":[ue,[ue,ue],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[ue,[ue,ue],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[ue,[],()=>Math.LN2],pi:[ue,[],()=>Math.PI],e:[ue,[],()=>Math.E],"^":[ue,[ue,ue],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[ue,[ue],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))],log2:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ue,[ue],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ue,[ue],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ue,[ue],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ue,[ue],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ue,[ue],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ue,[ue],(t,[e])=>Math.atan(e.evaluate(t))],min:[ue,zn(ue),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ue,zn(ue),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ue,[ue],(t,[e])=>Math.abs(e.evaluate(t))],round:[ue,[ue],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[ue,[ue],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ue,[ue],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[pe,[he,me],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[pe,[me],(t,[e])=>t.id()===e.value],"filter-type-==":[pe,[he],(t,[e])=>t.geometryType()===e.value],"filter-<":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n{const i=t.id(),n=e.value;return typeof i==typeof n&&i":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n>r}],"filter-id->":[pe,[me],(t,[e])=>{const i=t.id(),n=e.value;return typeof i==typeof n&&i>n}],"filter-<=":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n<=r}],"filter-id-<=":[pe,[me],(t,[e])=>{const i=t.id(),n=e.value;return typeof i==typeof n&&i<=n}],"filter->=":[pe,[he,me],(t,[e,i])=>{const n=t.properties()[e.value],r=i.value;return typeof n==typeof r&&n>=r}],"filter-id->=":[pe,[me],(t,[e])=>{const i=t.id(),n=e.value;return typeof i==typeof n&&i>=n}],"filter-has":[pe,[me],(t,[e])=>e.value in t.properties()],"filter-has-id":[pe,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[pe,[ve(he)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[pe,[ve(me)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[pe,[he,ve(me)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[pe,[he,ve(me)],(t,[e,i])=>function(t,e,i,n){for(;i<=n;){const r=i+n>>1;if(e[r]===t)return!0;e[r]>t?n=r-1:i=r+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:pe,overloads:[[[pe,pe],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[zn(pe),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:pe,overloads:[[[pe,pe],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[zn(pe),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[pe,[pe],(t,[e])=>!e.evaluate(t)],"is-supported-script":[pe,[he],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[he,[he],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[he,[he],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[he,zn(me),(t,e)=>e.map((e=>Ue(e.evaluate(t)))).join("")],"resolved-locale":[he,[ge],(t,[e])=>e.evaluate(t).resolvedLocale()]});var Dn=In;function Rn(t){return{result:"success",value:t}}function On(t){return{result:"error",value:t}}function Bn(t){return"data-driven"===t["property-type"]}function Nn(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Fn(t){return!!t.expression&&t.expression.interpolated}function Un(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function jn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Vn(t){return t}function Gn(t,e){const i="color"===e.type,n=t.stops&&"object"==typeof t.stops[0][0],r=n||!(n||void 0!==t.property),o=t.type||(Fn(e)?"exponential":"interval");if(i&&((t=ie({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],Le.parse(t[1])]))),t.default=Le.parse(t.default?t.default:e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!Ki[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let s,a,l;if("exponential"===o)s=Xn;else if("interval"===o)s=$n;else if("categorical"===o){s=Zn,a=Object.create(null);for(const e of t.stops)a[e[0]]=e[1];l=typeof t.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);s=Wn}if(n){const i={},n=[];for(let e=0;et[0])),evaluate:({zoom:i},n)=>Xn({stops:r,base:t.base},e,i).evaluate(i,n)}}if(r){const i="exponential"===o?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:tn.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>s(t,e,i,a,l)}}return{kind:"source",evaluate(i,n){const r=n&&n.properties?n.properties[t.property]:void 0;return void 0===r?qn(t.default,e.default):s(t,e,r,a,l)}}}function qn(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function Zn(t,e,i,n,r){return qn(typeof i===r?n[i]:void 0,t.default,e.default)}function $n(t,e,i){if("number"!==Un(i))return qn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const r=Ii(t.stops.map((t=>t[0])),i);return t.stops[r][1]}function Xn(t,e,i){const n=void 0!==t.base?t.base:1;if("number"!==Un(i))return qn(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const o=Ii(t.stops.map((t=>t[0])),i),s=function(t,e,i,n){const r=n-i,o=t-i;return 0===r?0:1===e?o/r:(Math.pow(e,o)-1)/(Math.pow(e,r)-1)}(i,n,t.stops[o][0],t.stops[o+1][0]),a=t.stops[o][1],l=t.stops[o+1][1];let c=zi[e.type]||Vn;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=Ki[t.colorSpace];c=(t,i)=>e.reverse(e.interpolate(e.forward(t),e.forward(i),s))}return"function"==typeof a.evaluate?{evaluate(...t){const e=a.evaluate.apply(void 0,t),i=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==i)return c(e,i,s)}}:c(a,l,s)}function Wn(t,e,i){return"color"===e.type?i=Le.parse(i):"formatted"===e.type?i=Re.fromString(i.toString()):"resolvedImage"===e.type?i=Oe.fromString(i.toString()):Un(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0),qn(i,t.default,e.default)}class Hn{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Qe,this._defaultValue=e?function(t){return"color"===t.type&&(jn(t.default)||Array.isArray(t.default))?new Le(0,0,0,0):"color"===t.type?Le.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,n,r,o,s,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=n||null,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o,this._evaluator.featureTileCoord=s||null,this._evaluator.featureDistanceData=a||null,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,n,r,o,s,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=n||null,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o||null,this._evaluator.featureTileCoord=s||null,this._evaluator.featureDistanceData=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Ge(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Yn(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Dn}function Kn(t,e){const i=new ki(Dn,[],e?function(t){const e={color:de,string:he,number:ue,enum:he,boolean:pe,formatted:_e,resolvedImage:ye};return"array"===t.type?ve(e[t.value]||me,t.length):e[t.type]}(e):void 0),n=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Rn(new Hn(n,e)):On(i.errors)}class Jn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!wi(e.expression)}evaluateWithoutErrorHandling(t,e,i,n,r,o){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,n,r,o)}evaluate(t,e,i,n,r,o){return this._styleExpression.evaluate(t,e,i,n,r,o)}}class Qn{constructor(t,e,i,n){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!wi(e.expression),this.interpolationType=n}evaluateWithoutErrorHandling(t,e,i,n,r,o){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,n,r,o)}evaluate(t,e,i,n,r,o){return this._styleExpression.evaluate(t,e,i,n,r,o)}interpolationFactor(t,e,i){return this.interpolationType?tn.interpolationFactor(this.interpolationType,t,e,i):0}}function tr(t,e){if("error"===(t=Kn(t,e)).result)return t;const i=t.value.expression,n=bi(i);if(!n&&!Bn(e))return On([new se("","data expressions not supported")]);const r=Ai(i,["zoom","pitch","distance-from-center"]);if(!r&&!Nn(e))return On([new se("","zoom expressions not supported")]);const o=ir(i);return o||r?o instanceof se?On([o]):o instanceof tn&&!Fn(e)?On([new se("",'"interpolate" expressions cannot be used with this property')]):Rn(o?new Qn(n?"camera":"composite",t.value,o.labels,o instanceof tn?o.interpolation:void 0):new Jn(n?"constant":"source",t.value)):On([new se("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class er{constructor(t,e){this._parameters=t,this._specification=e,ie(this,Gn(this._parameters,this._specification))}static deserialize(t){return new er(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function ir(t){let e=null;if(t instanceof on)e=ir(t.result);else if(t instanceof nn){for(const i of t.args)if(e=ir(i),e)break}else(t instanceof Pi||t instanceof tn)&&t.input instanceof ei&&"zoom"===t.input.name&&(e=t);return e instanceof se||t.eachChild((t=>{const i=ir(t);i instanceof se?e=i:!e&&i?e=new se("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new se("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}class nr{constructor(t,e,i,n){this.message=(t?`${t}: `:"")+i,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)}}function rr(t){const e=t.key,i=t.value,n=t.valueSpec||{},r=t.objectElementValidators||{},o=t.style,s=t.styleSpec;let a=[];const l=Un(i);if("object"!==l)return[new nr(e,i,`object expected, ${l} found`)];for(const t in i){const l=t.split(".")[0];let c;r[l]?c=r[l]:n[l]?c=Nr:r["*"]?c=r["*"]:n["*"]&&(c=Nr),c?a=a.concat(c({key:(e?`${e}.`:e)+t,value:i[t],valueSpec:n[l]||n["*"],style:o,styleSpec:s,object:i,objectKey:t},i)):a.push(new nr(e,i[t],`unknown property "${t}"`))}for(const t in n)r[t]||n[t].required&&void 0===n[t].default&&void 0===i[t]&&a.push(new nr(e,i,`missing required property "${t}"`));return a}function or(t){const e=t.value,i=t.valueSpec,n=t.style,r=t.styleSpec,o=t.key,s=t.arrayElementValidator||Nr;if("array"!==Un(e))return[new nr(o,e,`array expected, ${Un(e)} found`)];if(i.length&&e.length!==i.length)return[new nr(o,e,`array length ${i.length} expected, length ${e.length} found`)];if(i["min-length"]&&e.lengthr)return[new nr(e,i,`${i} is greater than the maximum value ${r}`)]}return[]}function ar(t){const e=t.valueSpec,i=ne(t.value.type);let n,r,o,s={};const a="categorical"!==i&&void 0===t.value.property,l=!a,c="array"===Un(t.value.stops)&&"array"===Un(t.value.stops[0])&&"object"===Un(t.value.stops[0][0]),u=rr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nr(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const n=t.value;return e=e.concat(or({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===Un(n)&&0===n.length&&e.push(new nr(t.key,n,"array must have at least one stop")),e},default:function(t){return Nr({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&a&&u.push(new nr(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new nr(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!Fn(t.valueSpec)&&u.push(new nr(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Bn(t.valueSpec)?u.push(new nr(t.key,t.value,"property functions not supported")):a&&!Nn(t.valueSpec)&&u.push(new nr(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new nr(t.key,t.value,'"property" property is required')),u;function h(t){let i=[];const n=t.value,a=t.key;if("array"!==Un(n))return[new nr(a,n,`array expected, ${Un(n)} found`)];if(2!==n.length)return[new nr(a,n,`array length 2 expected, length ${n.length} found`)];if(c){if("object"!==Un(n[0]))return[new nr(a,n,`object expected, ${Un(n[0])} found`)];if(void 0===n[0].zoom)return[new nr(a,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new nr(a,n,"object stop key must have value")];const e=ne(n[0].zoom);if("number"!=typeof e)return[new nr(a,n[0].zoom,"stop zoom values must be numbers")];if(o&&o>e)return[new nr(a,n[0].zoom,"stop zoom values must appear in ascending order")];e!==o&&(o=e,r=void 0,s={}),i=i.concat(rr({key:`${a}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:sr,value:p}}))}else i=i.concat(p({key:`${a}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return Yn(re(n[1]))?i.concat([new nr(`${a}[1]`,n[1],"expressions are not allowed in function stops.")]):i.concat(Nr({key:`${a}[1]`,value:n[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,o){const a=Un(t.value),l=ne(t.value),c=null!==t.value?t.value:o;if(n){if(a!==n)return[new nr(t.key,c,`${a} stop domain type must match previous stop domain type ${n}`)]}else n=a;if("number"!==a&&"string"!==a&&"boolean"!==a&&"number"!=typeof l&&"string"!=typeof l&&"boolean"!=typeof l)return[new nr(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==a&&"categorical"!==i){let n=`number expected, ${a} found`;return Bn(e)&&void 0===i&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nr(t.key,c,n)]}return"categorical"!==i||"number"!==a||"number"==typeof l&&isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===a&&"number"==typeof l&&"number"==typeof r&&void 0!==r&&lnew nr(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nr(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!wi(i))return[new nr(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext)return cr(i,t);if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!Ai(i,["zoom","feature-state"]))return[new nr(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!bi(i))return[new nr(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function cr(t,e){const i=new Set(["zoom","feature-state","pitch","distance-from-center"]);if(e.valueSpec&&e.valueSpec.expression)for(const t of e.valueSpec.expression.parameters)i.delete(t);if(0===i.size)return[];const n=[];return t instanceof ei&&i.has(t.name)?[new nr(e.key,e.value,`["${t.name}"] expression is not supported in a filter for a ${e.object.type} layer with id: ${e.object.id}`)]:(t.eachChild((t=>{n.push(...cr(t,e))})),n)}function ur(t){const e=t.key,i=t.value,n=t.valueSpec,r=[];return Array.isArray(n.values)?-1===n.values.indexOf(ne(i))&&r.push(new nr(e,i,`expected one of [${n.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(n.values).indexOf(ne(i))&&r.push(new nr(e,i,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(i)} found`)),r}function hr(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!hr(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}function pr(t,e="fill"){if(null==t)return{filter:()=>!0,needGeometry:!1,needFeature:!1};hr(t)||(t=vr(t));const i=t;let n=!0;try{n=function(t){if(!mr(t))return t;let e=re(t);return fr(e),e=dr(e),e}(i)}catch(t){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(i,null,2)}\n `)}const r=ee[`filter_${e}`],o=Kn(n,r);let s=null;if("error"===o.result)throw new Error(o.value.map((t=>`${t.key}: ${t.message}`)).join(", "));s=(t,e,i)=>o.value.evaluate(t,e,{},i);let a=null,l=null;if(n!==i){const t=Kn(i,r);if("error"===t.result)throw new Error(t.value.map((t=>`${t.key}: ${t.message}`)).join(", "));a=(e,i,n,r,o)=>t.value.evaluate(e,i,{},n,void 0,void 0,r,o),l=!bi(t.value.expression)}return{filter:s,dynamicFilter:a||void 0,needGeometry:yr(n),needFeature:!!l}}function dr(t){if(!Array.isArray(t))return t;const e=function(t){if(gr.has(t[0]))for(let e=1;edr(t)))}function fr(t){let e=!1;const i=[];if("case"===t[0]){for(let n=1;n",">=","<","<=","to-boolean"]);function _r(t,e){return te?1:0}function yr(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?xr(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(vr))):"all"===e?["all"].concat(t.slice(1).map(vr)):"none"===e?["all"].concat(t.slice(1).map(vr).map(Ar)):"in"===e?br(t[1],t.slice(2)):"!in"===e?Ar(br(t[1],t.slice(2))):"has"===e?wr(t[1]):"!has"===e?Ar(wr(t[1])):"within"!==e||t;var i}function xr(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function br(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(_r)]]:["filter-in-small",t,["literal",e]]}}function wr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Ar(t){return["!",t]}function Er(t){return hr(re(t.value))?lr(ie({},t,{expressionContext:"filter",valueSpec:t.styleSpec[`filter_${t.layerType||"fill"}`]})):Cr(t)}function Cr(t){const e=t.value,i=t.key;if("array"!==Un(e))return[new nr(i,e,`array expected, ${Un(e)} found`)];const n=t.styleSpec;let r,o=[];if(e.length<1)return[new nr(i,e,"filter array must have at least 1 element")];switch(o=o.concat(ur({key:`${i}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),ne(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===ne(e[1])&&o.push(new nr(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&o.push(new nr(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(r=Un(e[1]),"string"!==r&&o.push(new nr(`${i}[1]`,e[1],`string expected, ${r} found`)));for(let s=2;s{t in i&&e.push(new nr(n,i[t],`"${t}" is prohibited for ref layers`))})),r.layers.forEach((e=>{ne(e.id)===a&&(t=e)})),t?t.ref?e.push(new nr(n,i.ref,"ref cannot reference another ref layer")):s=ne(t.type):"string"==typeof a&&e.push(new nr(n,i.ref,`ref layer "${a}" not found`))}else if("background"!==s&&"sky"!==s)if(i.source){const t=r.sources&&r.sources[i.source],o=t&&ne(t.type);t?"vector"===o&&"raster"===s?e.push(new nr(n,i.source,`layer "${i.id}" requires a raster source`)):"raster"===o&&"raster"!==s?e.push(new nr(n,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==o||i["source-layer"]?"raster-dem"===o&&"hillshade"!==s?e.push(new nr(n,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!i.paint||!i.paint["line-gradient"]&&!i.paint["line-trim-offset"]||"geojson"===o&&t.lineMetrics||e.push(new nr(n,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nr(n,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nr(n,i.source,`source "${i.source}" not found`))}else e.push(new nr(n,i,'missing required property "source"'));return e=e.concat(rr({key:n,value:i,valueSpec:o.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>Nr({key:`${n}.type`,value:i.type,valueSpec:o.layer.type,style:t.style,styleSpec:t.styleSpec,object:i,objectKey:"type"}),filter:t=>Er(ie({layerType:s},t)),layout:t=>rr({layer:i,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>Sr(ie({layerType:s},t))}}),paint:t=>rr({layer:i,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>kr(ie({layerType:s},t))}})}})),e}function Mr(t){const e=t.value,i=t.key,n=Un(e);return"string"!==n?[new nr(i,e,`string expected, ${n} found`)]:[]}const Pr={promoteId:function({key:t,value:e}){if("string"===Un(e))return Mr({key:t,value:e});{const i=[];for(const n in e)i.push(...Mr({key:`${t}.${n}`,value:e[n]}));return i}}};function Lr(t){const e=t.value,i=t.key,n=t.styleSpec,r=t.style;if(!e.type)return[new nr(i,e,'"type" is required')];const o=ne(e.type);let s;switch(o){case"vector":case"raster":case"raster-dem":return s=rr({key:i,value:e,valueSpec:n[`source_${o.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:Pr}),s;case"geojson":if(s=rr({key:i,value:e,valueSpec:n.source_geojson,style:r,styleSpec:n,objectElementValidators:Pr}),e.cluster)for(const t in e.clusterProperties){const[n,r]=e.clusterProperties[t],o="string"==typeof n?[n,["accumulated"],["get",t]]:n;s.push(...lr({key:`${i}.${t}.map`,value:r,expressionContext:"cluster-map"})),s.push(...lr({key:`${i}.${t}.reduce`,value:o,expressionContext:"cluster-reduce"}))}return s;case"video":return rr({key:i,value:e,valueSpec:n.source_video,style:r,styleSpec:n});case"image":return rr({key:i,value:e,valueSpec:n.source_image,style:r,styleSpec:n});case"canvas":return[new nr(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ur({key:`${i}.type`,value:e.type,valueSpec:{values:zr(n)},style:r,styleSpec:n})}}function zr(t){return t.source.reduce(((e,i)=>{const n=t[i];return"enum"===n.type.type&&(e=e.concat(Object.keys(n.type.values))),e}),[])}function Dr(t){const e=t.value,i=t.styleSpec,n=i.light,r=t.style;let o=[];const s=Un(e);if(void 0===e)return o;if("object"!==s)return o=o.concat([new nr("light",e,`object expected, ${s} found`)]),o;for(const t in e){const s=t.match(/^(.*)-transition$/);o=o.concat(s&&n[s[1]]&&n[s[1]].transition?Nr({key:t,value:e[t],valueSpec:i.transition,style:r,styleSpec:i}):n[t]?Nr({key:t,value:e[t],valueSpec:n[t],style:r,styleSpec:i}):[new nr(t,e[t],`unknown property "${t}"`)])}return o}function Rr(t){const e=t.value,i=t.key,n=t.style,r=t.styleSpec,o=r.terrain;let s=[];const a=Un(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new nr("terrain",e,`object expected, ${a} found`)]),s;for(const t in e){const i=t.match(/^(.*)-transition$/);s=s.concat(i&&o[i[1]]&&o[i[1]].transition?Nr({key:t,value:e[t],valueSpec:r.transition,style:n,styleSpec:r}):o[t]?Nr({key:t,value:e[t],valueSpec:o[t],style:n,styleSpec:r}):[new nr(t,e[t],`unknown property "${t}"`)])}if(e.source){const t=n.sources&&n.sources[e.source],r=t&&ne(t.type);t?"raster-dem"!==r&&s.push(new nr(i,e.source,`terrain cannot be used with a source of type ${String(r)}, it only be used with a "raster-dem" source type`)):s.push(new nr(i,e.source,`source "${e.source}" not found`))}else s.push(new nr(i,e,'terrain is missing required property "source"'));return s}function Or(t){const e=t.value,i=t.style,n=t.styleSpec,r=n.fog;let o=[];const s=Un(e);if(void 0===e)return o;if("object"!==s)return o=o.concat([new nr("fog",e,`object expected, ${s} found`)]),o;for(const t in e){const s=t.match(/^(.*)-transition$/);o=o.concat(s&&r[s[1]]&&r[s[1]].transition?Nr({key:t,value:e[t],valueSpec:n.transition,style:i,styleSpec:n}):r[t]?Nr({key:t,value:e[t],valueSpec:r[t],style:i,styleSpec:n}):[new nr(t,e[t],`unknown property "${t}"`)])}return o}const Br={"*":()=>[],array:or,boolean:function(t){const e=t.value,i=t.key,n=Un(e);return"boolean"!==n?[new nr(i,e,`boolean expected, ${n} found`)]:[]},number:sr,color:function(t){const e=t.key,i=t.value,n=Un(i);return"string"!==n?[new nr(e,i,`color expected, ${n} found`)]:null===Ce(i)?[new nr(e,i,`color expected, "${i}" found`)]:[]},enum:ur,filter:Er,function:ar,layer:Ir,object:rr,source:Lr,light:Dr,terrain:Rr,fog:Or,string:Mr,formatted:function(t){return 0===Mr(t).length?[]:lr(t)},resolvedImage:function(t){return 0===Mr(t).length?[]:lr(t)},projection:function(t){const e=t.value,i=t.styleSpec,n=i.projection,r=t.style;let o=[];const s=Un(e);if("object"===s)for(const t in e)o=o.concat(Nr({key:t,value:e[t],valueSpec:n[t],style:r,styleSpec:i}));else"string"!==s&&(o=o.concat([new nr("projection",e,`object or string expected, ${s} found`)]));return o}};function Nr(t){const e=t.value,i=t.valueSpec,n=t.styleSpec;return i.expression&&jn(ne(e))?ar(t):i.expression&&Yn(re(e))?lr(t):i.type&&Br[i.type]?Br[i.type](t):rr(ie({},t,{valueSpec:i.type?n[i.type]:i}))}function Fr(t){const e=t.value,i=t.key,n=Mr(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new nr(i,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new nr(i,e,'"glyphs" url must include a "{range}" token'))),n}function Ur(t,e=ee){return Gr(Nr({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Fr,"*":()=>[]}}))}const jr=t=>Gr(kr(t)),Vr=t=>Gr(Sr(t));function Gr(t){return t.slice().sort(((t,e)=>t.line&&e.line?t.line-e.line:0))}function qr(t,e){let i=!1;if(e&&e.length)for(const n of e)t.fire(new Qt(new Error(n.message))),i=!0;return i}var Zr=Xr,$r=3;function Xr(t,e,i){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var r=new Int32Array(this.arrayBuffer);t=r[0],this.d=(e=r[1])+2*(i=r[2]);for(var o=0;o=u[d+0]&&n>=u[d+1])?(s[p]=!0,o.push(c[p])):s[p]=!1}}},Xr.prototype._forEachCell=function(t,e,i,n,r,o,s,a){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(i),h=this._convertToCellCoord(n),p=l;p<=u;p++)for(var d=c;d<=h;d++){var f=this.d*d+p;if((!a||a(this._convertFromCellCoord(p),this._convertFromCellCoord(d),this._convertFromCellCoord(p+1),this._convertFromCellCoord(d+1)))&&r.call(this,t,e,i,n,f,o,s,a))return}},Xr.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Xr.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Xr.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=$r+this.cells.length+1+1,i=0,n=0;n=0||(r[e]=Qr(t[e],i)));t instanceof Error&&(r.message=t.message)}if(r.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==n&&(r.$name=n),r}throw new Error("can't serialize object of type "+typeof t)}function to(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Kr(t)||Jr(t)||ArrayBuffer.isView(t)||t instanceof e.ImageData)return t;if(Array.isArray(t))return t.map(to);if("object"==typeof t){const e=t.$name||"Object",{klass:i}=Hr[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const n=Object.create(i.prototype);for(const e of Object.keys(t))"$name"!==e&&(n[e]=to(t[e]));return n}throw new Error("can't deserialize object of type "+typeof t)}const eo={"Latin-1 Supplement":t=>t>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function io(t){for(const e of t)if(oo(e.charCodeAt(0)))return!0;return!1}function no(t){for(const e of t)if(!ro(e.charCodeAt(0)))return!1;return!0}function ro(t){return!(eo.Arabic(t)||eo["Arabic Supplement"](t)||eo["Arabic Extended-A"](t)||eo["Arabic Presentation Forms-A"](t)||eo["Arabic Presentation Forms-B"](t))}function oo(t){return!(746!==t&&747!==t&&(t<4352||!(eo["Bopomofo Extended"](t)||eo.Bopomofo(t)||eo["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||eo["CJK Compatibility Ideographs"](t)||eo["CJK Compatibility"](t)||eo["CJK Radicals Supplement"](t)||eo["CJK Strokes"](t)||!(!eo["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||eo["CJK Unified Ideographs Extension A"](t)||eo["CJK Unified Ideographs"](t)||eo["Enclosed CJK Letters and Months"](t)||eo["Hangul Compatibility Jamo"](t)||eo["Hangul Jamo Extended-A"](t)||eo["Hangul Jamo Extended-B"](t)||eo["Hangul Jamo"](t)||eo["Hangul Syllables"](t)||eo.Hiragana(t)||eo["Ideographic Description Characters"](t)||eo.Kanbun(t)||eo["Kangxi Radicals"](t)||eo["Katakana Phonetic Extensions"](t)||eo.Katakana(t)&&12540!==t||!(!eo["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!eo["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||eo["Unified Canadian Aboriginal Syllabics"](t)||eo["Unified Canadian Aboriginal Syllabics Extended"](t)||eo["Vertical Forms"](t)||eo["Yijing Hexagram Symbols"](t)||eo["Yi Syllables"](t)||eo["Yi Radicals"](t))))}function so(t){return!(oo(t)||function(t){return!!(eo["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||eo["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||eo["Letterlike Symbols"](t)||eo["Number Forms"](t)||eo["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||eo["Control Pictures"](t)&&9251!==t||eo["Optical Character Recognition"](t)||eo["Enclosed Alphanumerics"](t)||eo["Geometric Shapes"](t)||eo["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||eo["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||eo["CJK Symbols and Punctuation"](t)||eo.Katakana(t)||eo["Private Use Area"](t)||eo["CJK Compatibility Forms"](t)||eo["Small Form Variants"](t)||eo["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function ao(t){return t>=1424&&t<=2303||eo["Arabic Presentation Forms-A"](t)||eo["Arabic Presentation Forms-B"](t)}function lo(t,e){return!(!e&&ao(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||eo.Khmer(t))}function co(t){for(const e of t)if(ao(e.charCodeAt(0)))return!0;return!1}const uo="deferred",ho="loading",po="loaded";let fo=null,mo="unavailable",go=null;const _o=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(mo="error"),fo&&fo(t)};function yo(){vo.fire(new Jt("pluginStateChange",{pluginStatus:mo,pluginURL:go}))}const vo=new te,xo=function(){return mo},bo=function(){if(mo!==uo||!go)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");mo=ho,yo(),go&&dt({url:go},(t=>{t?_o(t):(mo=po,yo())}))},wo={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>mo===po||null!=wo.applyArabicShaping,isLoading:()=>mo===ho,setState(t){mo=t.pluginStatus,go=t.pluginURL},isParsed:()=>null!=wo.applyArabicShaping&&null!=wo.processBidirectionalText&&null!=wo.processStyledBidirectionalText,getPluginURL:()=>go};class Ao{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.transition=e.transition,this.pitch=e.pitch):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0)}isSupportedScript(t){return function(t,e){for(const i of t)if(!lo(i.charCodeAt(0),e))return!1;return!0}(t,wo.isLoaded())}}class Eo{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(jn(t))return new er(t,e);if(Yn(t)){const i=tr(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"string"==typeof t&&"color"===e.type&&(i=Le.parse(t)),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class Co{constructor(t){this.property=t,this.value=new Eo(t,void 0)}transitioned(t,e){return new ko(this.property,this.value,e,z({},t.transition,this.transition),t.now)}untransitioned(){return new ko(this.property,this.value,null,{},0)}}class To{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return G(this._values[t].value.value)}setValue(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Co(this._values[t].property)),this._values[t].value=new Eo(this._values[t].property,null===e?void 0:G(e))}getTransition(t){return G(this._values[t].transition)}setTransition(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Co(this._values[t].property)),this._values[t].transition=G(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n)}return t}transitioned(t,e){const i=new So(this._properties);for(const n of Object.keys(this._values))i._values[n]=this._values[n].transitioned(t,e._values[n]);return i}untransitioned(){const t=new So(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ko{constructor(t,e,i,n,r){const o=n.delay||0,s=n.duration||0;r=r||0,this.property=t,this.value=e,this.begin=r+o,this.end=this.begin+s,t.specification.transition&&(n.delay||n.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const n=t.now||0,r=this.value.possiblyEvaluate(t,e,i),o=this.prior;if(o){if(n>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(nthis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null}}function Uo(t,e=1){let i=0,n=0;return{members:t.map((t=>{const r=Bo[t.type].BYTES_PER_ELEMENT,o=i=jo(i,Math.max(e,r)),s=t.components||1;return n=Math.max(n,r),i+=r*s,{name:t.name,type:t.type,components:s,offset:o}})),size:jo(i,Math.max(n,e)),alignment:e}}function jo(t,e){return Math.ceil(t/e)*e}class Vo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=i,t}}Vo.prototype.bytesPerElement=4,Yr(Vo,"StructArrayLayout2i4");class Go extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i)}emplace(t,e,i,n){const r=3*t;return this.int16[r+0]=e,this.int16[r+1]=i,this.int16[r+2]=n,t}}Go.prototype.bytesPerElement=6,Yr(Go,"StructArrayLayout3i6");class qo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=4*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.int16[o+2]=n,this.int16[o+3]=r,t}}qo.prototype.bytesPerElement=8,Yr(qo,"StructArrayLayout4i8");class Zo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,n,r,o,s)}emplace(t,e,i,n,r,o,s,a){const l=6*t,c=12*t,u=3*t;return this.int16[l+0]=e,this.int16[l+1]=i,this.uint8[c+4]=n,this.uint8[c+5]=r,this.uint8[c+6]=o,this.uint8[c+7]=s,this.float32[u+2]=a,t}}Zo.prototype.bytesPerElement=12,Yr(Zo,"StructArrayLayout2i4ub1f12");class $o extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=4*t;return this.float32[o+0]=e,this.float32[o+1]=i,this.float32[o+2]=n,this.float32[o+3]=r,t}}$o.prototype.bytesPerElement=16,Yr($o,"StructArrayLayout4f16");class Xo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,n,r)}emplace(t,e,i,n,r,o){const s=6*t,a=3*t;return this.uint16[s+0]=e,this.uint16[s+1]=i,this.uint16[s+2]=n,this.uint16[s+3]=r,this.float32[a+2]=o,t}}Xo.prototype.bytesPerElement=12,Yr(Xo,"StructArrayLayout4ui1f12");class Wo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=4*t;return this.uint16[o+0]=e,this.uint16[o+1]=i,this.uint16[o+2]=n,this.uint16[o+3]=r,t}}Wo.prototype.bytesPerElement=8,Yr(Wo,"StructArrayLayout4ui8");class Ho extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,n,r,o)}emplace(t,e,i,n,r,o,s){const a=6*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=n,this.int16[a+3]=r,this.int16[a+4]=o,this.int16[a+5]=s,t}}Ho.prototype.bytesPerElement=12,Yr(Ho,"StructArrayLayout6i12");class Yo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,i,n,r,o,s,a,l,c,u,h)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=n,this.int16[d+3]=r,this.uint16[d+4]=o,this.uint16[d+5]=s,this.uint16[d+6]=a,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=u,this.int16[d+10]=h,this.int16[d+11]=p,t}}Yo.prototype.bytesPerElement=24,Yr(Yo,"StructArrayLayout4i4ui4i24");class Ko extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,n,r,o)}emplace(t,e,i,n,r,o,s){const a=10*t,l=5*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=n,this.float32[l+2]=r,this.float32[l+3]=o,this.float32[l+4]=s,t}}Ko.prototype.bytesPerElement=20,Yr(Ko,"StructArrayLayout3i3f20");class Jo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Jo.prototype.bytesPerElement=4,Yr(Jo,"StructArrayLayout1ul4");class Qo extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h,p){const d=this.length;return this.resize(d+1),this.emplace(d,t,e,i,n,r,o,s,a,l,c,u,h,p)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p,d){const f=20*t,m=10*t;return this.int16[f+0]=e,this.int16[f+1]=i,this.int16[f+2]=n,this.int16[f+3]=r,this.int16[f+4]=o,this.float32[m+3]=s,this.float32[m+4]=a,this.float32[m+5]=l,this.float32[m+6]=c,this.int16[f+14]=u,this.uint32[m+8]=h,this.uint16[f+18]=p,this.uint16[f+19]=d,t}}Qo.prototype.bytesPerElement=40,Yr(Qo,"StructArrayLayout5i4f1i1ul2ui40");class ts extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,n,r,o,s)}emplace(t,e,i,n,r,o,s,a){const l=8*t;return this.int16[l+0]=e,this.int16[l+1]=i,this.int16[l+2]=n,this.int16[l+4]=r,this.int16[l+5]=o,this.int16[l+6]=s,this.int16[l+7]=a,t}}ts.prototype.bytesPerElement=16,Yr(ts,"StructArrayLayout3i2i2i16");class es extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,n,r)}emplace(t,e,i,n,r,o){const s=4*t,a=8*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=n,this.int16[a+6]=r,this.int16[a+7]=o,t}}es.prototype.bytesPerElement=16,Yr(es,"StructArrayLayout2f1f2i16");class is extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=12*t,s=3*t;return this.uint8[o+0]=e,this.uint8[o+1]=i,this.float32[s+1]=n,this.float32[s+2]=r,t}}is.prototype.bytesPerElement=12,Yr(is,"StructArrayLayout2ub2f12");class ns extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i)}emplace(t,e,i,n){const r=3*t;return this.float32[r+0]=e,this.float32[r+1]=i,this.float32[r+2]=n,t}}ns.prototype.bytesPerElement=12,Yr(ns,"StructArrayLayout3f12");class rs extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i)}emplace(t,e,i,n){const r=3*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,this.uint16[r+2]=n,t}}rs.prototype.bytesPerElement=6,Yr(rs,"StructArrayLayout3ui6");class os extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x){const b=this.length;return this.resize(b+1),this.emplace(b,t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b){const w=30*t,A=15*t,E=60*t;return this.int16[w+0]=e,this.int16[w+1]=i,this.int16[w+2]=n,this.float32[A+2]=r,this.float32[A+3]=o,this.uint16[w+8]=s,this.uint16[w+9]=a,this.uint32[A+5]=l,this.uint32[A+6]=c,this.uint32[A+7]=u,this.uint16[w+16]=h,this.uint16[w+17]=p,this.uint16[w+18]=d,this.float32[A+10]=f,this.float32[A+11]=m,this.uint8[E+48]=g,this.uint8[E+49]=_,this.uint8[E+50]=y,this.uint32[A+13]=v,this.int16[w+28]=x,this.uint8[E+58]=b,t}}os.prototype.bytesPerElement=60,Yr(os,"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60");class ss extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E,C,T,k,S,I){const M=this.length;return this.resize(M+1),this.emplace(M,t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E,C,T,k,S,I)}emplace(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E,C,T,k,S,I,M){const P=38*t,L=19*t;return this.int16[P+0]=e,this.int16[P+1]=i,this.int16[P+2]=n,this.float32[L+2]=r,this.float32[L+3]=o,this.int16[P+8]=s,this.int16[P+9]=a,this.int16[P+10]=l,this.int16[P+11]=c,this.int16[P+12]=u,this.int16[P+13]=h,this.uint16[P+14]=p,this.uint16[P+15]=d,this.uint16[P+16]=f,this.uint16[P+17]=m,this.uint16[P+18]=g,this.uint16[P+19]=_,this.uint16[P+20]=y,this.uint16[P+21]=v,this.uint16[P+22]=x,this.uint16[P+23]=b,this.uint16[P+24]=w,this.uint16[P+25]=A,this.uint16[P+26]=E,this.uint16[P+27]=C,this.uint16[P+28]=T,this.uint32[L+15]=k,this.float32[L+16]=S,this.float32[L+17]=I,this.float32[L+18]=M,t}}ss.prototype.bytesPerElement=76,Yr(ss,"StructArrayLayout3i2f6i15ui1ul3f76");class as extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}as.prototype.bytesPerElement=4,Yr(as,"StructArrayLayout1f4");class ls extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,n,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,n,r)}emplace(t,e,i,n,r,o){const s=5*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=n,this.float32[s+3]=r,this.float32[s+4]=o,t}}ls.prototype.bytesPerElement=20,Yr(ls,"StructArrayLayout5f20");class cs extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,n){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i,n)}emplace(t,e,i,n,r){const o=6*t;return this.uint32[3*t+0]=e,this.uint16[o+2]=i,this.uint16[o+3]=n,this.uint16[o+4]=r,t}}cs.prototype.bytesPerElement=12,Yr(cs,"StructArrayLayout1ul3ui12");class us extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,t}}us.prototype.bytesPerElement=4,Yr(us,"StructArrayLayout2ui4");class hs extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}hs.prototype.bytesPerElement=2,Yr(hs,"StructArrayLayout1ui2");class ps extends Fo{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=i,t}}ps.prototype.bytesPerElement=8,Yr(ps,"StructArrayLayout2f8");class ds extends No{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ds.prototype.size=40;class fs extends Qo{get(t){return new ds(this,t)}}Yr(fs,"CollisionBoxArray");class ms extends No{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(t){this._structArray.uint8[this._pos1+49]=t}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(t){this._structArray.uint8[this._pos1+50]=t}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(t){this._structArray.uint32[this._pos4+13]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(t){this._structArray.uint8[this._pos1+58]=t}}ms.prototype.size=60;class gs extends os{get(t){return new ms(this,t)}}Yr(gs,"PlacedSymbolArray");class _s extends No{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(t){this._structArray.uint32[this._pos4+15]=t}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}_s.prototype.size=76;class ys extends ss{get(t){return new _s(this,t)}}Yr(ys,"SymbolInstanceArray");class vs extends as{getoffsetX(t){return this.float32[1*t+0]}}Yr(vs,"GlyphOffsetArray");class xs extends Vo{getx(t){return this.int16[2*t+0]}gety(t){return this.int16[2*t+1]}}Yr(xs,"SymbolLineVertexArray");class bs extends No{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]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}bs.prototype.size=12;class ws extends cs{get(t){return new bs(this,t)}}Yr(ws,"FeatureIndexArray");class As extends us{geta_centroid_pos0(t){return this.uint16[2*t+0]}geta_centroid_pos1(t){return this.uint16[2*t+1]}}Yr(As,"FillExtrusionCentroidArray");const Es=Uo([{name:"a_pattern",components:4,type:"Uint16"},{name:"a_pixel_ratio",components:1,type:"Float32"}]),Cs=Uo([{name:"a_dash",components:4,type:"Uint16"}]);var Ts={exports:{}},ks={exports:function(t,e){var i,n,r,o,s,a,l,c;for(n=t.length-(i=3&t.length),r=e,s=3432918353,a=461845907,c=0;c>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|r>>>19))+((5*(r>>>16)&65535)<<16)&4294967295))+((58964+(o>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:r^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return r^=t.length,r=2246822507*(65535&(r^=r>>>16))+((2246822507*(r>>>16)&65535)<<16)&4294967295,r=3266489909*(65535&(r^=r>>>13))+((3266489909*(r>>>16)&65535)<<16)&4294967295,(r^=r>>>16)>>>0}},Ss={exports:function(t,e){for(var i,n=t.length,r=e^n,o=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(o)|(255&t.charCodeAt(++o))<<8|(255&t.charCodeAt(++o))<<16|(255&t.charCodeAt(++o))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++o;switch(n){case 3:r^=(255&t.charCodeAt(o+2))<<16;case 2:r^=(255&t.charCodeAt(o+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(o)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0}},Is=ks.exports,Ms=Ss.exports;Ts.exports=Is,Ts.exports.murmur3=Is,Ts.exports.murmur2=Ms;var Ps=d(Ts.exports);class Ls{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,n){this.ids.push(zs(t)),this.positions.push(e,i,n)}getPositions(t){const e=zs(t);let i=0,n=this.ids.length-1;for(;i>1;this.ids[t]>=e?n=t:i=t+1}const r=[];for(;this.ids[i]===e;)r.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return r}static serialize(t,e){const i=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Ds(i,n,0,i.length-1),e&&e.push(i.buffer,n.buffer),{ids:i,positions:n}}static deserialize(t){const e=new Ls;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function zs(t){const e=+t;return!isNaN(e)&&Number.MIN_SAFE_INTEGER<=e&&e<=Number.MAX_SAFE_INTEGER?e:Ps(String(t))}function Ds(t,e,i,n){for(;i>1];let o=i-1,s=n+1;for(;;){do{o++}while(t[o]r);if(o>=s)break;Rs(t,o,s),Rs(e,3*o,3*s),Rs(e,3*o+1,3*s+1),Rs(e,3*o+2,3*s+2)}s-i`u_${t}`)),this.type=i}setUniform(t,e,i,n,r){e.set(t,r,n.constantOr(this.value))}getBinding(t,e){return"color"===this.type?new Fs(t):new Bs(t)}}class Zs{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.pattern=null,this.pixelRatio=1}setConstantPatternPositions(t){this.pixelRatio=t.pixelRatio||1,this.pattern=t.tl.concat(t.br)}setUniform(t,e,i,n,r){const o="u_pattern"===r||"u_dash"===r?this.pattern:"u_pixel_ratio"===r?this.pixelRatio:null;o&&e.set(t,r,o)}getBinding(t,e){return"u_pattern"===e||"u_dash"===e?new Ns(t):new Bs(t)}}class $s{constructor(t,e,i,n){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(t,e,i,n,r,o){const s=this.paintVertexArray.length,a=this.expression.evaluate(new Ao(0),e,{},r,n,o);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a)}updatePaintArray(t,e,i,n,r){const o=this.expression.evaluate({zoom:0},i,n,void 0,r);this._setPaintValue(t,e,o)}_setPaintValue(t,e,i){if("color"===this.type){const n=Gs(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=n,this.zoom=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new o}populatePaintArray(t,e,i,n,r,o){const s=this.expression.evaluate(new Ao(this.zoom),e,{},r,n,o),a=this.expression.evaluate(new Ao(this.zoom+1),e,{},r,n,o),l=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(l,t,s,a)}updatePaintArray(t,e,i,n,r){const o=this.expression.evaluate({zoom:this.zoom},i,n,void 0,r),s=this.expression.evaluate({zoom:this.zoom+1},i,n,void 0,r);this._setPaintValue(t,e,o,s)}_setPaintValue(t,e,i,n){if("color"===this.type){const r=Gs(i),o=Gs(n);for(let i=t;i!0)){this.binders={},this._buffers=[];const n=[];for(const r in t.paint._values){if(!i(r))continue;const o=t.paint.get(r);if(!(o instanceof Mo&&Bn(o.property.specification)))continue;const s=Js(r,t.type),a=o.value,l=o.property.specification.type,c=!!o.property.useIntegerZoom,u="line-dasharray"===r||r.endsWith("pattern"),h="line-dasharray"===r&&"constant"!==t.layout.get("line-cap").value.kind;if("constant"!==a.kind||h)if("source"===a.kind||h||u){const e=ea(r,l,"source");this.binders[r]=u?new Ws(a,s,l,e,t.id):new $s(a,s,l,e),n.push(`/a_${r}`)}else{const t=ea(r,l,"composite");this.binders[r]=new Xs(a,s,l,c,e,t),n.push(`/z_${r}`)}else this.binders[r]=u?new Zs(a.value,s):new qs(a.value,s,l),n.push(`/u_${r}`)}this.cacheKey=n.sort().join("")}getMaxValue(t){const e=this.binders[t];return e instanceof $s||e instanceof Xs?e.maxValue:0}populatePaintArrays(t,e,i,n,r,o){for(const s in this.binders){const a=this.binders[s];(a instanceof $s||a instanceof Xs||a instanceof Ws)&&a.populatePaintArray(t,e,i,n,r,o)}}setConstantPatternPositions(t){for(const e in this.binders){const i=this.binders[e];i instanceof Zs&&i.setConstantPatternPositions(t)}}updatePaintArrays(t,e,i,n,r,o){let s=!1;for(const a in t){const l=e.getPositions(a);for(const e of l){const l=i.feature(e.index);for(const i in this.binders){const c=this.binders[i];if((c instanceof $s||c instanceof Xs||c instanceof Ws)&&!0===c.expression.isStateDependent){const u=n.paint.get(i);c.expression=u.value,c.updatePaintArray(e.start,e.end,l,t[a],r,o),s=!0}}}}return s}defines(){const t=[];for(const e in this.binders){const i=this.binders[e];(i instanceof qs||i instanceof Zs)&&t.push(...i.uniformNames.map((t=>`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof $s||i instanceof Xs||i instanceof Ws)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Hs(n,e,i);this.needsUpload=!1,this._featureMap=new Ls,this._bufferOffset=0}populatePaintArrays(t,e,i,n,r,o,s){for(const i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,n,r,o,s);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,n,r){for(const o of i)this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}const Ks={"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-pattern":["pattern","pixel_ratio"],"fill-pattern":["pattern","pixel_ratio"],"fill-extrusion-pattern":["pattern","pixel_ratio"],"line-dasharray":["dash"]};function Js(t,e){return Ks[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}const Qs={"line-pattern":{source:Xo,composite:Xo},"fill-pattern":{source:Xo,composite:Xo},"fill-extrusion-pattern":{source:Xo,composite:Xo},"line-dasharray":{source:Wo,composite:Wo}},ta={color:{source:ps,composite:$o},number:{source:as,composite:ps}};function ea(t,e,i){const n=Qs[t];return n&&n[i]||ta[e][i]}Yr(qs,"ConstantBinder"),Yr(Zs,"PatternConstantBinder"),Yr($s,"SourceExpressionBinder"),Yr(Ws,"PatternCompositeBinder"),Yr(Xs,"CompositeExpressionBinder"),Yr(Hs,"ProgramConfiguration",{omit:["_buffers"]}),Yr(Ys,"ProgramConfigurationSet");const ia="-transition";class na extends te{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&"sky"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Io(e.layout)),e.paint)){this._transitionablePaint=new To(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Po(e.paint)}}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(Vr,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return U(t,ia)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(jr,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(U(t,ia))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const i=this._transitionablePaint._values[t],n=i.value.isDataDriven(),r=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value,s=o.isDataDriven(),a=U(t,"pattern")||"line-dasharray"===t;return s||n||a||this._handleOverridablePaintPropertyUpdate(t,r,o)}}_handleSpecialPaintPropertyUpdate(t){}getProgramIds(){return null}getProgramConfiguration(t){return null}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={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&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),V(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,n,r={}){return(!r||!1!==r.validate)&&qr(this,t.call(Ur,{key:e,layerType:this.type,objectKey:i,value:n,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Mo&&Bn(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=pr(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const ra=Uo([{name:"a_pos",components:2,type:"Int16"}],4),oa=Uo([{name:"a_pos_3",components:3,type:"Int16"},{name:"a_pos_normal_3",components:3,type:"Int16"}]);class sa{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,n){let r=this.segments[this.segments.length-1];return t>sa.MAX_VERTEX_ARRAY_LENGTH&&Z(`Max vertices per segment is ${sa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!r||r.vertexLength+t>sa.MAX_VERTEX_ARRAY_LENGTH||r.sortKey!==n)&&(r={vertexOffset:e.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==n&&(r.sortKey=n),this.segments.push(r)),r}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,n){return new sa([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:n,vaos:{},sortKey:0}])}}sa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Yr(sa,"SegmentVector");var aa=8192;class la{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))}setNorthEast(t){return this._ne=t instanceof Vl?new Vl(t.lng,t.lat):Vl.convert(t),this}setSouthWest(t){return this._sw=t instanceof Vl?new Vl(t.lng,t.lat):Vl.convert(t),this}extend(t){const e=this._sw,i=this._ne;let n,r;if(t instanceof Vl)n=t,r=t;else{if(!(t instanceof la))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(la.convert(t)):this.extend(Vl.convert(t)):"object"==typeof t&&null!==t&&t.hasOwnProperty("lat")&&(t.hasOwnProperty("lon")||t.hasOwnProperty("lng"))?this.extend(Vl.convert(t)):this;if(n=t._sw,r=t._ne,!n||!r)return this}return e||i?(e.lng=Math.min(n.lng,e.lng),e.lat=Math.min(n.lat,e.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Vl(n.lng,n.lat),this._ne=new Vl(r.lng,r.lat)),this}getCenter(){return new Vl((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Vl(this.getWest(),this.getNorth())}getSouthEast(){return new Vl(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:e,lat:i}=Vl.convert(t);let n=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&n}static convert(t){return!t||t instanceof la?t:new la(t)}}var ca=1e-6,ua="undefined"!=typeof Float32Array?Float32Array:Array;function ha(){var t=new ua(9);return ua!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function pa(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=i[0],d=i[1],f=i[2],m=i[3],g=i[4],_=i[5],y=i[6],v=i[7],x=i[8];return t[0]=p*n+d*s+f*c,t[1]=p*r+d*a+f*u,t[2]=p*o+d*l+f*h,t[3]=m*n+g*s+_*c,t[4]=m*r+g*a+_*u,t[5]=m*o+g*l+_*h,t[6]=y*n+v*s+x*c,t[7]=y*r+v*a+x*u,t[8]=y*o+v*l+x*h,t}function da(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function fa(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],u=e[8],h=e[9],p=e[10],d=e[11],f=e[12],m=e[13],g=e[14],_=e[15],y=i*a-n*s,v=i*l-r*s,x=i*c-o*s,b=n*l-r*a,w=n*c-o*a,A=r*c-o*l,E=u*m-h*f,C=u*g-p*f,T=u*_-d*f,k=h*g-p*m,S=h*_-d*m,I=p*_-d*g,M=y*I-v*S+x*k+b*T-w*C+A*E;return M?(t[0]=(a*I-l*S+c*k)*(M=1/M),t[1]=(r*S-n*I-o*k)*M,t[2]=(m*A-g*w+_*b)*M,t[3]=(p*w-h*A-d*b)*M,t[4]=(l*T-s*I-c*C)*M,t[5]=(i*I-r*T+o*C)*M,t[6]=(g*x-f*A-_*v)*M,t[7]=(u*A-p*x+d*v)*M,t[8]=(s*S-a*T+c*E)*M,t[9]=(n*T-i*S-o*E)*M,t[10]=(f*w-m*x+_*y)*M,t[11]=(h*x-u*w-d*y)*M,t[12]=(a*C-s*k-l*E)*M,t[13]=(i*k-n*C+r*E)*M,t[14]=(m*v-f*b-g*y)*M,t[15]=(u*b-h*v+p*y)*M,t):null}function ma(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],d=e[10],f=e[11],m=e[12],g=e[13],_=e[14],y=e[15],v=i[0],x=i[1],b=i[2],w=i[3];return t[0]=v*n+x*a+b*h+w*m,t[1]=v*r+x*l+b*p+w*g,t[2]=v*o+x*c+b*d+w*_,t[3]=v*s+x*u+b*f+w*y,t[4]=(v=i[4])*n+(x=i[5])*a+(b=i[6])*h+(w=i[7])*m,t[5]=v*r+x*l+b*p+w*g,t[6]=v*o+x*c+b*d+w*_,t[7]=v*s+x*u+b*f+w*y,t[8]=(v=i[8])*n+(x=i[9])*a+(b=i[10])*h+(w=i[11])*m,t[9]=v*r+x*l+b*p+w*g,t[10]=v*o+x*c+b*d+w*_,t[11]=v*s+x*u+b*f+w*y,t[12]=(v=i[12])*n+(x=i[13])*a+(b=i[14])*h+(w=i[15])*m,t[13]=v*r+x*l+b*p+w*g,t[14]=v*o+x*c+b*d+w*_,t[15]=v*s+x*u+b*f+w*y,t}function ga(t,e,i){var n,r,o,s,a,l,c,u,h,p,d,f,m=i[0],g=i[1],_=i[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*_+e[12],t[13]=e[1]*m+e[5]*g+e[9]*_+e[13],t[14]=e[2]*m+e[6]*g+e[10]*_+e[14],t[15]=e[3]*m+e[7]*g+e[11]*_+e[15]):(r=e[1],o=e[2],s=e[3],a=e[4],l=e[5],c=e[6],u=e[7],h=e[8],p=e[9],d=e[10],f=e[11],t[0]=n=e[0],t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=p,t[10]=d,t[11]=f,t[12]=n*m+a*g+h*_+e[12],t[13]=r*m+l*g+p*_+e[13],t[14]=o*m+c*g+d*_+e[14],t[15]=s*m+u*g+f*_+e[15]),t}function _a(t,e,i){var n=i[0],r=i[1],o=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function ya(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[4],s=e[5],a=e[6],l=e[7],c=e[8],u=e[9],h=e[10],p=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*r+c*n,t[5]=s*r+u*n,t[6]=a*r+h*n,t[7]=l*r+p*n,t[8]=c*r-o*n,t[9]=u*r-s*n,t[10]=h*r-a*n,t[11]=p*r-l*n,t}function va(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],l=e[3],c=e[8],u=e[9],h=e[10],p=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r-c*n,t[1]=s*r-u*n,t[2]=a*r-h*n,t[3]=l*r-p*n,t[8]=o*n+c*r,t[9]=s*n+u*r,t[10]=a*n+h*r,t[11]=l*n+p*r,t}function xa(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ba(t,e,i){var n,r,o,s=i[0],a=i[1],l=i[2],c=Math.hypot(s,a,l);return c0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function Ra(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Oa(t,e,i){var n=e[0],r=e[1],o=e[2],s=i[0],a=i[1],l=i[2];return t[0]=r*l-o*a,t[1]=o*s-n*l,t[2]=n*a-r*s,t}function Ba(t,e,i){var n=e[0],r=e[1],o=e[2],s=i[3]*n+i[7]*r+i[11]*o+i[15];return t[0]=(i[0]*n+i[4]*r+i[8]*o+i[12])/(s=s||1),t[1]=(i[1]*n+i[5]*r+i[9]*o+i[13])/s,t[2]=(i[2]*n+i[6]*r+i[10]*o+i[14])/s,t}function Na(t,e,i){var n=i[0],r=i[1],o=i[2],s=e[0],a=e[1],l=e[2],c=r*l-o*a,u=o*s-n*l,h=n*a-r*s,p=r*h-o*u,d=o*c-n*h,f=n*u-r*c,m=2*i[3];return u*=m,h*=m,d*=2,f*=2,t[0]=s+(c*=m)+(p*=2),t[1]=a+u+d,t[2]=l+h+f,t}var Fa,Ua=Sa,ja=Ia,Va=Ca;function Ga(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t}function qa(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=i*i+n*n+r*r+o*o;return s>0&&(s=1/Math.sqrt(s)),t[0]=i*s,t[1]=n*s,t[2]=r*s,t[3]=o*s,t}function Za(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3];return t[0]=i[0]*n+i[4]*r+i[8]*o+i[12]*s,t[1]=i[1]*n+i[5]*r+i[9]*o+i[13]*s,t[2]=i[2]*n+i[6]*r+i[10]*o+i[14]*s,t[3]=i[3]*n+i[7]*r+i[11]*o+i[15]*s,t}function $a(){var t=new ua(4);return ua!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Xa(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Wa(t,e,i){i*=.5;var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);return t[0]=n*l+s*a,t[1]=r*l+o*a,t[2]=o*l-r*a,t[3]=s*l-n*a,t}function Ha(t,e,i){i*=.5;var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);return t[0]=n*l-o*a,t[1]=r*l+s*a,t[2]=o*l+n*a,t[3]=s*l-r*a,t}Aa(),Fa=new ua(4),ua!=Float32Array&&(Fa[0]=0,Fa[1]=0,Fa[2]=0,Fa[3]=0);var Ya=qa;Aa(),Ta(1,0,0),Ta(0,1,0),$a(),$a(),ha();const Ka=Uo([{type:"Float32",name:"a_globe_pos",components:3},{type:"Float32",name:"a_uv",components:2}]),{members:Ja}=Ka,Qa=Uo([{name:"a_pos_3",components:3,type:"Int16"}]);var tl=Uo([{name:"a_pos",type:"Int16",components:2}]);class el{constructor(t,e){this.pos=t,this.dir=e}intersectsPlane(t,e,i){const n=Ra(e,this.dir);if(Math.abs(n)<1e-6)return!1;const r=((t[0]-this.pos[0])*e[0]+(t[1]-this.pos[1])*e[1]+(t[2]-this.pos[2])*e[2])/n;return i[0]=this.pos[0]+this.dir[0]*r,i[1]=this.pos[1]+this.dir[1]*r,i[2]=this.pos[2]+this.dir[2]*r,!0}closestPointOnSphere(t,e,i){if(function(t,e){var i=t[0],n=t[1],r=t[2],o=e[0],s=e[1],a=e[2];return Math.abs(i-o)<=ca*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(n-s)<=ca*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(r-a)<=ca*Math.max(1,Math.abs(r),Math.abs(a))}(this.pos,t)||0===e)return i[0]=i[1]=i[2]=0,!1;const[n,r,o]=this.dir,s=this.pos[0]-t[0],a=this.pos[1]-t[1],l=this.pos[2]-t[2],c=n*n+r*r+o*o,u=2*(s*n+a*r+l*o),h=u*u-4*c*(s*s+a*a+l*l-e*e);if(h<0){const t=Math.max(-u/2,0),c=s+n*t,h=a+r*t,p=l+o*t,d=Math.hypot(c,h,p);return i[0]=c*e/d,i[1]=h*e/d,i[2]=p*e/d,!1}{const t=(-u-Math.sqrt(h))/(2*c);if(t<0){const t=Math.hypot(s,a,l);return i[0]=s*e/t,i[1]=a*e/t,i[2]=l*e/t,!1}return i[0]=s+n*t,i[1]=a+r*t,i[2]=l+o*t,!0}}}class il{constructor(t,e,i,n,r){this.TL=t,this.TR=e,this.BR=i,this.BL=n,this.horizon=r}static fromInvProjectionMatrix(t,e,i){const n=[-1,1,1],r=[1,1,1],o=[1,-1,1],s=[-1,-1,1],a=Ba(n,n,t),l=Ba(r,r,t),c=Ba(o,o,t),u=Ba(s,s,t);return new il(a,l,c,u,e/i)}}class nl{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,e,i,n){const r=Math.pow(2,i),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((i=>{const o=Za([],i,t),s=1/o[3]/e*r;return function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t[3]=e[3]*i[3],t}(o,o,[s,s,n?1/o[3]:s,s])})),s=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=Da([],Oa([],Ua([],o[t[0]],o[t[1]]),Ua([],o[t[2]],o[t[1]]))),i=-Ra(e,o[t[1]]);return e.concat(i)}));return new nl(o,s)}}class rl{static fromPoints(t){const e=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0];for(const n of t)Ma(e,e,n),Pa(i,i,n);return new rl(e,i)}static applyTransform(t,e){const i=t.getCorners();for(let t=0;t=0;if(0===o)return 0;o!==e.length&&(i=!1)}if(i)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let r=0;rthis.max[e]-this.min[e])return 0}return 1}}const ol=5,sl=6,al=aa/Math.PI/2,ll=16383,cl=64,ul=[cl,32,16],hl=-al,pl=al,dl=[new rl([hl,hl,hl],[pl,pl,pl]),new rl([hl,hl,hl],[0,0,pl]),new rl([0,hl,hl],[pl,0,pl]),new rl([hl,0,hl],[0,pl,pl]),new rl([0,0,hl],[pl,pl,pl])];function fl(t){return t*al/Fl}function ml(t,e,i,n=!0){const r=La([],t._camera.position,t.worldSize),o=[e,i,1,1];Za(o,o,t.pixelMatrixInverse),Ga(o,o,1/o[3]);const s=Da([],Ua([],o,r)),a=t.globeMatrix,l=[a[12],a[13],a[14]],c=Ua([],l,r),u=Ca(c),h=Da([],c),p=t.worldSize/(2*Math.PI),d=Ra(h,s),f=Math.asin(p/u);if(f1?null:function(t,e,i,n){const r=Math.sin(i);return t*(Math.sin((1-n)*i)/r)+e*(Math.sin(n*i)/r)}(t.a[e],t.b[e],t.angle,S(i,0,1))+t.center[e]}function yl(t){if(t.z<=1)return dl[t.z+2*t.y+t.x];const e=El(Al(t));return rl.fromPoints(e)}function vl(t,e,i){return La(t,t,1-i),za(t,t,e,i)}function xl(t,e){const i=zl(e.zoom);if(0===i)return yl(t);const n=Al(t),r=El(n),o=ql(n.getWest())*e.worldSize,s=ql(n.getEast())*e.worldSize,a=Zl(n.getNorth())*e.worldSize,l=Zl(n.getSouth())*e.worldSize,c=[o,a,0],u=[s,a,0],h=[o,l,0],p=[s,l,0],d=fa([],e.globeMatrix);return Ba(c,c,d),Ba(u,u,d),Ba(h,h,d),Ba(p,p,d),r[0]=vl(r[0],h,i),r[1]=vl(r[1],p,i),r[2]=vl(r[2],u,i),r[3]=vl(r[3],c,i),rl.fromPoints(r)}function bl(t,e,i){for(const n of t)Ba(n,n,e),La(n,n,i)}function wl(t,e,i){const n=e/t.worldSize,r=t.globeMatrix;if(i.z<=1){const t=yl(i).getCorners();return bl(t,r,n),rl.fromPoints(t)}const o=Al(i),s=El(o);bl(s,r,n);const a=Number.MAX_VALUE,l=[-a,-a,-a],c=[a,a,a];if(o.contains(t.center)){for(const t of s)Ma(c,c,t),Pa(l,l,t);l[2]=0;const e=t.point,i=[e.x*n,e.y*n,0];return Ma(c,c,i),Pa(l,l,i),new rl(c,l)}const u=[r[12]*n,r[13]*n,r[14]*n],h=o.getCenter(),p=S(t.center.lat,-Yl,Yl),d=S(h.lat,-Yl,Yl),f=ql(t.center.lng),m=Zl(p);let g=f-ql(h.lng);const _=m-Zl(d);g>.5?g-=1:g<-.5&&(g+=1);let y=0;Math.abs(g)>Math.abs(_)?y=g>=0?1:3:(y=_>=0?0:2,za(u,u,[r[4]*n,r[5]*n,r[6]*n],-Math.sin(w(_>=0?o.getSouth():o.getNorth()))*al));const v=s[y],x=s[(y+1)%4],b=new gl(v,x,u),A=[_l(b,0)||v[0],_l(b,1)||v[1],_l(b,2)||v[2]],E=zl(t.zoom);if(E>0){const n=function({x:t,y:e,z:i},n,r,o,s){const a=1/(1<.5?p=-1:d<-.5&&(p=1),l=((l+p)*n-(o*=n))*r+o,c=((c+p)*n-o)*r+o,u=(u*n-(s*=n))*r+s,h=(h*n-s)*r+s,[[l,h,0],[c,h,0],[c,u,0],[l,u,0]]}(i,e,t._pixelsPerMercatorPixel,f,m);for(let t=0;tMath.PI/2*1.01}const Ol=w(85),Bl=Math.cos(Ol),Nl=Math.sin(Ol),Fl=6371008.8,Ul=2*Math.PI*Fl;class jl{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new jl(M(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,n=t.lat*e,r=Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Fl*Math.acos(Math.min(r,1))}toBounds(t=0){const e=360*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return new la(new jl(this.lng-i,this.lat-e),new jl(this.lng+i,this.lat+e))}toEcef(t){const e=fl(t);return Tl(this.lat,this.lng,al+e)}static convert(t){if(t instanceof jl)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new jl(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new jl(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}var Vl=jl;function Gl(t){return Ul*Math.cos(t*Math.PI/180)}function ql(t){return(180+t)/360}function Zl(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function $l(t,e){return t/Gl(e)}function Xl(t){return 360*t-180}function Wl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}function Hl(t,e){return t*Gl(Wl(e))}const Yl=85.051129;function Kl(t){return 1/Math.cos(t*Math.PI/180)}class Jl{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Vl.convert(t);return new Jl(ql(i.lng),Zl(i.lat),$l(e,i.lat))}toLngLat(){return new Vl(Xl(this.x),Wl(this.y))}toAltitude(){return Hl(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ul*Kl(Wl(this.y))}}function Ql(t,e,i,n,r,o,s,a,l){const c=(e+n)/2,u=(i+r)/2,h=new v(c,u);a(h),function(t,e,i,n,r,o){const s=i-r,a=n-o;return Math.abs((n-e)*s-(i-t)*a)/Math.hypot(s,a)}(h.x,h.y,o.x,o.y,s.x,s.y)>=l?(Ql(t,e,i,c,u,o,h,a,l),Ql(t,c,u,n,r,h,s,a,l)):t.push(s)}function tc(t,e,i){let n=t[0],r=n.x,o=n.y;e(n);const s=[n];for(let a=1;at.x+1||nt.y+1)&&Z("Geometry exceeds allowed extent, reduce your vector tile buffer size"),t}function sc(t,e,i){const n=t.loadGeometry(),r=t.extent,o=aa/r;if(e&&i&&i.projection.isReprojectedInTileSpace){const o=1<{const i=Xl((e.x+t.x/r)/o),n=Wl((e.y+t.y/r)/o),u=c.project(i,n);t.x=(u.x*s-a)*r,t.y=(u.y*s-l)*r};for(let e=0;e=r||i.y<0||i.y>=r||(u(i),t.push(i));n[e]=t}}for(const t of n)for(const e of t)oc(e,o);return n}function ac(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?sc(t):[]}}function lc(t,e,i,n,r){t.emplaceBack(2*e+(n+1)/2,2*i+(r+1)/2)}function cc(t,e,i){const n=16384;t.emplaceBack(e.x,e.y,e.z,i[0]*n,i[1]*n,i[2]*n)}class uc{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.projection=t.projection,this.layoutVertexArray=new Vo,this.indexArray=new rs,this.segments=new sa,this.programConfigurations=new Ys(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i,n){const r=this.layers[0],o=[];let s=null;"circle"===r.type&&(s=r.layout.get("circle-sort-key"));for(const{feature:e,id:r,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ac(e,t);if(!this.layers[0]._featureFilter.filter(new Ao(this.zoom),c,i))continue;const u=s?s.evaluate(c,{},i):void 0,h={id:r,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:sc(e,i,n),patterns:{},sortKey:u};o.push(h)}s&&o.sort(((t,e)=>t.sortKey-e.sortKey));let a=null;"globe"===n.projection.name&&(this.globeExtVertexArray=new Ho,a=n.projection);for(const n of o){const{geometry:r,index:o,sourceLayerIndex:s}=n,l=t[o].feature;this.addFeature(n,r,o,e.availableImages,i,a),e.featureIndex.insert(l,r,o,s,this.index)}}update(t,e,i,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ra.members),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,oa.members))),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}addFeature(t,e,i,n,r,o){for(const i of e)for(const e of i){const i=e.x,n=e.y;if(i<0||i>=aa||n<0||n>=aa)continue;if(o){const t=o.projectTilePoint(i,n,r),e=o.upVector(r,i,n),s=this.globeExtVertexArray;cc(s,t,e),cc(s,t,e),cc(s,t,e),cc(s,t,e)}const s=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=s.vertexLength;lc(this.layoutVertexArray,i,n,-1,-1),lc(this.layoutVertexArray,i,n,1,-1),lc(this.layoutVertexArray,i,n,1,1),lc(this.layoutVertexArray,i,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+2,a+3),s.vertexLength+=4,s.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},n,r)}}function hc(t,e){for(let i=0;i1){if(mc(t,e))return!0;for(let n=0;n1?i:i.sub(e)._mult(r)._add(e))}function vc(t,e){let i,n,r,o=!1;for(let s=0;se.y!=r.y>e.y&&e.x<(r.x-n.x)*(e.y-n.y)/(r.y-n.y)+n.x&&(o=!o)}return o}function xc(t,e){let i=!1;for(let n=0,r=t.length-1;ne.y!=s.y>e.y&&e.x<(s.x-o.x)*(e.y-o.y)/(s.y-o.y)+o.x&&(i=!i)}return i}function bc(t,e,i,n,r){for(const o of t)if(e<=o.x&&i<=o.y&&n>=o.x&&r>=o.y)return!0;const o=[new v(e,i),new v(e,r),new v(n,r),new v(n,i)];if(t.length>2)for(const e of o)if(xc(t,e))return!0;for(let e=0;er.x&&e.x>r.x||t.yr.y&&e.y>r.y)return!1;const o=$(t,e,i[0]);return o!==$(t,e,i[1])||o!==$(t,e,i[2])||o!==$(t,e,i[3])}function Ac(t,e,i){const n=e.paint.get(t).value;return"constant"===n.kind?n.value:i.programConfigurations.get(e.id).getMaxValue(t)}function Ec(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Cc(t,e,i,n,r){if(!e[0]&&!e[1])return t;const o=v.convert(e)._mult(r);"viewport"===i&&o._rotate(-n);const s=[];for(let e=0;e0){const t=i.projection.upVector(c,h.x,h.y);d.x+=t[0]*u*p,d.y+=t[1]*u*p,d.z+=t[2]*u*p}const f=o?h:Mc(d.x,d.y,d.z,n),m=o?t.tilespaceRays.map((t=>zc(t,p))):t.queryGeometry.screenGeometry,g=Za([],[d.x,d.y,d.z,1],n);if(!s&&o?l*=g[3]/i.cameraToCenterDistance:s&&!o&&(l*=i.cameraToCenterDistance/g[3]),o){const t=Wl((e.y/aa+c.y)/(1<t.width||r.height>t.height||i.x>t.width-r.width||i.y>t.height-r.height)throw new RangeError("out of range source coordinates for image copy");if(r.width>e.width||r.height>e.height||n.x>e.width-r.width||n.y>e.height-r.height)throw new RangeError("out of range destination coordinates for image copy");const s=t.data,a=e.data;for(let l=0;l{e[t.evaluationKey]=o;const s=t.expression.evaluate(e);r.data[i+n+0]=Math.floor(255*s.r/s.a),r.data[i+n+1]=Math.floor(255*s.g/s.a),r.data[i+n+2]=Math.floor(255*s.b/s.a),r.data[i+n+3]=Math.floor(255*s.a)};if(t.clips)for(let e=0,r=0;e80*i){n=o=t[0],r=s=t[1];for(var f=i;fo&&(o=a),l>s&&(s=l);c=0!==(c=Math.max(o-n,s-r))?32767/c:0}return Hc(p,d,i,n,r,c,0),d}function Xc(t,e,i,n,r){var o,s;if(r===_u(t,e,i,n)>0)for(o=e;o=e;o-=n)s=fu(o,t[o],t[o+1],s);return s&&lu(s,s.next)&&(mu(s),s=s.next),s}function Wc(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!lu(n,n.next)&&0!==au(n.prev,n,n.next))n=n.next;else{if(mu(n),(n=e=n.prev)===n.next)break;i=!0}}while(i||n!==e);return e}function Hc(t,e,i,n,r,o,s){if(t){!s&&o&&function(t,e,i,n){var r=t;do{0===r.z&&(r.z=nu(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){var e,i,n,r,o,s,a,l,c=1;do{for(i=t,t=null,o=null,s=0;i;){for(s++,n=i,a=0,e=0;e0||l>0&&n;)0!==a&&(0===l||!n||i.z<=n.z)?(r=i,i=i.nextZ,a--):(r=n,n=n.nextZ,l--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;i=n}o.nextZ=null,c*=2}while(s>1)}(r)}(t,n,r,o);for(var a,l,c=t;t.prev!==t.next;)if(a=t.prev,l=t.next,o?Kc(t,n,r,o):Yc(t))e.push(a.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),mu(t),t=l.next,c=l.next;else if((t=l)===c){s?1===s?Hc(t=Jc(Wc(t),e,i),e,i,n,r,o,2):2===s&&Qc(t,e,i,n,r,o):Hc(Wc(t),e,i,n,r,o,1);break}}}function Yc(t){var e=t.prev,i=t,n=t.next;if(au(e,i,n)>=0)return!1;for(var r=e.x,o=i.x,s=n.x,a=e.y,l=i.y,c=n.y,u=ro?r>s?r:s:o>s?o:s,d=a>l?a>c?a:c:l>c?l:c,f=n.next;f!==e;){if(f.x>=u&&f.x<=p&&f.y>=h&&f.y<=d&&ou(r,a,o,l,s,c,f.x,f.y)&&au(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function Kc(t,e,i,n){var r=t.prev,o=t,s=t.next;if(au(r,o,s)>=0)return!1;for(var a=r.x,l=o.x,c=s.x,u=r.y,h=o.y,p=s.y,d=al?a>c?a:c:l>c?l:c,g=u>h?u>p?u:p:h>p?h:p,_=nu(d,f,e,i,n),y=nu(m,g,e,i,n),v=t.prevZ,x=t.nextZ;v&&v.z>=_&&x&&x.z<=y;){if(v.x>=d&&v.x<=m&&v.y>=f&&v.y<=g&&v!==r&&v!==s&&ou(a,u,l,h,c,p,v.x,v.y)&&au(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,x.x>=d&&x.x<=m&&x.y>=f&&x.y<=g&&x!==r&&x!==s&&ou(a,u,l,h,c,p,x.x,x.y)&&au(x.prev,x,x.next)>=0)return!1;x=x.nextZ}for(;v&&v.z>=_;){if(v.x>=d&&v.x<=m&&v.y>=f&&v.y<=g&&v!==r&&v!==s&&ou(a,u,l,h,c,p,v.x,v.y)&&au(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=y;){if(x.x>=d&&x.x<=m&&x.y>=f&&x.y<=g&&x!==r&&x!==s&&ou(a,u,l,h,c,p,x.x,x.y)&&au(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function Jc(t,e,i){var n=t;do{var r=n.prev,o=n.next.next;!lu(r,o)&&cu(r,n,n.next,o)&&pu(r,o)&&pu(o,r)&&(e.push(r.i/i|0),e.push(n.i/i|0),e.push(o.i/i|0),mu(n),mu(n.next),n=t=o),n=n.next}while(n!==t);return Wc(n)}function Qc(t,e,i,n,r,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&su(s,a)){var l=du(s,a);return s=Wc(s,s.next),l=Wc(l,l.next),Hc(s,e,i,n,r,o,0),void Hc(l,e,i,n,r,o,0)}a=a.next}s=s.next}while(s!==t)}function tu(t,e){return t.x-e.x}function eu(t,e){var i=function(t,e){var i,n=e,r=t.x,o=t.y,s=-1/0;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){var a=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>s&&(s=a,i=n.x=n.x&&n.x>=u&&r!==n.x&&ou(oi.x||n.x===i.x&&iu(i,n)))&&(i=n,p=l)),n=n.next}while(n!==c);return i}(t,e);if(!i)return e;var n=du(i,t);return Wc(n,n.next),Wc(i,i.next)}function iu(t,e){return au(t.prev,t,e.prev)<0&&au(e.next,t,t.next)<0}function nu(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ru(t){var e=t,i=t;do{(e.x=(t-s)*(o-a)&&(t-s)*(n-a)>=(i-s)*(e-a)&&(i-s)*(o-a)>=(r-s)*(n-a)}function su(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&cu(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(pu(t,e)&&pu(e,t)&&function(t,e){var i=t,n=!1,r=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&i.next.y!==i.y&&r<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(au(t.prev,t,e.prev)||au(t,e.prev,e))||lu(t,e)&&au(t.prev,t,t.next)>0&&au(e.prev,e,e.next)>0)}function au(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function lu(t,e){return t.x===e.x&&t.y===e.y}function cu(t,e,i,n){var r=hu(au(t,e,i)),o=hu(au(t,e,n)),s=hu(au(i,n,t)),a=hu(au(i,n,e));return r!==o&&s!==a||!(0!==r||!uu(t,i,e))||!(0!==o||!uu(t,n,e))||!(0!==s||!uu(i,t,n))||!(0!==a||!uu(i,e,n))}function uu(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function hu(t){return t>0?1:t<0?-1:0}function pu(t,e){return au(t.prev,t,t.next)<0?au(t,e,t.next)>=0&&au(t,t.prev,e)>=0:au(t,e,t.prev)<0||au(t,t.next,e)<0}function du(t,e){var i=new gu(t.i,t.x,t.y),n=new gu(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,o.next=n,n.prev=o,n}function fu(t,e,i,n){var r=new gu(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function mu(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function gu(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function _u(t,e,i,n){for(var r=0,o=e,s=i-n;o0&&i.holes.push(n+=t[r-1].length)}return i};var yu=d(Zc.exports);function vu(t,e,i,n,r){xu(t,e,i||0,n||t.length-1,r||wu)}function xu(t,e,i,n,r){for(;n>i;){if(n-i>600){var o=n-i+1,s=e-i+1,a=Math.log(o),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(o-l)/o)*(s-o/2<0?-1:1);xu(t,e,Math.max(i,Math.floor(e-s*l/o+c)),Math.min(n,Math.floor(e+(o-s)*l/o+c)),r)}var u=t[e],h=i,p=n;for(bu(t,i,e),r(t[n],u)>0&&bu(t,i,n);h0;)p--}0===r(t[i],u)?bu(t,i,p):bu(t,++p,n),p<=e&&(i=p+1),e<=p&&(n=p-1)}}function bu(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function wu(t,e){return te?1:0}function Au(t,e){const i=t.length;if(i<=1)return[t];const n=[];let r,o;for(let e=0;e1)for(let t=0;tt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Vo,this.indexArray=new rs,this.indexArray2=new us,this.programConfigurations=new Ys(t.layers,t.zoom),this.segments=new sa,this.segments2=new sa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.projection=t.projection}populate(t,e,i,n){this.hasPattern=Cu("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),o=[];for(const{feature:s,id:a,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ac(s,t);if(!this.layers[0]._featureFilter.filter(new Ao(this.zoom),u,i))continue;const h=r?r.evaluate(u,{},i,e.availableImages):void 0,p={id:a,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:t?u.geometry:sc(s,i,n),patterns:{},sortKey:h};o.push(p)}r&&o.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of o){const{geometry:r,index:o,sourceLayerIndex:s}=n;if(this.hasPattern){const t=Tu("fill",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,r,o,i,{},e.availableImages);e.featureIndex.insert(t[o].feature,r,o,s,this.index)}}update(t,e,i,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i,n)}addFeatures(t,e,i,n,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qc),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,i,n,r,o=[]){for(const t of Au(e,500)){let e=0;for(const i of t)e+=i.length;const i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=i.vertexLength,r=[],o=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&o.push(r.length/2);const i=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=i.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),r.push(e[0].x),r.push(e[0].y);for(let t=1;t>3}if(r--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&a.push(e),e=[]),e.push(new Ru(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&a.push(e),a},Bu.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,n=0,r=0,o=0,s=1/0,a=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===i||2===i)(r+=t.readSVarint())a&&(a=r),(o+=t.readSVarint())c&&(c=o);else if(7!==i)throw new Error("unknown command "+i)}return[s,l,a,c]},Bu.prototype.toGeoJSON=function(t,e,i){var n,r,o=this.extent*Math.pow(2,i),s=this.extent*t,a=this.extent*e,l=this.loadGeometry(),c=Bu.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(i))}Vu.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Uu(this._pbf,e,this.extent,this._keys,this._values)};var qu=ju;function Zu(t,e,i){if(3===t){var n=new qu(i,i.readVarint()+i.pos);n.length&&(e[n.name]=n)}}var $u=Du.VectorTile=function(t,e){this.layers=t.readFields(Zu,{},e)},Xu=Du.VectorTileFeature=Ou;function Wu(t,e,i,n){const r=[],o=0===n?(t,e,i,n,r,o)=>{t.push(new v(o,i+(o-e)/(n-e)*(r-i)))}:(t,e,i,n,r,o)=>{t.push(new v(e+(o-i)/(r-i)*(n-e),o))};for(const s of t){const t=[];for(const r of s){if(r.length<=2)continue;const s=[];for(let t=0;te&&o(s,a,l,c,u,e):h>i?p=e&&o(s,a,l,c,u,e),p>i&&h<=i&&o(s,a,l,c,u,i)}let a=r[r.length-1];const l=0===n?a.x:a.y;l>=e&&l<=i&&s.push(a),s.length&&(a=s[s.length-1],s[0].x===a.x&&s[0].y===a.y||s.push(s[0]),t.push(s))}t.length&&r.push(t)}return r}Du.VectorTileLayer=ju;const Hu=Xu.types,Yu=Math.pow(2,13);function Ku(t,e,i,n,r,o,s,a){t.emplaceBack((e<<1)+s,(i<<1)+o,(Math.floor(n*Yu)<<1)+r,Math.round(a))}function Ju(t,e,i){const n=16384;t.emplaceBack(e.x,e.y,e.z,i[0]*n,i[1]*n,i[2]*n)}class Qu{constructor(){this.acc=new v(0,0),this.polyCount=[]}startRing(t){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new v(t.x,t.y),this.max=new v(t.x,t.y))}append(t,e){this.currentPolyCount.edges++,this.acc._add(t);const i=this.min,n=this.max;t.xn.x&&(n.x=t.x),t.yn.y&&(n.y=t.y),((0===t.x||t.x===aa)&&t.x===e.x)!=((0===t.y||t.y===aa)&&t.y===e.y)&&this.processBorderOverlap(t,e),e.x<0!=t.x<0&&this.addBorderIntersection(0,Li(e.y,t.y,(0-e.x)/(t.x-e.x))),e.x>aa!=t.x>aa&&this.addBorderIntersection(1,Li(e.y,t.y,(aa-e.x)/(t.x-e.x))),e.y<0!=t.y<0&&this.addBorderIntersection(2,Li(e.x,t.x,(0-e.y)/(t.y-e.y))),e.y>aa!=t.y>aa&&this.addBorderIntersection(3,Li(e.x,t.x,(aa-e.y)/(t.y-e.y)))}addBorderIntersection(t,e){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const i=this.borders[t];ei[1]&&(i[1]=e)}processBorderOverlap(t,e){if(t.x===e.x){if(t.y===e.y)return;const i=0===t.x?0:1;this.addBorderIntersection(i,e.y),this.addBorderIntersection(i,t.y)}else{const i=0===t.y?2:3;this.addBorderIntersection(i,e.x),this.addBorderIntersection(i,t.x)}}centroid(){const t=this.polyCount.reduce(((t,e)=>t+e.edges),0);return 0!==t?this.acc.div(t)._round():new v(0,0)}span(){return new v(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((t,e)=>t+ +(e[0]!==Number.MAX_VALUE)),0)}}class th{constructor(t){this.zoom=t.zoom,this.canonical=t.canonical,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=t.projection,this.layoutVertexArray=new qo,this.centroidVertexArray=new As,this.indexArray=new rs,this.programConfigurations=new Ys(t.layers,t.zoom),this.segments=new sa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.enableTerrain=t.enableTerrain}populate(t,e,i,n){this.features=[],this.hasPattern=Cu("fill-extrusion",this.layers,e),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=function(t){const e=Math.exp(Math.PI*(1-t.y/(1<=0;t--){const e=p[t];(0===e.length||(d=e[0]).every((t=>t.x<=0))||d.every((t=>t.x>=aa))||d.every((t=>t.y<=0))||d.every((t=>t.y>=aa)))&&p.splice(t,1)}var d;let f;if(c)f=lh(p,a,n);else{f=[];for(const t of p)f.push({polygon:t,bounds:a})}const m=h?this.edgeRadius:0;for(const{polygon:t,bounds:e}of f){let i=0,r=0;for(const e of t)h&&!e[0].equals(e[e.length-1])&&e.push(e[0]),r+=h?e.length-1:e.length;const o=this.segments.prepareSegment((h?5:4)*r,this.layoutVertexArray,this.indexArray);if(h){const e=[],r=[];i=o.vertexLength;for(const i of t){let s,a;i.length&&i!==t[0]&&r.push(e.length/2),s=i[1].sub(i[0])._perp()._unit();for(let t=1;t4&&oh(r[r.length-2],r[0],r[1]),d=m?ih(r[r.length-2],r[0],r[1],m):0;s=r[1].sub(r[0])._perp()._unit();let f=!0;for(let g=1,_=0;g0?1:0,E=y.dist(v);if(_+E>32768&&(_=0),m){a=x.sub(v)._perp()._unit();let t=nh(y,v,x,eh(s,a),m);isNaN(t)&&(t=0);const e=v.sub(y)._unit();y=y.add(e.mult(d))._round(),v=v.add(e.mult(-t))._round(),d=t,s=a}const C=o.vertexLength,T=r.length>4&&oh(y,v,x);let k=sh(_,p,f);if(Ku(this.layoutVertexArray,y.x,y.y,w,A,0,0,k),Ku(this.layoutVertexArray,y.x,y.y,w,A,0,1,k),_+=E,k=sh(_,T,!f),p=T,Ku(this.layoutVertexArray,v.x,v.y,w,A,0,0,k),Ku(this.layoutVertexArray,v.x,v.y,w,A,0,1,k),o.vertexLength+=4,this.indexArray.emplaceBack(C+0,C+1,C+2),this.indexArray.emplaceBack(C+1,C+3,C+2),o.primitiveLength+=2,m){const n=i+(1===g?r.length-2:g-2),s=1===g?i:n+1;if(this.indexArray.emplaceBack(C+1,n,C+3),this.indexArray.emplaceBack(n,s,C+3),o.primitiveLength+=2,void 0===t&&(t=C),!rh(x,r[g],e)){const e=g===r.length-1?t:o.vertexLength;this.indexArray.emplaceBack(C+2,C+3,e),this.indexArray.emplaceBack(C+3,e+1,e),this.indexArray.emplaceBack(C+3,s,e+1),o.primitiveLength+=3}f=!f}if(c){const t=this.layoutVertexExtArray,e=l.projectTilePoint(y.x,y.y,n),i=l.projectTilePoint(v.x,v.y,n),r=l.upVector(n,y.x,y.y),o=l.upVector(n,v.x,v.y);Ju(t,e,r),Ju(t,e,r),Ju(t,i,o),Ju(t,i,o)}}h&&(i+=r.length-1)}}if(u&&u.polyCount.length>0){if(u.borders){u.vertexArrayOffset=this.centroidVertexArray.length;const t=u.borders,e=this.featuresOnBorder.push(u)-1;for(let i=0;i<4;i++)t[i][0]!==Number.MAX_VALUE&&this.borders[i].push(e)}this.encodeCentroid(u.borders?void 0:u.centroid(),u)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,r,o,n)}sortBorders(){for(let t=0;t<4;t++)this.borders[t].sort(((e,i)=>this.featuresOnBorder[e].borders[t][0]-this.featuresOnBorder[i].borders[t][0]))}encodeCentroid(t,e,i=!0){let n,r;if(t)if(0!==t.y){const i=e.span()._mult(this.tileToMeter);n=(Math.max(t.x,1)<<3)+Math.min(7,Math.round(i.x/10)),r=(Math.max(t.y,1)<<3)+Math.min(7,Math.round(i.y/10))}else n=Math.ceil(7*(t.x+450)),r=0;else n=0,r=+i;let o=i?this.centroidVertexArray.length:e.vertexArrayOffset;for(const t of e.polyCount){i&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*t.edges+t.top);for(let e=0;ei[1].x&&e.x>i[1].x||t.yi[1].y&&e.y>i[1].y}function oh(t,e,i){if(t.x<0||t.x>=aa||e.x<0||e.x>=aa||i.x<0||i.x>=aa)return!1;const n=i.sub(e),r=n.perp(),o=t.sub(e);return(n.x*o.x+n.y*o.y)/Math.sqrt((n.x*n.x+n.y*n.y)*(o.x*o.x+o.y*o.y))>-.866&&r.x*o.x+r.y*o.y<0}function sh(t,e,i){const n=e?2|t:-3&t;return i?1|n:-2&n}function ah(){const t=Math.PI/32,e=Math.tan(t),i=Fl;return i*Math.sqrt(1+2*e*e)-i}function lh(t,e,i){const n=1<{for(const i of t)s.push({polygon:i,bounds:e})},l=Math.ceil(Math.log2(i)),c=Math.ceil(Math.log2(n)),u=l-c,h=[];for(let t=0;t0?0:1);for(let t=0;te+1?d.push({polygons:p,bounds:t,depth:e+1}):a(p,t)}if(f.length){const t=[new v(0===i?u:n.x,1===i?u:n.y),s];h.length>e+1?d.push({polygons:f,bounds:t,depth:e+1}):a(f,t)}}return s}(t,e,Math.ceil((o-r)/11.25),Math.ceil((s-a)/11.25),1,((t,e,r)=>{if(0===t)return.5*(e+r);{const t=Wl((i.y+e/aa)/n);return(Zl(.5*(Wl((i.y+r/aa)/n)+t))*n-i.y)*aa}}))}Yr(th,"FillExtrusionBucket",{omit:["layers","features"]}),Yr(Qu,"PartMetadata");const ch=new Ro({"fill-extrusion-edge-radius":new Lo(ee["layout_fill-extrusion"]["fill-extrusion-edge-radius"])});var uh={paint:new Ro({"fill-extrusion-opacity":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new zo(ee["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new zo(ee["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new zo(ee["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new zo(ee["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"]),"fill-extrusion-ambient-occlusion-intensity":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-intensity"]),"fill-extrusion-ambient-occlusion-radius":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-ambient-occlusion-radius"]),"fill-extrusion-rounded-roof":new Lo(ee["paint_fill-extrusion"]["fill-extrusion-rounded-roof"])}),layout:ch};function hh(t,e,i){var n=2*Math.PI*6378137/256/Math.pow(2,i);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class ph{constructor(t,e,i){this.z=t,this.x=e,this.y=i,this.key=mh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e){const i=function(t,e,i){var n=hh(256*t,256*(e=Math.pow(2,i)-e-1),i),r=hh(256*(t+1),256*(e+1),i);return n[0]+","+n[1]+","+r[0]+","+r[1]}(this.x,this.y,this.z),n=function(t,e,i){let n,r="";for(let o=t;o>0;o--)n=1<this.canonical.z?new fh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new fh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e=!0){if(this.overscaledZ===t&&e)return this.key;if(t>this.canonical.z)return mh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y);{const i=this.canonical.z-t;return mh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new fh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,n=2*this.canonical.y;return[new fh(e,this.wrap,e,i,n),new fh(e,this.wrap,e,i+1,n),new fh(e,this.wrap,e,i,n+1),new fh(e,this.wrap,e,i+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.yt.id)),this.index=t.index,this.projection=t.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new Zo,this.layoutVertexArray2=new $o,this.indexArray=new rs,this.programConfigurations=new Ys(t.layers,t.zoom),this.segments=new sa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i,n){this.hasPattern=Cu("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),o=[];for(const{feature:e,id:s,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ac(e,t);if(!this.layers[0]._featureFilter.filter(new Ao(this.zoom),c,i))continue;const u=r?r.evaluate(c,{},i):void 0,h={id:s,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:sc(e,i,n),patterns:{},sortKey:u};o.push(h)}r&&o.sort(((t,e)=>t.sortKey-e.sortKey));const{lineAtlas:s,featureIndex:a}=e,l=this.addConstantDashes(s);for(const n of o){const{geometry:r,index:o,sourceLayerIndex:c}=n;if(l&&this.addFeatureDashes(n,s),this.hasPattern){const t=Tu("line",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,r,o,i,s.positions,e.availableImages);a.insert(t[o].feature,r,o,c,this.index)}}addConstantDashes(t){let e=!1;for(const i of this.layers){const n=i.paint.get("line-dasharray").value,r=i.layout.get("line-cap").value;if("constant"!==n.kind||"constant"!==r.kind)e=!0;else{const e=r.value,i=n.value;if(!i)continue;t.addDash(i,e)}}return e}addFeatureDashes(t,e){const i=this.zoom;for(const n of this.layers){const r=n.paint.get("line-dasharray").value,o=n.layout.get("line-cap").value;if("constant"===r.kind&&"constant"===o.kind)continue;let s,a;if("constant"===r.kind){if(s=r.value,!s)continue}else s=r.evaluate({zoom:i},t);a="constant"===o.kind?o.value:o.evaluate({zoom:i},t),e.addDash(s,a),t.patterns[n.id]=e.getKey(s,a)}}update(t,e,i,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i,n)}addFeatures(t,e,i,n,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ah)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,bh),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&t.properties.hasOwnProperty("mapbox_clip_start")&&t.properties.hasOwnProperty("mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,n,r,o){const s=this.layers[0].layout,a=s.get("line-join").evaluate(t,{}),l=s.get("line-cap").evaluate(t,{}),c=s.get("line-miter-limit"),u=s.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const i of e)this.addLine(i,t,a,l,c,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,r,o,n)}addLine(t,e,i,n,r,o){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[a-1].equals(t[a-2]);)a--;let l=0;for(;l0;if(b&&e>l){const t=h.dist(p);if(t>2*c){const e=h.sub(h.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,f,0,0,u),p=e}}const A=p&&d;let E=A?i:s?"butt":n;if(A&&"round"===E&&(vr&&(E="bevel"),"bevel"===E&&(v>2&&(E="flipbevel"),v100)g=m.mult(-1);else{const t=v*f.add(m).mag()/f.sub(m).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(h,g,0,0,u),this.addCurrentVertex(h,g.mult(-1),0,0,u)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(v*v-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(h,f,e,i,u),"fakeround"===E){const t=Math.round(180*x/Math.PI/20);for(let e=1;e2*c){const e=h.add(d.sub(h)._mult(c/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,m,0,0,u),h=e}}}}addCurrentVertex(t,e,i,n,r,o=!1){const s=e.y*n-e.x,a=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,o,!1,i,r),this.addHalfVertex(t,s,a,o,!0,-n,r)}addHalfVertex({x:t,y:e},i,n,r,o,s,a){this.layoutVertexArray.emplaceBack((t<<1)+(r?1:0),(e<<1)+(o?1:0),Math.round(63*i)+128,Math.round(63*n)+128,1+(0===s?0:s<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const l=a.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),a.primitiveLength++),o?this.e2=l:this.e1=l}updateScaledDistance(){if(this.lineClips){const t=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=t*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}Yr(Th,"LineBucket",{omit:["layers","patternFeatures"]});const kh=new Ro({"line-cap":new zo(ee.layout_line["line-cap"]),"line-join":new zo(ee.layout_line["line-join"]),"line-miter-limit":new Lo(ee.layout_line["line-miter-limit"]),"line-round-limit":new Lo(ee.layout_line["line-round-limit"]),"line-sort-key":new zo(ee.layout_line["line-sort-key"])});var Sh={paint:new Ro({"line-opacity":new zo(ee.paint_line["line-opacity"]),"line-color":new zo(ee.paint_line["line-color"]),"line-translate":new Lo(ee.paint_line["line-translate"]),"line-translate-anchor":new Lo(ee.paint_line["line-translate-anchor"]),"line-width":new zo(ee.paint_line["line-width"]),"line-gap-width":new zo(ee.paint_line["line-gap-width"]),"line-offset":new zo(ee.paint_line["line-offset"]),"line-blur":new zo(ee.paint_line["line-blur"]),"line-dasharray":new zo(ee.paint_line["line-dasharray"]),"line-pattern":new zo(ee.paint_line["line-pattern"]),"line-gradient":new Do(ee.paint_line["line-gradient"]),"line-trim-offset":new Lo(ee.paint_line["line-trim-offset"])}),layout:kh};const Ih=new class extends zo{possiblyEvaluate(t,e){return e=new Ao(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,n){return e=z({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,n)}}(Sh.paint.properties["line-width"].specification);function Mh(t,e){return e>0?e+2*t:t}Ih.useIntegerZoom=!0;const Ph=Uo([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Lh=Uo([{name:"a_globe_anchor",components:3,type:"Int16"},{name:"a_globe_normal",components:3,type:"Float32"}],4),zh=Uo([{name:"a_projected_pos",components:4,type:"Float32"}],4);Uo([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Dh=Uo([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),Rh=Uo([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"}]);Uo([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Oh=Uo([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Bh=Uo([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);Uo([{name:"triangle",components:3,type:"Uint16"}]),Uo([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{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:"Uint8",name:"flipState"}]),Uo([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Uo([{type:"Float32",name:"offsetX"}]),Uo([{type:"Int16",name:"x"},{type:"Int16",name:"y"}]);var Nh=24;const Fh=128;function Uh(t,e){const{expression:i}=e;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new Ao(t+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:e,interpolationType:n}=i;let r=0;for(;r{t.text=function(t,e,i){const n=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),wo.applyArabicShaping&&(t=wo.applyArabicShaping(t)),t}(t.text,e,i)})),t}const Zh={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂","←":"↑","→":"↓"};function $h(t){return"︶"===t||"﹈"===t||"︸"===t||"﹄"===t||"﹂"===t||"︾"===t||"︼"===t||"︺"===t||"︘"===t||"﹀"===t||"︐"===t||"︓"===t||"︔"===t||"`"===t||" ̄"===t||"︑"===t||"︒"===t}function Xh(t){return"︵"===t||"﹇"===t||"︷"===t||"﹃"===t||"﹁"===t||"︽"===t||"︻"===t||"︹"===t||"︗"===t||"︿"===t}var Wh=Kh,Hh=function(t,e,i,n,r){var o,s,a=8*r-n-1,l=(1<>1,u=-7,h=i?r-1:0,p=i?-1:1,d=t[e+h];for(h+=p,o=d&(1<<-u)-1,d>>=-u,u+=a;u>0;o=256*o+t[e+h],h+=p,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=n;u>0;s=256*s+t[e+h],h+=p,u-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),o-=c}return(d?-1:1)*s*Math.pow(2,o-n)},Yh=function(t,e,i,n,r,o){var s,a,l,c=8*o-r-1,u=(1<>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,f=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=u?(a=0,s=u):s+h>=1?(a=(e*l-1)*Math.pow(2,r),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,r),s=0));r>=8;t[i+d]=255&a,d+=f,a/=256,r-=8);for(s=s<0;t[i+d]=255&s,d+=f,s/=256,c-=8);t[i+d-f]|=128*m};function Kh(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Kh.Varint=0,Kh.Fixed64=1,Kh.Bytes=2,Kh.Fixed32=5;var Jh=4294967296,Qh=1/Jh,tp="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function ep(t){return t.type===Kh.Bytes?t.readVarint()+t.pos:t.pos+1}function ip(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function np(t,e,i){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(n);for(var r=i.pos-1;r>=t;r--)i.buf[r+n]=i.buf[r]}function rp(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function mp(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Kh.prototype={destroy:function(){this.buf=null},readFields:function(t,e,i){for(i=i||this.length;this.pos>3,o=this.pos;this.type=7&n,t(r,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=dp(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=mp(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=dp(this.buf,this.pos)+dp(this.buf,this.pos+4)*Jh;return this.pos+=8,t},readSFixed64:function(){var t=dp(this.buf,this.pos)+mp(this.buf,this.pos+4)*Jh;return this.pos+=8,t},readFloat:function(){var t=Hh(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Hh(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,n=this.buf;return e=127&(i=n[this.pos++]),i<128?e:(e|=(127&(i=n[this.pos++]))<<7,i<128?e:(e|=(127&(i=n[this.pos++]))<<14,i<128?e:(e|=(127&(i=n[this.pos++]))<<21,i<128?e:function(t,e,i){var n,r,o=i.buf;if(n=(112&(r=o[i.pos++]))>>4,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<3,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<10,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<17,r<128)return ip(t,n,e);if(n|=(127&(r=o[i.pos++]))<<24,r<128)return ip(t,n,e);if(n|=(1&(r=o[i.pos++]))<<31,r<128)return ip(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&tp?function(t,e,i){return tp.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var n="",r=e;r239?4:l>223?3:l>191?2:1;if(r+u>i)break;1===u?l<128&&(c=l):2===u?128==(192&(o=t[r+1]))&&(c=(31&l)<<6|63&o)<=127&&(c=null):3===u?(s=t[r+2],128==(192&(o=t[r+1]))&&128==(192&s)&&((c=(15&l)<<12|(63&o)<<6|63&s)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(s=t[r+2],a=t[r+3],128==(192&(o=t[r+1]))&&128==(192&s)&&128==(192&a)&&((c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),r+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Kh.Bytes)return t.push(this.readVarint(e));var i=ep(this);for(t=t||[];this.pos127;);else if(e===Kh.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Kh.Fixed32)this.pos+=4;else{if(e!==Kh.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,n;if(t>=0?(i=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var n,r,o=0;o55295&&n<57344){if(!r){n>56319||o+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):r=n;continue}if(n<56320){t[i++]=239,t[i++]=191,t[i++]=189,r=n;continue}n=r-55296<<10|n-56320|65536,r=null}else r&&(t[i++]=239,t[i++]=191,t[i++]=189,r=null);n<128?t[i++]=n:(n<2048?t[i++]=n>>6|192:(n<65536?t[i++]=n>>12|224:(t[i++]=n>>18|240,t[i++]=n>>12&63|128),t[i++]=n>>6&63|128),t[i++]=63&n|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&np(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),Yh(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Yh(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&np(i,n,this),this.pos=i-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,i){this.writeTag(t,Kh.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,rp,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,op,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,lp,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,sp,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ap,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,cp,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,up,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hp,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pp,e)},writeBytesField:function(t,e){this.writeTag(t,Kh.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Kh.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Kh.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Kh.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Kh.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Kh.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Kh.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Kh.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Kh.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Kh.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var gp=d(Wh);const _p=3;function yp(t,e,i){e.glyphs=[],1===t&&i.readMessage(vp,e)}function vp(t,e,i){if(3===t){const{id:t,bitmap:n,width:r,height:o,left:s,top:a,advance:l}=i.readMessage(xp,{});e.glyphs.push({id:t,bitmap:new Nc({width:r+2*_p,height:o+2*_p},n),metrics:{width:r,height:o,left:s,top:a,advance:l}})}else 4===t?e.ascender=i.readSVarint():5===t&&(e.descender=i.readSVarint())}function xp(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}const bp=_p;function wp(t){let e=0,i=0;for(const n of t)e+=n.w*n.h,i=Math.max(i,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let r=0,o=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const i=n[t];if(!(e.w>i.w||e.h>i.h)){if(e.x=i.x,e.y=i.y,o=Math.max(o,e.y+e.h),r=Math.max(r,e.x+e.w),e.w===i.w&&e.h===i.h){const e=n.pop();tt.hasImage(e))),t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in t.updatedImages)this.patchUpdatedImage(this.iconPositions[i],t.getImage(i),e),this.patchUpdatedImage(this.patternPositions[i],t.getImage(i),e)}patchUpdatedImage(t,e,i){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[n,r]=t.tl;i.update(e.data,void 0,{x:n,y:r})}}Yr(Ep,"ImagePosition"),Yr(Cp,"ImageAtlas");const Tp={horizontal:1,vertical:2,horizontalOnly:3},kp=-17;class Sp{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(t,e){const i=new Sp;return i.scale=t||1,i.fontStack=e,i}static forImage(t){const e=new Sp;return e.imageName=t,e}}class Ip{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(t,e){const i=new Ip;for(let n=0;n=0&&i>=t&&Pp[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Ip;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Sp.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Mp(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f){const m=Ip.fromFeature(t,r);h===Tp.vertical&&m.verticalizePunctuation(p);let g=[];const _=function(t,e,i,n,r,o){if(!t)return[];const s=[],a=function(t,e,i,n,r,o){let s=0;for(let i=0;i=0;let c=0;for(let i=0;i0&&o>b&&(b=o)}else{const t=i[a.fontStack];if(!t)continue;t[m]&&(E=t[m]);const n=e[a.fontStack];if(!n)continue;const o=n.glyphs[m];if(!o)continue;if(v=o.metrics,T=8203!==m?Nh:0,g){const t=void 0!==n.ascender?Math.abs(n.ascender):0,e=void 0!==n.descender?Math.abs(n.descender):0,i=(t+e)*_;w-i/2;){if(s--,s<0)return!1;a-=t[s].dist(o),o=t[s]}a+=t[s].dist(t[s+1]),s++;const l=[];let c=0;for(;an;)c-=l.shift().angleDelta;if(c>r)return!1;s++,a+=e.dist(i)}return!0}function qp(t){let e=0;for(let i=0;ic){const u=(c-l)/o,h=Li(n.x,r.x,u),p=Li(n.y,r.y,u),d=new Vp(h,p,0,r.angleTo(n),i);return!s||Gp(t,d,a,s,e)?d:void 0}l+=o}}function Wp(t,e,i,n,r,o,s,a,l){const c=Zp(n,o,s),u=$p(n,r),h=u*s,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&y=0&&p+c<=u){const i=new Vp(_,y,0,m,e);i._round(),n&&!Gp(t,i,o,n,r)||d.push(i)}}h+=f}return a||d.length||s||(d=Hp(t,h/2,i,n,r,o,s,!0,l)),d}function Yp(t,e,i,n,r){const o=[];for(let s=0;s=n&&c.x>=n||(s.x>=n?s=new v(n,s.y+(n-s.x)/(c.x-s.x)*(c.y-s.y))._round():c.x>=n&&(c=new v(n,s.y+(n-s.x)/(c.x-s.x)*(c.y-s.y))._round()),s.y>=r&&c.y>=r||(s.y>=r?s=new v(s.x+(r-s.y)/(c.y-s.y)*(c.x-s.x),r)._round():c.y>=r&&(c=new v(s.x+(r-s.y)/(c.y-s.y)*(c.x-s.x),r)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(c)))))}}return o}Yr(Vp,"Anchor");const Kp=1e20;function Jp(t,e,i,n,r,o,s,a,l){for(let c=e;c-1);l++,o[l]=a,s[l]=c,s[l+1]=Kp}for(let a=0,l=0;a{let n=this.entries[t];n||(n=this.entries[t]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let r=n.glyphs[e];if(void 0!==r)return void i(null,{stack:t,id:e,glyph:r});if(r=this._tinySDF(n,t,e),r)return n.glyphs[e]=r,void i(null,{stack:t,id:e,glyph:r});const o=Math.floor(e/256);if(256*o>65535)return void i(new Error("glyphs > 65535 not supported"));if(n.ranges[o])return void i(null,{stack:t,id:e,glyph:r});let s=n.requests[o];s||(s=n.requests[o]=[],id.loadGlyphRange(t,o,this.url,this.requestManager,((t,e)=>{if(e){n.ascender=e.ascender,n.descender=e.descender;for(const t in e.glyphs)this._doesCharSupportLocalGlyph(+t)||(n.glyphs[+t]=e.glyphs[+t]);n.ranges[o]=!0}for(const i of s)i(t,e);delete n.requests[o]}))),s.push(((n,r)=>{n?i(n):r&&i(null,{stack:t,id:e,glyph:r.glyphs[e]||null})}))}),((t,i)=>{if(t)e(t);else if(i){const t={};for(const{stack:e,id:n,glyph:r}of i)void 0===t[e]&&(t[e]={}),void 0===t[e].glyphs&&(t[e].glyphs={}),t[e].glyphs[n]=r&&{id:r.id,bitmap:r.bitmap.clone(),metrics:r.metrics},t[e].ascender=this.entries[e].ascender,t[e].descender=this.entries[e].descender;e(null,t)}}))}_doesCharSupportLocalGlyph(t){return this.localGlyphMode!==ed.none&&(this.localGlyphMode===ed.all?!!this.localFontFamily:!!this.localFontFamily&&(eo["CJK Unified Ideographs"](t)||eo["Hangul Syllables"](t)||eo.Hiragana(t)||eo.Katakana(t)||eo["CJK Symbols and Punctuation"](t)))}_tinySDF(t,e,i){const n=this.localFontFamily;if(!n||!this._doesCharSupportLocalGlyph(i))return;let r=t.tinySDF;if(!r){let i="400";/bold/i.test(e)?i="900":/medium/i.test(e)?i="500":/light/i.test(e)&&(i="200"),r=t.tinySDF=new id.TinySDF({fontFamily:n,fontWeight:i,fontSize:24*td,buffer:3*td,radius:8*td}),r.fontWeight=i}if(this.localGlyphs[r.fontWeight][i])return this.localGlyphs[r.fontWeight][i];const o=String.fromCharCode(i),{data:s,width:a,height:l,glyphWidth:c,glyphHeight:u,glyphLeft:h,glyphTop:p,glyphAdvance:d}=r.draw(o);return this.localGlyphs[r.fontWeight][i]={id:i,bitmap:new Nc({width:a,height:l},s),metrics:{width:c/td,height:u/td,left:h/td,top:p/td-27,advance:d/td,localGlyph:!0}}}}id.loadGlyphRange=function(t,e,i,n,r){const o=256*e,s=o+255,a=n.transformRequest(n.normalizeGlyphsURL(i).replace("{fontstack}",t).replace("{range}",`${o}-${s}`),ct.Glyphs);dt(a,((t,e)=>{if(t)r(t);else if(e){const t={},i=function(t){return new gp(t).readFields(yp,{})}(e);for(const e of i.glyphs)t[e.id]=e;r(null,{glyphs:t,ascender:i.ascender,descender:i.descender})}}))},id.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:n=.25,fontFamily:r="sans-serif",fontWeight:o="normal",fontStyle:s="normal"}={}){this.buffer=e,this.cutoff=n,this.radius=i;const a=this.size=t+4*e,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${s} ${o} ${t}px ${r}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:n,actualBoundingBoxLeft:r,actualBoundingBoxRight:o}=this.ctx.measureText(t),s=Math.ceil(i),a=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-r))),l=Math.min(this.size-this.buffer,s+Math.ceil(n)),c=a+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),p=new Uint8ClampedArray(h),d={data:p,width:c,height:u,glyphWidth:a,glyphHeight:l,glyphTop:s,glyphLeft:0,glyphAdvance:e};if(0===a||0===l)return d;const{ctx:f,buffer:m,gridInner:g,gridOuter:_}=this;f.clearRect(m,m,a,l),f.fillText(t,m,m+s);const y=f.getImageData(m,m,a,l);_.fill(Kp,0,h),g.fill(0,0,h);for(let t=0;t0?t*t:0,g[n]=t<0?t*t:0}}Jp(_,0,0,c,u,c,this.f,this.v,this.z),Jp(g,m,m,a,l,c,this.f,this.v,this.z);for(let t=0;tt+e[1]-e[0],f=h.reduce(d,0),m=p.reduce(d,0),g=a-f,_=l-m;let y=0,x=f,b=0,w=m,A=0,E=g,C=0,T=_;if(o.content&&n){const t=o.content;y=od(h,0,t[0]),b=od(p,0,t[1]),x=od(h,t[0],t[2]),w=od(p,t[1],t[3]),A=t[0]-y,C=t[1]-b,E=t[2]-t[0]-x,T=t[3]-t[1]-w}const k=(n,r,a,l)=>{const h=ad(n.stretch-y,x,c,t.left),p=ld(n.fixed-A,E,n.stretch,f),d=ad(r.stretch-b,w,u,t.top),g=ld(r.fixed-C,T,r.stretch,m),_=ad(a.stretch-y,x,c,t.left),k=ld(a.fixed-A,E,a.stretch,f),S=ad(l.stretch-b,w,u,t.top),I=ld(l.fixed-C,T,l.stretch,m),M=new v(h,d),P=new v(_,d),L=new v(_,S),z=new v(h,S),D=new v(p/s,g/s),R=new v(k/s,I/s),O=e*Math.PI/180;if(O){const t=Math.sin(O),e=Math.cos(O),i=[e,-t,t,e];M._matMult(i),P._matMult(i),z._matMult(i),L._matMult(i)}const B=n.stretch+n.fixed,N=r.stretch+r.fixed;return{tl:M,tr:P,bl:z,br:L,tex:{x:o.paddedRect.x+nd+B,y:o.paddedRect.y+nd+N,w:a.stretch+a.fixed-B,h:l.stretch+l.fixed-N},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:R,minFontScaleX:E/s/c,minFontScaleY:T/s/u,isSDF:i}};if(n&&(o.stretchX||o.stretchY)){const t=sd(h,g,f),e=sd(p,_,m);for(let i=0;i0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,n=e[t];for(;t>0;){const r=t-1>>1,o=e[r];if(i(n,o)>=0)break;e[t]=o,t=r}e[t]=n}_down(t){const{data:e,compare:i}=this,n=this.length>>1,r=e[t];for(;t=0)break;e[t]=o,t=n}e[t]=r}}function hd(t,e){return te?1:0}function pd(t,e=1,i=!1){let n=1/0,r=1/0,o=-1/0,s=-1/0;const a=t[0];for(let t=0;to)&&(o=e.x),(!t||e.y>s)&&(s=e.y)}const l=Math.min(o-n,s-r);let c=l/2;const u=new ud([],dd);if(0===l)return new v(n,r);for(let e=n;eh.d||!h.d)&&(h=n,i&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,p)),n.max-h.d<=e||(c=n.h/2,u.push(new fd(n.p.x-c,n.p.y-c,c,t)),u.push(new fd(n.p.x+c,n.p.y-c,c,t)),u.push(new fd(n.p.x-c,n.p.y+c,c,t)),u.push(new fd(n.p.x+c,n.p.y+c,c,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${h.d}`)),h.p}function dd(t,e){return e.max-t.max}class fd{constructor(t,e,i,n){this.p=new v(t,e),this.h=i,this.d=function(t,e){let i=!1,n=1/0;for(let r=0;rt.y!=a.y>t.y&&t.x<(a.x-r.x)*(t.y-r.y)/(a.y-r.y)+r.x&&(i=!i),n=Math.min(n,yc(t,r,a))}}return(i?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}}const md=7,gd=Number.POSITIVE_INFINITY,_d=Math.sqrt(2);function yd(t,[e,i]){let n=0,r=0;if(i===gd){e<0&&(e=0);const i=e/_d;switch(t){case"top-right":case"top-left":r=i-md;break;case"bottom-right":case"bottom-left":r=-i+md;break;case"bottom":r=-e+md;break;case"top":r=e-md}switch(t){case"top-right":case"bottom-right":n=-i;break;case"top-left":case"bottom-left":n=i;break;case"left":n=e;break;case"right":n=-e}}else{switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":r=i-md;break;case"bottom-right":case"bottom-left":case"bottom":r=-i+md}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}}return[n,r]}function vd(t,e,i,n,r,o,s,a,l,c){t.createArrays(),t.tilePixelRatio=aa/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;const u=t.layers[0].layout,h=t.layers[0]._unevaluatedLayout._values,p={};if("composite"===t.textSizeData.kind){const{minZoom:e,maxZoom:i}=t.textSizeData;p.compositeTextSizes=[h["text-size"].possiblyEvaluate(new Ao(e),a),h["text-size"].possiblyEvaluate(new Ao(i),a)]}if("composite"===t.iconSizeData.kind){const{minZoom:e,maxZoom:i}=t.iconSizeData;p.compositeIconSizes=[h["icon-size"].possiblyEvaluate(new Ao(e),a),h["icon-size"].possiblyEvaluate(new Ao(i),a)]}p.layoutTextSize=h["text-size"].possiblyEvaluate(new Ao(l+1),a),p.layoutIconSize=h["icon-size"].possiblyEvaluate(new Ao(l+1),a),p.textMaxSize=h["text-size"].possiblyEvaluate(new Ao(18),a);const d="map"===u.get("text-rotation-alignment")&&"point"!==u.get("symbol-placement"),f=u.get("text-size");for(const o of t.features){const l=u.get("text-font").evaluate(o,{},a).join(","),h=f.evaluate(o,{},a),m=p.layoutTextSize.evaluate(o,{},a),g=(p.layoutIconSize.evaluate(o,{},a),{horizontal:{},vertical:void 0}),_=o.text;let y,v=[0,0];if(_){const n=_.toString(),s=u.get("text-letter-spacing").evaluate(o,{},a)*Nh,c=u.get("text-line-height").evaluate(o,{},a)*Nh,p=no(n)?s:0,f=u.get("text-anchor").evaluate(o,{},a),y=u.get("text-variable-anchor");if(!y){const t=u.get("text-radial-offset").evaluate(o,{},a);v=t?yd(f,[t*Nh,gd]):u.get("text-offset").evaluate(o,{},a).map((t=>t*Nh))}let x=d?"center":u.get("text-justify").evaluate(o,{},a);const b="point"===u.get("symbol-placement"),w=b?u.get("text-max-width").evaluate(o,{},a)*Nh:1/0,A=o=>{t.allowVerticalPlacement&&io(n)&&(g.vertical=Mp(_,e,i,r,l,w,c,f,o,p,v,Tp.vertical,!0,m,h))};if(!d&&y){const t="auto"===x?y.map((t=>xd(t))):[x];let n=!1;for(let o=0;o=0||!io(n)){const t=Mp(_,e,i,r,l,w,c,f,x,p,v,Tp.horizontal,!1,m,h);t&&(g.horizontal[x]=t)}A(b?"left":x)}}let x=!1;if(o.icon&&o.icon.name){const e=n[o.icon.name];e&&(y=Up(r[o.icon.name],u.get("icon-offset").evaluate(o,{},a),u.get("icon-anchor").evaluate(o,{},a)),x=e.sdf,void 0===t.sdfIcons?t.sdfIcons=e.sdf:t.sdfIcons!==e.sdf&&Z("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(e.pixelRatio!==t.pixelRatio||0!==u.get("icon-rotate").constantOr(1))&&(t.iconsNeedLinear=!0))}const b=Cd(g.horizontal)||g.vertical;t.iconsInText||(t.iconsInText=!!b&&b.iconsInText),(b||y)&&bd(t,o,g,y,n,p,m,0,v,x,s,a,c)}o&&t.generateCollisionDebugBuffers(l,t.collisionBoxArray)}function xd(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function bd(t,e,i,n,r,o,s,a,l,c,u,h,p){let d=o.textMaxSize.evaluate(e,{},h);void 0===d&&(d=s);const f=t.layers[0].layout,m=f.get("icon-offset").evaluate(e,{},h),g=Cd(i.horizontal)||i.vertical,_="globe"===p.name,y=Nh,v=s/y,x=t.tilePixelRatio*d/y,b=(M=t.overscaling,t.zoom>18&&M>2&&(M>>=1),Math.max(aa/(512*M),1)*f.get("symbol-spacing")),A=f.get("text-padding")*t.tilePixelRatio,E=f.get("icon-padding")*t.tilePixelRatio,C=w(f.get("text-max-angle")),T="map"===f.get("text-rotation-alignment")&&"point"!==f.get("symbol-placement"),k="map"===f.get("icon-rotation-alignment")&&"point"!==f.get("symbol-placement"),S=f.get("symbol-placement"),I=b/2;var M;const P=f.get("icon-text-fit");let L;n&&"none"!==P&&(t.allowVerticalPlacement&&i.vertical&&(L=jp(n,i.vertical,P,f.get("icon-text-fit-padding"),m,v)),g&&(n=jp(n,g,P,f.get("icon-text-fit-padding"),m,v)));const z=(s,a,d)=>{if(a.x<0||a.x>=aa||a.y<0||a.y>=aa)return;let f=null;if(_){const{x:t,y:e,z:i}=p.projectTilePoint(a.x,a.y,d);f={anchor:new Vp(t,e,i,0,void 0),up:p.upVector(d,a.x,a.y)}}!function(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v,x,b,w,A,E){const C=t.addToLineVertexArray(e,n);let T,k,S,I,M,P,L,z=0,D=0,R=0,O=0,B=-1,N=-1;const F={};let U=Ps("");const j=i?i.anchor:e;let V=0,G=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[V,G]=l.layout.get("text-offset").evaluate(x,{},E).map((t=>t*Nh)):(V=l.layout.get("text-radial-offset").evaluate(x,{},E)*Nh,G=gd),t.allowVerticalPlacement&&r.vertical){const t=r.vertical;if(f)P=kd(t),a&&(L=kd(a));else{const i=l.layout.get("text-rotate").evaluate(x,{},E)+90;S=Td(c,j,e,u,h,p,t,d,i,m),a&&(I=Td(c,j,e,u,h,p,a,_,i))}}if(o){const n=l.layout.get("icon-rotate").evaluate(x,{},E),r="none"!==l.layout.get("icon-text-fit"),s=rd(o,n,w,r),d=a?rd(a,n,w,r):void 0;k=Td(c,j,e,u,h,p,o,_,n),z=4*s.length;const f=t.iconSizeData;let m=null;"source"===f.kind?(m=[Fh*l.layout.get("icon-size").evaluate(x,{},E)],m[0]>Ad&&Z(`${t.layerIds[0]}: Value for "icon-size" is >= ${wd}. Reduce your "icon-size".`)):"composite"===f.kind&&(m=[Fh*b.compositeIconSizes[0].evaluate(x,{},E),Fh*b.compositeIconSizes[1].evaluate(x,{},E)],(m[0]>Ad||m[1]>Ad)&&Z(`${t.layerIds[0]}: Value for "icon-size" is >= ${wd}. Reduce your "icon-size".`)),t.addSymbols(t.icon,s,m,v,y,x,!1,i,e,C.lineStartIndex,C.lineLength,-1,A,E),B=t.icon.placedSymbolArray.length-1,d&&(D=4*d.length,t.addSymbols(t.icon,d,m,v,y,x,Tp.vertical,i,e,C.lineStartIndex,C.lineLength,-1,A,E),N=t.icon.placedSymbolArray.length-1)}for(const n in r.horizontal){const o=r.horizontal[n];T||(U=Ps(o.text),f?M=kd(o):T=Td(c,j,e,u,h,p,o,d,l.layout.get("text-rotate").evaluate(x,{},E),m));const a=1===o.positionedLines.length;if(R+=Ed(t,i,e,o,s,l,f,x,m,C,r.vertical?Tp.horizontal:Tp.horizontalOnly,a?Object.keys(r.horizontal):[n],F,B,b,A,E),a)break}r.vertical&&(O+=Ed(t,i,e,r.vertical,s,l,f,x,m,C,Tp.vertical,["vertical"],F,N,b,A,E));let q=-1;const $=(t,e)=>t?Math.max(t,e):e;q=$(M,q),q=$(P,q),q=$(L,q);const X=q>-1?1:0;t.glyphOffsetArray.length>=af.MAX_GLYPHS&&Z("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==x.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,x.sortKey),t.symbolInstances.emplaceBack(j.x,j.y,j.z,e.x,e.y,F.right>=0?F.right:-1,F.center>=0?F.center:-1,F.left>=0?F.left:-1,F.vertical>=0?F.vertical:-1,B,N,U,void 0!==T?T:t.collisionBoxArray.length,void 0!==T?T+1:t.collisionBoxArray.length,void 0!==S?S:t.collisionBoxArray.length,void 0!==S?S+1:t.collisionBoxArray.length,void 0!==k?k:t.collisionBoxArray.length,void 0!==k?k+1:t.collisionBoxArray.length,I||t.collisionBoxArray.length,I?I+1:t.collisionBoxArray.length,u,R,O,z,D,X,0,V,G,q)}(t,a,f,s,i,n,r,L,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,A,T,l,0,E,k,m,e,o,c,u,h)};if("line"===S)for(const r of Yp(e.geometry,0,0,aa,aa)){const e=Wp(r,b,C,i.vertical||g,n,y,x,t.overscaling,aa);for(const i of e)g&&Sd(t,g.text,I,i)||z(r,i,h)}else if("line-center"===S){for(const t of e.geometry)if(t.length>1){const e=Xp(t,C,i.vertical||g,n,y,x);e&&z(t,e,h)}}else if("Polygon"===e.type)for(const t of Au(e.geometry,0)){const e=pd(t,16);z(t[0],new Vp(e.x,e.y,0,0,void 0),h)}else if("LineString"===e.type)for(const t of e.geometry)z(t,new Vp(t[0].x,t[0].y,0,0,void 0),h);else if("Point"===e.type)for(const t of e.geometry)for(const e of t)z([e],new Vp(e.x,e.y,0,0,void 0),h)}const wd=255,Ad=wd*Fh;function Ed(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g){const _=function(t,e,i,n,r,o,s,a){const l=[];if(0===e.positionedLines.length)return l;const c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=function(t){const e=t[0],i=t[1],n=e*i;return n>0?[e,-i]:n<0?[-e,i]:0===e?[i,e]:[i,-e]}(i);let h=Math.abs(e.top-e.bottom);for(const t of e.positionedLines)h-=t.lineOffset;const p=e.positionedLines.length,d=h/p;let f=e.top-i[1];for(let t=0;tAd&&Z(`${t.layerIds[0]}: Value for "text-size" is >= ${wd}. Reduce your "text-size".`)):"composite"===y.kind&&(x=[Fh*f.compositeTextSizes[0].evaluate(a,{},g),Fh*f.compositeTextSizes[1].evaluate(a,{},g)],(x[0]>Ad||x[1]>Ad)&&Z(`${t.layerIds[0]}: Value for "text-size" is >= ${wd}. Reduce your "text-size".`)),t.addSymbols(t.text,_,x,l,s,a,u,e,i,c.lineStartIndex,c.lineLength,d,m,g);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*_.length}function Cd(t){for(const e in t)return t[e];return null}function Td(t,e,i,n,r,o,s,a,l,c){let u=s.top,h=s.bottom,p=s.left,d=s.right;const f=s.collisionPadding;if(f&&(p-=f[0],u-=f[1],d+=f[2],h+=f[3]),l){const t=new v(p,u),e=new v(d,u),i=new v(p,h),n=new v(d,h),r=w(l);let o=new v(0,0);c&&(o=new v(c[0],c[1])),t._rotateAround(r,o),e._rotateAround(r,o),i._rotateAround(r,o),n._rotateAround(r,o),p=Math.min(t.x,e.x,i.x,n.x),d=Math.max(t.x,e.x,i.x,n.x),u=Math.min(t.y,e.y,i.y,n.y),h=Math.max(t.y,e.y,i.y,n.y)}return t.emplaceBack(e.x,e.y,e.z,i.x,i.y,p,u,d,h,a,n,r,o),t.length-1}function kd(t){t.collisionPadding&&(t.top-=t.collisionPadding[1],t.bottom+=t.collisionPadding[3]);const e=t.bottom-t.top;return e>0?Math.max(10,e):null}function Sd(t,e,i,n){const r=t.compareText;if(e in r){const t=r[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])v&&(x(t,c,n,r,a,l),x(c,i,a,l,o,s))}x(h,p,n,o,r,o),x(p,d,r,o,r,s),x(d,f,r,s,n,s),x(f,h,n,s,n,o),m-=v,g-=v,_+=v,y+=v;const b=1/Math.max(_-m,y-g);return{scale:b,x:m*b,y:g*b,x2:_*b,y2:y*b,projection:e}}const Pd=da(new Float32Array(16));class Ld{constructor(t){this.spec=t,this.name=t.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit="meters",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=["custom"],this.center=[0,0],this.range=[3.5,7]}project(t,e){return{x:0,y:0,z:0}}unproject(t,e){return new Vl(0,0)}projectTilePoint(t,e,i){return{x:t,y:e,z:0}}locationPoint(t,e,i=!0){return t._coordinatePoint(t.locationCoordinate(e),i)}pixelsPerMeter(t,e){return $l(1,t)*e}pixelSpaceConversion(t,e,i){return 1}farthestPixelDistance(t){return Id(t,t.pixelsPerMeter)}pointCoordinate(t,e,i,n){const r=t.horizonLineFromTop(!1),o=new v(e,Math.max(r,i));return t.rayIntersectionCoordinate(t.pointRayIntersection(o,n))}pointCoordinate3D(t,e,i){const n=new v(e,i);if(t.elevation)return t.elevation.pointCoordinate(n);{const e=this.pointCoordinate(t,n.x,n.y,0);return[e.x,e.y,e.z]}}isPointAboveHorizon(t,e){if(t.elevation)return!this.pointCoordinate3D(t,e.x,e.y);const i=t.horizonLineFromTop();return e.y0?e<-jd+i&&(e=-jd+i):e>jd-i&&(e=jd-i);const o=r/Math.pow(Vd(e),n);let s=o*Math.sin(n*t),a=r-o*Math.cos(n*t);return s=.5*(s/Math.PI+.5),a=.5*(a/Math.PI+.5),{x:s,y:this.southernCenter?a:1-a,z:0}}unproject(t,e){t=(2*t-.5)*Math.PI,this.southernCenter&&(e=1-e),e=(2*(1-e)-.5)*Math.PI;const{n:i,f:n}=this,r=n-e,o=Math.sign(r),s=Math.sign(i)*Math.sqrt(t*t+r*r);let a=Math.atan2(t,Math.abs(r))*o;r*i<0&&(a-=Math.PI*Math.sign(t)*o);const l=S(A(a/i)+this.center[0],-180,180),c=S(A(2*Math.atan(Math.pow(n/s,1/i))-jd),-Yl,Yl);return new Vl(l,this.southernCenter?-c:c)}}class qd extends Ld{constructor(t){super(t),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null}project(t,e){return{x:ql(t),y:Zl(e),z:0}}unproject(t,e){const i=Xl(t),n=Wl(e);return new Vl(i,n)}}const Zd=w(Yl);class $d extends Ld{project(t,e){const i=(e=w(e))*e,n=i*i;return{x:.5*((t=w(t))*(.8707-.131979*i+n*(n*(.003971*i-.001529*n)-.013791))/Math.PI+.5),y:1-.5*(e*(1.007226+i*(.015085+n*(.028874*i-.044475-.005916*n)))/Math.PI+1),z:0}}unproject(t,e){t=(2*t-.5)*Math.PI;let i=e=(2*(1-e)-1)*Math.PI,n=25,r=0,o=i*i;do{o=i*i;const t=o*o;r=(i*(1.007226+o*(.015085+t*(.028874*o-.044475-.005916*t)))-e)/(1.007226+o*(.045255+t*(.259866*o-.311325-.005916*11*t))),i=S(i-r,-Zd,Zd)}while(Math.abs(r)>1e-6&&--n>0);o=i*i;const s=S(A(t/(.8707+o*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979))),-180,180),a=A(i);return new Vl(s,a)}}const Xd=w(Yl);class Wd extends Ld{project(t,e){e=w(e),t=w(t);const i=Math.cos(e),n=2/Math.PI,r=Math.acos(i*Math.cos(t/2)),o=Math.sin(r)/r,s=.5*(t*n+2*i*Math.sin(t/2)/o)||0,a=.5*(e+Math.sin(e)/o)||0;return{x:.5*(s/Math.PI+.5),y:1-.5*(a/Math.PI+1),z:0}}unproject(t,e){let i=t=(2*t-.5)*Math.PI,n=e=(2*(1-e)-1)*Math.PI,r=25;const o=1e-6;let s=0,a=0;do{const r=Math.cos(n),o=Math.sin(n),l=2*o*r,c=o*o,u=r*r,h=Math.cos(i/2),p=Math.sin(i/2),d=2*h*p,f=p*p,m=1-u*h*h,g=m?1/m:0,_=m?Math.acos(r*h)*Math.sqrt(1/m):0,y=.5*(2*_*r*p+2*i/Math.PI)-t,v=.5*(_*o+n)-e,x=.5*g*(u*f+_*r*h*c)+1/Math.PI,b=g*(d*l/4-_*o*p),w=.125*g*(l*p-_*o*u*d),A=.5*g*(c*h+_*f*r)+.5,E=b*w-A*x;s=(v*b-y*A)/E,a=(y*w-v*x)/E,i=S(i-s,-Math.PI,Math.PI),n=S(n-a,-Xd,Xd)}while((Math.abs(s)>o||Math.abs(a)>o)&&--r>0);return new Vl(A(i),A(n))}}class Hd extends Ld{constructor(t){super(t),this.center=t.center||[0,0],this.parallels=t.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(w(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0}project(t,e){const{scale:i,cosPhi:n}=this;return{x:w(t)*n*i+.5,y:-Math.sin(w(e))/n*i+.5,z:0}}unproject(t,e){const{scale:i,cosPhi:n}=this,r=-(e-.5)/i,o=S(A((t-.5)/i)/n,-180,180),s=Math.asin(S(r*n,-1,1)),a=S(A(s),-Yl,Yl);return new Vl(o,a)}}class Yd extends qd{constructor(t){super(t),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit="pixels",this.unsupportedLayers=["debug"],this.range=[3,5]}projectTilePoint(t,e,i){const n=kl(t,e,i);return Ba(n,n,Ml(yl(i))),{x:n[0],y:n[1],z:n[2]}}locationPoint(t,e){const i=Tl(e.lat,e.lng),n=Da([],i),r=t.elevation?t.elevation.getAtPointOrZero(t.locationCoordinate(e),t._centerAltitude):t._centerAltitude;za(i,i,n,$l(1,0)*aa*r);const o=da(new Float64Array(16));return ma(o,t.pixelMatrix,t.globeMatrix),Ba(i,i,o),new v(i[0],i[1])}pixelsPerMeter(t,e){return $l(1,0)*e}pixelSpaceConversion(t,e,i){const n=$l(1,t)*e,r=Li($l(1,45)*e,n,i);return this.pixelsPerMeter(t,e)/r}createTileMatrix(t,e,i){const n=Pl(yl(i.canonical));return ma(new Float64Array(16),t.globeMatrix,n)}createInversionMatrix(t,e){const{center:i}=t,n=Ml(yl(e));return va(n,n,w(i.lng)),ya(n,n,w(i.lat)),_a(n,n,[t._pixelsPerMercatorPixel,t._pixelsPerMercatorPixel,1]),Float32Array.from(n)}pointCoordinate(t,e,i,n){return ml(t,e,i,!0)||new Jl(0,0)}pointCoordinate3D(t,e,i){const n=this.pointCoordinate(t,e,i,0);return[n.x,n.y,n.z]}isPointAboveHorizon(t,e){return!ml(t,e.x,e.y,!1)}farthestPixelDistance(t){const e=function(t,e){const i=t.cameraToCenterDistance,n=t._centerAltitude*e,r=t._camera,o=t._camera.forward(),s=ka([],La([],o,-i),[0,0,n]),a=t.worldSize/(2*Math.PI),l=[0,0,-a],c=t.width/t.height,u=Math.tan(t.fovAboveCenter),h=La([],r.up(),u),p=La([],r.right(),u*c),d=Da([],ka([],ka([],o,h),p)),f=[];let m;if(new el(s,d).closestPointOnSphere(l,a,f)){const e=ka([],f,l),i=Ua([],e,s);m=Math.cos(t.fovAboveCenter)*Ca(i)}else{const t=Ua([],s,l),e=Ua([],l,s);Da(e,e);const i=Ca(t)-a;m=Math.sqrt(i*(i+2*a));const n=Math.acos(m/(a+i))-Math.acos(Ra(o,e));m*=Math.cos(n)}return 1.01*m}(t,this.pixelsPerMeter(t.center.lat,t.worldSize)),i=zl(t.zoom);if(i>0){const n=Id(t,$l(1,t.center.lat)*t.worldSize),r=t.worldSize/(2*Math.PI),o=Math.max(t.width,t.height)/t.worldSize*Math.PI;return Li(e,n+r*(1-Math.cos(o)),Math.pow(i,10))}return e}upVector(t,e,i){return kl(e,i,t,1)}upVectorScale(t){return{metersToTile:fl(Sl(yl(t)))}}}function Kd(t){const e=t.parallels,i=!!e&&Math.abs(e[0]+e[1])<.01;switch(t.name){case"mercator":return new qd(t);case"equirectangular":return new Ud(t);case"naturalEarth":return new $d(t);case"equalEarth":return new Fd(t);case"winkelTripel":return new Wd(t);case"albers":return i?new Hd(t):new zd(t);case"lambertConformalConic":return i?new Hd(t):new Gd(t);case"globe":return new Yd(t)}throw new Error(`Invalid projection name: ${t.name}`)}const Jd=Xu.types,Qd=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function tf(t,e,i,n,r,o,s,a,l,c,u,h,p){const d=a?Math.min(Ad,Math.round(a[0])):0,f=a?Math.min(Ad,Math.round(a[1])):0;t.emplaceBack(e,i,Math.round(32*n),Math.round(32*r),o,s,(d<<1)+(l?1:0),f,16*c,16*u,256*h,256*p)}function ef(t,e,i,n,r,o,s){t.emplaceBack(e,i,n,r,o,s)}function nf(t,e,i,n,r){t.emplaceBack(e,i,n,r),t.emplaceBack(e,i,n,r),t.emplaceBack(e,i,n,r),t.emplaceBack(e,i,n,r)}function rf(t){for(const e of t.sections)if(co(e.text))return!0;return!1}class of{constructor(t){this.layoutVertexArray=new Yo,this.indexArray=new rs,this.programConfigurations=t,this.segments=new sa,this.dynamicLayoutVertexArray=new $o,this.opacityVertexArray=new Jo,this.placedSymbolArray=new gs,this.globeExtVertexArray=new Ko}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length}upload(t,e,i,n){this.isEmpty()||(i&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ph.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,zh.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Qd,!0),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,Lh.members,!0)),this.opacityVertexBuffer.itemSize=1),(i||n)&&this.programConfigurations.upload(t))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}}Yr(of,"SymbolBuffers");class sf{constructor(t,e,i){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new i,this.segments=new sa,this.collisionVertexArray=new is,this.collisionVertexArrayExt=new ns}upload(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Dh.members,!0),this.collisionVertexBufferExt=t.createVertexBuffer(this.collisionVertexArrayExt,Rh.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy())}}Yr(sf,"CollisionBuffers");class af{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=da([]),this.placementViewportMatrix=da([]);const e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Uh(this.zoom,e["text-size"]),this.iconSizeData=Uh(this.zoom,e["icon-size"]);const i=this.layers[0].layout,n=i.get("symbol-sort-key"),r=i.get("symbol-z-order");this.canOverlap=i.get("text-allow-overlap")||i.get("icon-allow-overlap")||i.get("text-ignore-placement")||i.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==r&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===r||"auto"===r&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=i.get("text-writing-mode").map((t=>Tp[t])),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=t.sourceID,this.projection=t.projection}createArrays(){this.text=new of(new Ys(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new of(new Ys(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new vs,this.lineVertexArray=new xs,this.symbolInstances=new ys}calculateGlyphDependencies(t,e,i,n,r){for(let i=0;i0)&&("constant"!==a.value.kind||a.value.value.length>0),h="constant"!==c.value.kind||!!c.value.value||Object.keys(c.parameters).length>0,p=o.get("symbol-sort-key");if(this.features=[],!u&&!h)return;const d=e.iconDependencies,f=e.glyphDependencies,m=e.availableImages,g=new Ao(this.zoom);for(const{feature:e,id:l,index:c,sourceLayerIndex:_}of t){const t=r._featureFilter.needGeometry,y=ac(e,t);if(!r._featureFilter.filter(g,y,i))continue;if(t||(y.geometry=sc(e,i,n)),s&&1!==e.type&&i.z<=5){const t=y.geometry,e=.98078528056,n=(t,n)=>Ra(kl(t.x,t.y,i,1),kl(n.x,n.y,i,1))=0;for(const i of v.sections)if(i.image)d[i.image.name]=!0;else{const n=io(v.toString()),r=i.fontStack||t,o=f[r]=f[r]||{};this.calculateGlyphDependencies(i.text,o,e,this.allowVerticalPlacement,n)}}}"line"===o.get("symbol-placement")&&(this.features=function(t){const e={},i={},n=[];let r=0;function o(e){n.push(t[e]),r++}function s(t,e,r){const o=i[t];return delete i[t],i[e]=o,n[o].geometry[0].pop(),n[o].geometry[0]=n[o].geometry[0].concat(r[0]),o}function a(t,i,r){const o=e[i];return delete e[i],e[t]=o,n[o].geometry[0].shift(),n[o].geometry[0]=r[0].concat(n[o].geometry[0]),o}function l(t,e,i){const n=i?e[0][e[0].length-1]:e[0][0];return`${t}:${n.x}:${n.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i,n),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i,n))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}getProjection(){return this.projectionInstance||(this.projectionInstance=Kd(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment)for(const{x:t,y:i}of e)this.lineVertexArray.emplaceBack(t,i);return{lineStartIndex:i,lineLength:this.lineVertexArray.length-i}}addSymbols(t,e,i,n,r,o,s,a,l,c,u,h,p,d){const f=t.indexArray,m=t.layoutVertexArray,g=t.globeExtVertexArray,_=t.segments.prepareSegment(4*e.length,m,f,this.canOverlap?o.sortKey:void 0),y=this.glyphOffsetArray.length,v=_.vertexLength,x=this.allowVerticalPlacement&&s===Tp.vertical?Math.PI/2:0,b=o.text&&o.text.sections;for(let n=0;n=0?e.rightJustifiedTextSymbolIndex:e.centerJustifiedTextSymbolIndex>=0?e.centerJustifiedTextSymbolIndex:e.leftJustifiedTextSymbolIndex>=0?e.leftJustifiedTextSymbolIndex:e.verticalPlacedTextSymbolIndex>=0?e.verticalPlacedTextSymbolIndex:n),o=jh(this.textSizeData,t,r)/Nh;return this.tilePixelRatio*o}getSymbolInstanceIconSize(t,e,i){const n=this.icon.placedSymbolArray.get(i),r=jh(this.iconSizeData,t,n);return this.tilePixelRatio*r}_commitDebugCollisionVertexUpdate(t,e,i){t.emplaceBack(e,-i,-i),t.emplaceBack(e,i,-i),t.emplaceBack(e,i,i),t.emplaceBack(e,-i,i)}_updateTextDebugCollisionBoxes(t,e,i,n,r,o){for(let s=n;s0}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(t,e){const i=t.placedSymbolArray.get(e),n=i.vertexStartIndex+4*i.numGlyphs;for(let e=i.vertexStartIndex;en[t]-n[e]||r[e]-r[t])),o}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex);const{rightJustifiedTextSymbolIndex:i,centerJustifiedTextSymbolIndex:n,leftJustifiedTextSymbolIndex:r,verticalPlacedTextSymbolIndex:o,placedIconSymbolIndex:s,verticalPlacedIconSymbolIndex:a}=e;i>=0&&this.addIndicesForPlacedSymbol(this.text,i),n>=0&&n!==i&&this.addIndicesForPlacedSymbol(this.text,n),r>=0&&r!==n&&r!==i&&this.addIndicesForPlacedSymbol(this.text,r),o>=0&&this.addIndicesForPlacedSymbol(this.text,o),s>=0&&this.addIndicesForPlacedSymbol(this.icon,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Yr(af,"SymbolBucket",{omit:["layers","collisionBoxArray","features","compareText"]}),af.MAX_GLYPHS=65535,af.addDynamicAttributes=nf;const lf=new Ro({"symbol-placement":new Lo(ee.layout_symbol["symbol-placement"]),"symbol-spacing":new Lo(ee.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Lo(ee.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new zo(ee.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Lo(ee.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Lo(ee.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Lo(ee.layout_symbol["icon-ignore-placement"]),"icon-optional":new Lo(ee.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Lo(ee.layout_symbol["icon-rotation-alignment"]),"icon-size":new zo(ee.layout_symbol["icon-size"]),"icon-text-fit":new Lo(ee.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Lo(ee.layout_symbol["icon-text-fit-padding"]),"icon-image":new zo(ee.layout_symbol["icon-image"]),"icon-rotate":new zo(ee.layout_symbol["icon-rotate"]),"icon-padding":new Lo(ee.layout_symbol["icon-padding"]),"icon-keep-upright":new Lo(ee.layout_symbol["icon-keep-upright"]),"icon-offset":new zo(ee.layout_symbol["icon-offset"]),"icon-anchor":new zo(ee.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Lo(ee.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Lo(ee.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Lo(ee.layout_symbol["text-rotation-alignment"]),"text-field":new zo(ee.layout_symbol["text-field"]),"text-font":new zo(ee.layout_symbol["text-font"]),"text-size":new zo(ee.layout_symbol["text-size"]),"text-max-width":new zo(ee.layout_symbol["text-max-width"]),"text-line-height":new zo(ee.layout_symbol["text-line-height"]),"text-letter-spacing":new zo(ee.layout_symbol["text-letter-spacing"]),"text-justify":new zo(ee.layout_symbol["text-justify"]),"text-radial-offset":new zo(ee.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Lo(ee.layout_symbol["text-variable-anchor"]),"text-anchor":new zo(ee.layout_symbol["text-anchor"]),"text-max-angle":new Lo(ee.layout_symbol["text-max-angle"]),"text-writing-mode":new Lo(ee.layout_symbol["text-writing-mode"]),"text-rotate":new zo(ee.layout_symbol["text-rotate"]),"text-padding":new Lo(ee.layout_symbol["text-padding"]),"text-keep-upright":new Lo(ee.layout_symbol["text-keep-upright"]),"text-transform":new zo(ee.layout_symbol["text-transform"]),"text-offset":new zo(ee.layout_symbol["text-offset"]),"text-allow-overlap":new Lo(ee.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Lo(ee.layout_symbol["text-ignore-placement"]),"text-optional":new Lo(ee.layout_symbol["text-optional"])});var cf={paint:new Ro({"icon-opacity":new zo(ee.paint_symbol["icon-opacity"]),"icon-color":new zo(ee.paint_symbol["icon-color"]),"icon-halo-color":new zo(ee.paint_symbol["icon-halo-color"]),"icon-halo-width":new zo(ee.paint_symbol["icon-halo-width"]),"icon-halo-blur":new zo(ee.paint_symbol["icon-halo-blur"]),"icon-translate":new Lo(ee.paint_symbol["icon-translate"]),"icon-translate-anchor":new Lo(ee.paint_symbol["icon-translate-anchor"]),"text-opacity":new zo(ee.paint_symbol["text-opacity"]),"text-color":new zo(ee.paint_symbol["text-color"],{runtimeType:de,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new zo(ee.paint_symbol["text-halo-color"]),"text-halo-width":new zo(ee.paint_symbol["text-halo-width"]),"text-halo-blur":new zo(ee.paint_symbol["text-halo-blur"]),"text-translate":new Lo(ee.paint_symbol["text-translate"]),"text-translate-anchor":new Lo(ee.paint_symbol["text-translate-anchor"])}),layout:lf};class uf{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:ce,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Yr(uf,"FormatSectionOverride",{omit:["defaultValue"]});class hf extends na{constructor(t){super(t,cf)}recalculate(t,e){super.recalculate(t,e),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const i=this.layout.get("text-writing-mode");if(i){const t=[];for(const e of i)t.indexOf(e)<0&&t.push(e);this.layout._values["text-writing-mode"]=t}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,n){const r=this.layout.get(t).evaluate(e,{},i,n),o=this._unevaluatedLayout._values[t];return o.isDataDriven()||Yn(o.value)||!r?r:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,r)}createBucket(t){return new af(t)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const t of cf.paint.overridableProperties){if(!hf.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new uf(e),n=new Hn(i,e.property.specification);let r=null;r="constant"===e.value.kind||"source"===e.value.kind?new Jn("source",n):new Qn("composite",n,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new Mo(e.property,r,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&hf.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),n=cf.paint.properties[e];let r=!1;const o=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(r=!0)};if("constant"===i.value.kind&&i.value.value instanceof Re)o(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{r||(e instanceof Ve&&Fe(e.value)===_e?o(e.value.sections):e instanceof Xe?o(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return r}getProgramConfiguration(t){return new Hs(this,t)}}var pf={paint:new Ro({"background-color":new Lo(ee.paint_background["background-color"]),"background-pattern":new Lo(ee.paint_background["background-pattern"]),"background-opacity":new Lo(ee.paint_background["background-opacity"])})},df={paint:new Ro({"raster-opacity":new Lo(ee.paint_raster["raster-opacity"]),"raster-hue-rotate":new Lo(ee.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Lo(ee.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Lo(ee.paint_raster["raster-brightness-max"]),"raster-saturation":new Lo(ee.paint_raster["raster-saturation"]),"raster-contrast":new Lo(ee.paint_raster["raster-contrast"]),"raster-resampling":new Lo(ee.paint_raster["raster-resampling"]),"raster-fade-duration":new Lo(ee.paint_raster["raster-fade-duration"])})};class ff extends na{constructor(t){super(t,{}),this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}isLayerDraped(){return void 0!==this.implementation.renderToTile}shouldRedrape(){return!!this.implementation.shouldRerenderTiles&&this.implementation.shouldRerenderTiles()}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){}onAdd(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)}onRemove(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)}}var mf={paint:new Ro({"sky-type":new Lo(ee.paint_sky["sky-type"]),"sky-atmosphere-sun":new Lo(ee.paint_sky["sky-atmosphere-sun"]),"sky-atmosphere-sun-intensity":new Lo(ee.paint_sky["sky-atmosphere-sun-intensity"]),"sky-gradient-center":new Lo(ee.paint_sky["sky-gradient-center"]),"sky-gradient-radius":new Lo(ee.paint_sky["sky-gradient-radius"]),"sky-gradient":new Do(ee.paint_sky["sky-gradient"]),"sky-atmosphere-halo-color":new Lo(ee.paint_sky["sky-atmosphere-halo-color"]),"sky-atmosphere-color":new Lo(ee.paint_sky["sky-atmosphere-color"]),"sky-opacity":new Lo(ee.paint_sky["sky-opacity"])})};function gf(t,e,i){const n=[0,0,1],r=Xa([]);return Ha(r,r,i?-w(t)+Math.PI:w(t)),Wa(r,r,-w(e)),Na(n,n,r),Da(n,n)}const _f={circle:class extends na{constructor(t){super(t,Sc)}createBucket(t){return new uc(t)}queryRadius(t){const e=t;return Ac("circle-radius",this,e)+Ac("circle-stroke-width",this,e)+Ec(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,i,n,r,o,s,a){const l=Tc(this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),o.angle,t.pixelToTileUnitsFactor),c=this.paint.get("circle-radius").evaluate(e,i)+this.paint.get("circle-stroke-width").evaluate(e,i);return Ic(t,n,o,s,a,"map"===this.paint.get("circle-pitch-alignment"),"map"===this.paint.get("circle-pitch-scale"),l,c)}getProgramIds(){return["circle"]}getProgramConfiguration(t){return new Hs(this,t)}},heatmap:class extends na{createBucket(t){return new Dc(t)}constructor(t){super(t,Uc),this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=jc({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(t){return Ac("heatmap-radius",this,t)}queryIntersectsFeature(t,e,i,n,r,o,s,a){const l=this.paint.get("heatmap-radius").evaluate(e,i);return Ic(t,n,o,s,a,!0,!0,new v(0,0),l)}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}getProgramIds(){return["heatmap","heatmapTexture"]}getProgramConfiguration(t){return new Hs(this,t)}},hillshade:class extends na{constructor(t){super(t,Vc)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}getProgramIds(){return["hillshade","hillshadePrepare"]}},fill:class extends na{constructor(t){super(t,Iu)}getProgramIds(){const t=this.paint.get("fill-pattern"),e=t&&t.constantOr(1),i=[e?"fillPattern":"fill"];return this.paint.get("fill-antialias")&&i.push(e&&!this.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline"),i}getProgramConfiguration(t){return new Hs(this,t)}recalculate(t,e){super.recalculate(t,e);const i=this.paint._values["fill-outline-color"];"constant"===i.value.kind&&void 0===i.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(t){return new ku(t)}queryRadius(){return Ec(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,i,n,r,o){return!t.queryGeometry.isAboveHorizon&&dc(Cc(t.tilespaceGeometry,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),o.angle,t.pixelToTileUnitsFactor),n)}isTileClipped(){return!0}},"fill-extrusion":class extends na{constructor(t){super(t,uh)}createBucket(t){return new th(t)}queryRadius(){return Ec(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}getProgramIds(){return[this.paint.get("fill-extrusion-pattern").constantOr(1)?"fillExtrusionPattern":"fillExtrusion"]}getProgramConfiguration(t){return new Hs(this,t)}queryIntersectsFeature(t,e,i,n,r,o,s,a,l){const c=Tc(this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,t.pixelToTileUnitsFactor),u=this.paint.get("fill-extrusion-height").evaluate(e,i),h=this.paint.get("fill-extrusion-base").evaluate(e,i),p=[0,0],d=a&&o.elevation,f=o.elevation?o.elevation.exaggeration():1,m=t.tile.getBucket(this);if(d&&m instanceof th){const t=m.centroidVertexArray,e=l+1;et.polygon)).flat());const g=d?a:null,[_,y]=function(t,e,i,n,r,o,s,a,l,c,u){return"globe"===t.projection.name?function(t,e,i,n,r,o,s,a,l,c,u){const h=[],p=[],d=t.projection.upVectorScale(u,t.center.lat,t.worldSize).metersToTile,f=[0,0,0,1],m=[0,0,0,1],g=(t,e,i,n)=>{t[0]=e,t[1]=i,t[2]=n,t[3]=1},_=ah();i>0&&(i+=_),n+=_;for(const _ of e){const e=[],y=[];for(const h of _){const p=h.x+r.x,_=h.y+r.y,v=t.projection.projectTilePoint(p,_,u),x=t.projection.upVector(u,h.x,h.y);let b=i,w=n;if(s){const t=vh(p,_,i,n,s,a,l,c);b+=t.base,w+=t.top}0!==i?g(f,v.x+x[0]*d*b,v.y+x[1]*d*b,v.z+x[2]*d*b):g(f,v.x,v.y,v.z),g(m,v.x+x[0]*d*w,v.y+x[1]*d*w,v.z+x[2]*d*w),Ba(f,f,o),Ba(m,m,o),e.push(new gh(f[0],f[1],f[2])),y.push(new gh(m[0],m[1],m[2]))}h.push(e),p.push(y)}return[h,p]}(t,e,i,n,r,o,s,a,l,c,u):s?function(t,e,i,n,r,o,s,a,l){const c=[],u=[],h=[0,0,0,1];for(const p of t){const t=[],d=[];for(const c of p){const u=c.x+n.x,p=c.y+n.y,f=vh(u,p,e,i,o,s,a,l);h[0]=u,h[1]=p,h[2]=f.base,h[3]=1,Za(h,h,r),h[3]=Math.max(h[3],1e-5);const m=new gh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);h[0]=u,h[1]=p,h[2]=f.top,h[3]=1,Za(h,h,r),h[3]=Math.max(h[3],1e-5);const g=new gh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);t.push(m),d.push(g)}c.push(t),u.push(d)}return[c,u]}(e,i,n,r,o,s,a,l,c):function(t,e,i,n,r){const o=[],s=[],a=r[8]*e,l=r[9]*e,c=r[10]*e,u=r[11]*e,h=r[8]*i,p=r[9]*i,d=r[10]*i,f=r[11]*i;for(const e of t){const t=[],i=[];for(const o of e){const e=o.x+n.x,s=o.y+n.y,m=r[0]*e+r[4]*s+r[12],g=r[1]*e+r[5]*s+r[13],_=r[2]*e+r[6]*s+r[14],y=r[3]*e+r[7]*s+r[15],v=m+a,x=g+l,b=_+c,w=Math.max(y+u,1e-5),A=m+h,E=g+p,C=_+d,T=Math.max(y+f,1e-5);t.push(new gh(v/w,x/w,b/w)),i.push(new gh(A/T,E/T,C/T))}o.push(t),s.push(i)}return[o,s]}(e,i,n,r,o)}(o,n,h,u,c,s,g,p,f,o.center.lat,t.tileID.canonical),x=t.queryGeometry;return function(t,e,i){let n=1/0;dc(i,e)&&(n=yh(i,e[0]));for(let r=0;r=3)for(let e=0;e{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){this._channel=void 0,this._callback=()=>{}}}class xf{constructor(){this.tasks={},this.taskQueue=[],F(["process"],this),this.invoker=new vf(this.process),this.nextId=0}add(t,e){const i=this.nextId++,n=function({type:t,isSymbolTile:e,zoom:i}){return i=i||0,"message"===t?0:"maybePrepare"!==t||e?"parseTile"!==t||e?"parseTile"===t&&e?300-i:"maybePrepare"===t&&e?400-i:500:200-i:100-i}(e);if(0===n){W();try{t()}finally{}return{cancel:()=>{}}}return this.tasks[i]={fn:t,metadata:e,priority:n,id:i},this.taskQueue.push(i),this.invoker.trigger(),{cancel:()=>{delete this.tasks[i]}}}process(){W();try{if(this.taskQueue=this.taskQueue.filter((t=>!!this.tasks[t])),!this.taskQueue.length)return;const t=this.pick();if(null===t)return;const e=this.tasks[t];if(delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),!e)return;e.fn()}finally{}}pick(){let t=null,e=1/0;for(let i=0;i>=1)>1;){const t=i+r>>1,l=n+o>>1;1&e?(r=i,o=n,i=s,n=a):(i=r,n=o,r=s,o=a),s=t,a=l}const l=4*t;Tf[l+0]=i,Tf[l+1]=n,Tf[l+2]=r,Tf[l+3]=o}const kf=new Uint16Array(2178),Sf=new Uint8Array(1089),If=new Uint16Array(1089);function Mf(t){return 0===t?-.03125:32===t?.03125:0}var Pf=Uo([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);const Lf={type:2,extent:aa,loadGeometry:()=>[[new v(0,0),new v(aa+1,0),new v(aa+1,aa+1),new v(0,aa+1),new v(0,0)]]};class zf{constructor(t,e,i,n,r){this.tileID=t,this.uid=R(),this.uses=0,this.tileSize=e,this.tileZoom=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=r,this.expiredRequestCount=0,this.state="loading",n&&n.transform&&(this.projection=n.transform.projection)}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=n}}return i}(t.buckets,e.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const e=this.buckets[t];if(e instanceof af){if(this.hasSymbolBuckets=!0,!i)break;e.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const e=this.buckets[t];if(e instanceof af&&e.hasRTLText){this.hasRTLText=!0,wo.isLoading()||wo.isLoaded()||"deferred"!==xo()||bo();break}}this.queryPadding=0;for(const t in this.buckets){const i=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(t).queryRadius(i))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),t.lineAtlas&&(this.lineAtlas=t.lineAtlas)}else this.collisionBoxArray=new fs}unloadVectorData(){if(this.hasData()){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state="unloaded"}}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new yf(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new yf(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new yf(t,this.lineAtlas.image,e.ALPHA),this.lineAtlas.uploaded=!0)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,n,r,o,s,a){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:n,pixelPosMatrix:s,transform:o,params:r,tileTransform:this.tileTransform},t,e,i):{}}querySourceFeatures(t,e){const i=this.latestFeatureIndex;if(!i||!i.rawTileData)return;const n=i.loadVTLayers(),r=e?e.sourceLayer:"",o=n._geojsonTileLayer||n[r];if(!o)return;const s=pr(e&&e.filter),{z:a,x:l,y:c}=this.tileID.canonical,u={z:a,x:l,y:c};for(let e=0;et)i=!1;else if(e)if(this.expirationTime=0;t--){const e=4*t,i=Tf[e+0],n=Tf[e+1],r=Tf[e+2],o=Tf[e+3],s=i+r>>1,a=n+o>>1,l=s+a-n,c=a+i-s,u=n*Cf+i,h=o*Cf+r,p=a*Cf+s,d=Math.hypot((kf[2*u+0]+kf[2*h+0])/2-kf[2*p+0],(kf[2*u+1]+kf[2*h+1])/2-kf[2*p+1])>=16;Sf[p]=Sf[p]||(d?1:0),t<1022&&(Sf[p]=Sf[p]||Sf[(n+c>>1)*Cf+(i+l>>1)]||Sf[(o+c>>1)*Cf+(r+l>>1)])}const r=new qo,o=new rs;let s=0;function a(t,e){const i=e*Cf+t;return 0===If[i]&&(r.emplaceBack(kf[2*i+0],kf[2*i+1],t*aa/Ef,e*aa/Ef),If[i]=++s),If[i]-1}function l(t,e,i,n,r,s){const c=t+i>>1,u=e+n>>1;if(Math.abs(t-r)+Math.abs(e-s)>1&&Sf[u*Cf+c])l(r,s,t,e,c,u),l(i,n,r,s,c,u);else{const l=a(t,e),c=a(i,n),u=a(r,s);o.emplaceBack(l,c,u)}}return l(0,0,Ef,Ef,Ef,0),l(Ef,Ef,0,0,0,Ef),{vertices:r,indices:o}}(this.tileID.canonical,e);n=t.vertices,r=t.indices}else{n=new qo,r=new rs;for(const{x:t,y:e}of i)n.emplaceBack(t,e,0,0);const t=yu(n.int16,void 0,4);for(let e=0;e0&&(s=fa(new Float64Array(16),e.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(t,n,e,r,s,o),this._makeGlobeTileDebugTextBuffer(t,n,e,r,s,o)}_globePoint(t,e,i,n,r,o,s){let a=kl(t,e,i);if(o){const r=1<.5?h=-1:u<-.5&&(h=1);let p=(t/aa+i.x)/r+h,d=(e/aa+i.y)/r;p=(p-l)*n._pixelsPerMercatorPixel+l,d=(d-c)*n._pixelsPerMercatorPixel+c;const f=[p*n.worldSize,d*n.worldSize,0];Ba(f,f,o),a=vl(a,f,s)}return Ba(a,a,r)}_makeGlobeTileDebugBorderBuffer(t,e,i,n,r,o){const s=new Vo,a=new hs,l=new Go,c=(t,c,u,h,p)=>{const d=(u-t)/(p-1),f=(h-c)/(p-1),m=s.length;for(let u=0;uu*t+e;for(let t=0;te[s])return null}else{const a=1/n[s];let l=(t[s]-i[s])*a,c=(e[s]-i[s])*a;if(l>c){const t=l;l=c,c=t}if(l>r&&(r=l),co)return null}return r}function Bf(t,e,i,n,r,o,s,a,l,c,u){const h=n-t,p=r-e,d=o-i,f=s-t,m=a-e,g=l-i,_=u[1]*g-u[2]*m,y=u[2]*f-u[0]*g,v=u[0]*m-u[1]*f,x=h*_+p*y+d*v;if(Math.abs(x)<1e-15)return null;const b=1/x,w=c[0]-t,A=c[1]-e,E=c[2]-i,C=(w*_+A*y+E*v)*b;if(C<0||C>1)return null;const T=A*d-E*p,k=E*h-w*d,S=w*p-A*h,I=(u[0]*T+u[1]*k+u[2]*S)*b;return I<0||C+I>1?null:(f*T+m*k+g*S)*b}function Nf(t,e,i){return(t-e)/(i-e)}function Ff(t,e,i,n,r,o,s,a,l){const c=1<{const o=n?1:0,s=(t+1)*i-o,a=e*i,l=(e+1)*i-o;r[0]=t*i,r[1]=a,r[2]=s,r[3]=l};let s=new Rf(n);const a=[];for(let e=0;e=1;n/=2){const t=i[i.length-1];s=new Rf(n);for(let e=0;e0;){const{idx:a,t:d,nodex:f,nodey:m,depth:g}=p.pop();if(this.leaves[a]){Ff(f,m,g,t,e,i,n,u,h);const a=1<=t[2])return d}continue}let _=0;for(let p=0;p=l[c[i]]&&(c.splice(i,0,p),e=!0);e||(c[_]=p),_++}}for(let t=0;t<_;t++){const e=c[t];p.push({idx:this.childOffsets[a]+e,t:l[e],nodex:(f<<1)+this._siblingOffset[e][0],nodey:(m<<1)+this._siblingOffset[e][1],depth:g+1})}}return null}_addNode(t,e,i){return this.minimums.push(t),this.maximums.push(e),this.leaves.push(i),this.childOffsets.push(0),this.nodeCount++}_construct(t,e,i,n,r){if(1===t[n].isLeaf(e,i))return;this.childOffsets[r]||(this.childOffsets[r]=this.nodeCount);const o=n-1,s=t[o];let a=0,l=0;for(let t=0;t=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}static pack(t,e){const i=[0,0,0,0],n=$f.getUnpackVector(e);let r=Math.floor((t+n[3])/n[2]);return i[2]=r%256,r=Math.floor(r/256),i[1]=r%256,r=Math.floor(r/256),i[0]=r,i}getPixels(){return new Fc({width:this.stride,height:this.stride},this.pixels)}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let n=e*this.dim,r=e*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(e){case-1:n=r-1;break;case 1:r=n+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}const a=-e*this.dim,l=-i*this.dim;for(let e=o;e{this.remove(t,r)}),i)),this.data[n].push(r),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,n=void 0===e?0:this.data[i].indexOf(e),r=this.data[i][n];return this.data[i].splice(n,1),r.timeout&&clearTimeout(r.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(r.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const n of this.data[i])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t)}}class Wf{constructor(t,e,i){this.func=t,this.mask=e,this.range=i}}Wf.ReadOnly=!1,Wf.ReadWrite=!0,Wf.disabled=new Wf(519,Wf.ReadOnly,[0,1]);const Hf=7680;class Yf{constructor(t,e,i,n,r,o){this.test=t,this.ref=e,this.mask=i,this.fail=n,this.depthFail=r,this.pass=o}}Yf.disabled=new Yf({func:519,mask:0},0,0,Hf,Hf,Hf);class Kf{constructor(t,e,i){this.blendFunction=t,this.blendColor=e,this.mask=i}}Kf.Replace=[1,0],Kf.disabled=new Kf(Kf.Replace,Le.transparent,[!1,!1,!1,!1]),Kf.unblended=new Kf(Kf.Replace,Le.transparent,[!0,!0,!0,!0]),Kf.alphaBlended=new Kf([1,771],Le.transparent,[!0,!0,!0,!0]);const Jf=1029,Qf=2305;class tm{constructor(t,e,i){this.enable=t,this.mode=e,this.frontFace=i}}tm.disabled=new tm(!1,Jf,Qf),tm.backCCW=new tm(!0,Jf,Qf),tm.backCW=new tm(!0,Jf,2304),tm.frontCW=new tm(!0,1028,2304),tm.frontCCW=new tm(!0,1028,Qf);class em extends te{constructor(t,e,i){super(),this.id=t,this._onlySymbols=i,e.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),e.on("error",(()=>{this._sourceErrored=!0})),this._source=e,this._tiles={},this._cache=new Xf(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=e.minTileCacheSize,this._maxTileCacheSize=e.maxTileCacheSize,this._loadedParentTiles={},this._coveredTiles={},this._state=new Df,this._isRaster="raster"===this._source.type||"raster-dem"===this._source.type||"custom"===this._source.type&&"raster"===this._source._dataType}onAdd(t){this.map=t,this._minTileCacheSize=void 0===this._minTileCacheSize&&t?t._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&t?t._maxTileCacheSize:this._maxTileCacheSize}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(t,e){return t.isSymbolTile=this._onlySymbols,this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(t){if(this._source.abortTile)return this._source.abortTile(t,(()=>{}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return L(this._tiles).map((t=>t.tileID)).sort(im).map((t=>t.key))}getRenderableIds(t){const e=[];for(const i in this._tiles)this._isIdRenderable(+i,t)&&e.push(this._tiles[i]);return t?e.sort(((t,e)=>{const i=t.tileID,n=e.tileID,r=new v(i.canonical.x,i.canonical.y)._rotate(this.transform.angle),o=new v(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return i.overscaledZ-n.overscaledZ||o.y-r.y||o.x-r.x})).map((t=>t.tileID.key)):e.map((t=>t.tileID)).sort(im).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(+t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(t,e,i,n){if(n)if(t.state="errored",404!==n.status)this._source.fire(new Qt(n,{tile:t}));else if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const t=this.map.painter.terrain;this.update(this.transform,t.getScaledDemTileSize(),!0),t.resetTileLookupCache(this.id)}else this.update(this.transform);else t.timeAdded=Ht.now(),"expired"===i&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),"raster-dem"===this._source.type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new Jt("data",{dataType:"source",tile:t,coord:t.tileID,sourceCacheId:this.id}))}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(i)>1&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,n),t.neighboringTiles&&t.neighboringTiles[o]&&(t.neighboringTiles[o].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,n){for(const r in this._tiles){let o=this._tiles[r];if(n[r]||!o.hasData()||o.tileID.overscaledZ<=e||o.tileID.overscaledZ>i)continue;let s=o.tileID;for(;o&&o.tileID.overscaledZ>e+1;){const t=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[t.key],o&&o.hasData()&&(s=t)}let a=s;for(;a.overscaledZ>e;)if(a=a.scaledTo(a.overscaledZ-1),t[a.key]){n[s.key]=s;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),n=this._getLoadedTile(e);if(n)return n}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(this._source.reparseOverscaled?t.wrapped().key:t.canonical.key)}updateCacheSize(t,e){e=e||this._source.tileSize;const i=Math.ceil(t.width/e)+1,n=Math.ceil(t.height/e)+1,r=Math.floor(i*n*5),o="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,r):r,s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(s)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const n=this._tiles[i];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),t[n.tileID.key]=n}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t])}}update(t,e,i){if(this.transform=t,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!i)return;let n;this.updateCacheSize(t,e),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new fh(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:e||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!i,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const r=this._updateRetainedTiles(n);if(nm(this._source.type)&&0!==n.length){const t={},e={},i=Object.keys(r);for(const n of i){const i=r[n],o=this._tiles[n];if(!o||o.fadeEndTime&&o.fadeEndTime<=Ht.now())continue;const s=this.findLoadedParent(i,Math.max(i.overscaledZ-em.maxOverzooming,this._source.minzoom));s&&(this._addTile(s.tileID),t[s.tileID.key]=s.tileID),e[n]=i}const o=n[n.length-1].overscaledZ;for(const t in this._tiles){const i=this._tiles[t];if(r[t]||!i.hasData())continue;let n=i.tileID;for(;n.overscaledZ>o;){n=n.scaledTo(n.overscaledZ-1);const o=this._tiles[n.key];if(o&&o.hasData()&&e[n.key]){r[t]=i.tileID;break}}}for(const e in t)r[e]||(this._coveredTiles[e]=!0,r[e]=t[e])}for(const t in r)this._tiles[t].clearFadeHold();const o=function(t,e){const i=[];for(const n in t)n in e||i.push(n);return i}(this._tiles,r);for(const t of o){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(+t)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(+t)}_updateRetainedTiles(t){const e={};if(0===t.length)return e;const i={},n=t.reduce(((t,e)=>Math.min(t,e.overscaledZ)),1/0),r=t[0].overscaledZ,o=Math.max(r-em.maxOverzooming,this._source.minzoom),s=Math.max(r+em.maxUnderzooming,this._source.minzoom),a={};for(const i of t){const t=this._addTile(i);e[i.key]=i,t.hasData()||n=this._source.maxzoom){const t=n.children(this._source.maxzoom)[0],i=this.getTile(t);if(i&&i.hasData()){e[t.key]=t;continue}}else{const t=n.children(this._source.maxzoom);if(e[t[0].key]&&e[t[1].key]&&e[t[2].key]&&e[t[3].key])continue}let r=t.wasRequested();for(let s=n.overscaledZ-1;s>=o;--s){const o=n.scaledTo(s);if(i[o.key])break;if(i[o.key]=!0,t=this.getTile(o),!t&&r&&(t=this._addTile(o)),t&&(e[o.key]=o,r=t.wasRequested(),t.hasData()))break}}return e}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){i=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;n=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(t){let e=this._tiles[t.key];if(e)return e;e=this._cache.getAndRemove(t),e&&(this._setTileReloadTimer(t.key,e),e.tileID=t,this._state.initializeTileState(e,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e)));const i=Boolean(e);if(!i){const i=this.map?this.map.painter:null;e=new zf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,i,this._isRaster),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state))}return e?(e.uses++,this._tiles[t.key]=e,i||this._source.fire(new Jt("dataloading",{tile:e,coord:e.tileID,dataType:"source"})),e):null}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(+t);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id)}tilesIn(t,e,i){const n=[],r=this.transform;if(!r)return n;const o="globe"===r.projection.name,s=ql(r.center.lng);for(const a in this._tiles){const l=this._tiles[a];if(i&&l.clearQueryDebugViz(),l.holdingForFade())continue;let c;if(o){const t=l.tileID.canonical;if(0===t.z){const e=[Math.abs(S(s,...rm(t,-1))-s),Math.abs(S(s,...rm(t,1))-s)];c=[0,2*e.indexOf(Math.min(...e))-1]}else{const e=[Math.abs(S(s,...rm(t,-1))-s),Math.abs(S(s,...rm(t,0))-s),Math.abs(S(s,...rm(t,1))-s)];c=[e.indexOf(Math.min(...e))-1]}}else c=[0];for(const i of c){const o=t.containsTile(l,r,e,i);o&&n.push(o)}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.projMatrix=this.transform.calculateProjMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(nm(this._source.type))for(const t in this._tiles){const e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=Ht.now())return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const n=this._tiles[t];n&&n.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(+i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}_preloadTiles(t,e){if(!this._sourceLoaded){const i=()=>{this._sourceLoaded&&(this._source.off("data",i),this._preloadTiles(t,e))};return void this._source.on("data",i)}const i=new Map,n=Array.isArray(t)?t:[t],r=this.map.painter.terrain,o=this.usedForTerrain&&r?r.getScaledDemTileSize():this._source.tileSize;for(const t of n){const e=t.coveringTiles({tileSize:o,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const t of e)i.set(t.key,t);this.usedForTerrain&&t.updateElevation(!1)}P(Array.from(i.values()),((t,e)=>{const i=new zf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(i,(t=>{"raster-dem"===this._source.type&&i.dem&&this._backfillDEM(i),e(t,i)}))}),e)}}function im(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function nm(t){return"raster"===t||"image"===t||"video"===t||"custom"===t}function rm(t,e){const i=1<=0&&n[3]>=0&&a.insert(s,n[0],n[1],n[2],n[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new $u(new gp(this.rawTileData)).layers,this.sourceLayerCoder=new bf(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const t in this.vtLayers)this.vtFeatures[t]=[]}return this.vtLayers}query(t,e,i,n){this.loadVTLayers();const r=t.params||{},o=pr(r.filter),s=t.tileResult,a=t.transform,l=s.bufferedTilespaceBounds,c=this.grid.query(l.min.x,l.min.y,l.max.x,l.max.y,((t,e,i,n)=>bc(s.bufferedTilespaceGeometry,t,e,i,n)));c.sort(lm);let u=null;a.elevation&&c.length>0&&(u=om.create(a.elevation,this.tileID));const h={};let p;for(let a=0;a(f||(f=sc(e,this.tileID.canonical,t.tileTransform)),i.queryIntersectsFeature(s,e,n,f,this.z,t.transform,t.pixelPosMatrix,u,r))))}return h}loadMatchingFeature(t,e,i,n,r,o,s,a,l){const{featureIndex:c,bucketIndex:u,sourceLayerIndex:h,layoutVertexArrayOffset:p}=e,d=this.bucketLayerIDs[u];if(n&&!function(t,e){for(let i=0;i=0)return!0;return!1}(n,d))return;const f=this.sourceLayerCoder.decode(h),m=this.vtLayers[f].feature(c);if(i.needGeometry){const t=ac(m,!0);if(!i.filter(new Ao(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Ao(this.tileID.overscaledZ),m))return;const g=this.getId(m,f);for(let e=0;e{const s=e instanceof Po?e.get(o):null;return s&&s.evaluate?s.evaluate(i,n,r):s}))}function lm(t,e){return e-t}Yr(sm,"FeatureIndex",{omit:["rawTileData","sourceLayerCoder"]});class cm{constructor(t,e){this.width=t,this.height=e,this.nextRow=0,this.image=new Nc({width:t,height:e}),this.positions={},this.uploaded=!1}getDash(t,e){const i=this.getKey(t,e);return this.positions[i]}trim(){const t=this.width,e=this.height=B(this.nextRow);this.image.resize({width:t,height:e})}getKey(t,e){return t.join(",")+e}getDashRanges(t,e,i){const n=[];let r=t.length%2==1?-t[t.length-1]*i:0,o=t[0]*i,s=!0;n.push({left:r,right:o,isDash:s,zeroLength:0===t[0]});let a=t[0];for(let e=1;e1&&(s=t[++o]);const l=Math.abs(a-s.left),c=Math.abs(a-s.right),u=Math.min(l,c);let h;const p=e/i*(n+1);if(s.isDash){const t=n-Math.abs(p);h=Math.sqrt(u*u+t*t)}else h=n-Math.sqrt(u*u+p*p);this.image.data[r+a]=Math.max(0,Math.min(255,h+128))}}}addRegularDash(t,e){for(let e=t.length-1;e>=0;--e){const i=t[e],n=t[e+1];i.zeroLength?t.splice(e,1):n&&n.isDash===i.isDash&&(n.left=i.left,t.splice(e,1))}const i=t[0],n=t[t.length-1];i.isDash===n.isDash&&(i.left=n.left-this.width,n.right=i.right+this.width);const r=this.width*this.nextRow;let o=0,s=t[o];for(let i=0;i1&&(s=t[++o]);const n=Math.abs(i-s.left),a=Math.abs(i-s.right),l=Math.min(n,a);this.image.data[r+i]=Math.max(0,Math.min(255,(s.isDash?l:-l)+e+128))}}addDash(t,e){const i=this.getKey(t,e);if(this.positions[i])return this.positions[i];const n="round"===e,r=n?7:0,o=2*r+1;if(this.nextRow+o>this.height)return Z("LineAtlas out of space"),null;0===t.length&&t.push(1);let s=0;for(let e=0;e=e.maxzoom||"none"!==e.visibility&&(dm(t,this.zoom,i),(a[e.id]=e.createBucket({index:s.bucketLayerIDs.length,layers:t,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:h,sourceID:this.source,enableTerrain:this.enableTerrain,projection:this.projection.spec,availableImages:i})).populate(p,c,this.tileID.canonical,this.tileTransform),s.bucketLayerIDs.push(t.map((t=>t.id))))}}let h,p,d,f;l.trim();const m={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},g=()=>{if(h)return r(h);if(p&&d&&f){const t=new hm(p),e=new Cp(d,f);for(const n in a){const r=a[n];r instanceof af?(dm(r.layers,this.zoom,i),vd(r,p,t.positions,d,e.iconPositions,this.showCollisionBoxes,i,this.tileID.canonical,this.tileZoom,this.projection)):r.hasPattern&&(r instanceof Th||r instanceof ku||r instanceof th)&&(dm(r.layers,this.zoom,i),r.addFeatures(c,this.tileID.canonical,e.patternPositions,i,this.tileTransform))}this.status="done",r(null,{buckets:L(a).filter((t=>!t.isEmpty())),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,lineAtlas:l,imageAtlas:e,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?d:null,glyphPositions:this.returnDependencies?t.positions:null})}},_=j(c.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(_).length?n.send("getGlyphs",{uid:this.uid,stacks:_},((t,e)=>{h||(h=t,p=e,g())}),void 0,!1,m):p={};const y=Object.keys(c.iconDependencies);y.length?n.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{h||(h=t,d=e,g())}),void 0,!1,m):d={};const v=Object.keys(c.patternDependencies);v.length?n.send("getImages",{icons:v,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{h||(h=t,f=e,g())}),void 0,!1,m):f={},g()}}function dm(t,e,i){const n=new Ao(e);for(const e of t)e.recalculate(n,i)}class fm{constructor(t){this.entries={},this.scheduler=t}request(t,e,i,n){const r=this.entries[t]=this.entries[t]||{callbacks:[]};if(r.result){const[t,i]=r.result;return this.scheduler?this.scheduler.add((()=>{n(t,i)}),e):n(t,i),()=>{}}return r.callbacks.push(n),r.cancel||(r.cancel=i(((i,n)=>{r.result=[i,n];for(const t of r.callbacks)this.scheduler?this.scheduler.add((()=>{t(i,n)}),e):t(i,n);setTimeout((()=>delete this.entries[t]),3e3)}))),()=>{r.result||(r.callbacks=r.callbacks.filter((t=>t!==n)),r.callbacks.length||(r.cancel(),delete this.entries[t]))}}}function mm(t,e,i){const n=JSON.stringify(t.request);return t.data&&(this.deduped.entries[n]={result:[null,t.data]}),this.deduped.request(n,{type:"parseTile",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom},(e=>{const n=dt(t.request,((t,n,r,o)=>{t?e(t):n&&e(null,{vectorTile:i?void 0:new $u(new gp(n)),rawData:n,cacheControl:r,expires:o})}));return()=>{n.cancel(),e()}}),e)}const gm=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class _m{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[e,i]=new Uint8Array(t,0,2);if(219!==e)throw new Error("Data does not appear to be in a KDBush format.");const n=i>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const r=gm[15&i];if(!r)throw new Error("Unrecognized array type.");const[o]=new Uint16Array(t,2,1),[s]=new Uint32Array(t,4,1);return new _m(s,o,r,t)}constructor(t,e=64,i=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const r=gm.indexOf(this.ArrayType),o=2*t*this.ArrayType.BYTES_PER_ELEMENT,s=t*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-s%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+a,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+o+s+a),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+s+a,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+r]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=e,i}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return ym(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,i,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:o,nodeSize:s}=this,a=[0,r.length-1,0],l=[];for(;a.length;){const c=a.pop()||0,u=a.pop()||0,h=a.pop()||0;if(u-h<=s){for(let s=h;s<=u;s++){const a=o[2*s],c=o[2*s+1];a>=t&&a<=i&&c>=e&&c<=n&&l.push(r[s])}continue}const p=h+u>>1,d=o[2*p],f=o[2*p+1];d>=t&&d<=i&&f>=e&&f<=n&&l.push(r[p]),(0===c?t<=d:e<=f)&&(a.push(h),a.push(p-1),a.push(1-c)),(0===c?i>=d:n>=f)&&(a.push(p+1),a.push(u),a.push(1-c))}return l}within(t,e,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:r,nodeSize:o}=this,s=[0,n.length-1,0],a=[],l=i*i;for(;s.length;){const c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let i=h;i<=u;i++)wm(r[2*i],r[2*i+1],t,e)<=l&&a.push(n[i]);continue}const p=h+u>>1,d=r[2*p],f=r[2*p+1];wm(d,f,t,e)<=l&&a.push(n[p]),(0===c?t-i<=d:e-i<=f)&&(s.push(h),s.push(p-1),s.push(1-c)),(0===c?t+i>=d:e+i>=f)&&(s.push(p+1),s.push(u),s.push(1-c))}return a}}function ym(t,e,i,n,r,o){if(r-n<=i)return;const s=n+r>>1;vm(t,e,s,n,r,o),ym(t,e,i,n,s-1,1-o),ym(t,e,i,s+1,r,1-o)}function vm(t,e,i,n,r,o){for(;r>n;){if(r-n>600){const s=r-n+1,a=i-n+1,l=Math.log(s),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);vm(t,e,i,Math.max(n,Math.floor(i-a*c/s+u)),Math.min(r,Math.floor(i+(s-a)*c/s+u)),o)}const s=e[2*i+o];let a=n,l=r;for(xm(t,e,n,i),e[2*r+o]>s&&xm(t,e,n,r);as;)l--}e[2*n+o]===s?xm(t,e,n,l):(l++,xm(t,e,l,r)),l<=i&&(n=l+1),i<=l&&(r=l-1)}}function xm(t,e,i,n){bm(t,i,n),bm(e,2*i,2*n),bm(e,2*i+1,2*n+1)}function bm(t,e,i){const n=t[e];t[e]=t[i],t[i]=n}function wm(t,e,i,n){const r=t-i,o=e-n;return r*r+o*o}t.ARRAY_TYPE=ua,t.AUTH_ERR_MSG=vt,t.Aabb=rl,t.Actor=class{constructor(t,i,n){this.target=t,this.parent=i,this.mapId=n,this.callbacks={},this.cancelCallbacks={},F(["receive"],this),this.target.addEventListener("message",this.receive,!1),this.globalScope=W()?t:e,this.scheduler=new xf}send(t,e,i,n,r=!1,o){const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(i.metadata=o,this.callbacks[s]=i);const a=K(this.globalScope)?void 0:[];return this.target.postMessage({id:s,type:t,hasCallback:!!i,targetMapId:n,mustQueue:r,sourceMapId:this.mapId,data:Qr(e,a)},a),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:n,sourceMapId:this.mapId})}}}receive(t){const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t.cancel()}else if(e.mustQueue||W()){const t=this.callbacks[i];this.cancelCallbacks[i]=this.scheduler.add((()=>this.processTask(i,e)),t&&t.metadata||{type:"message"})}else this.processTask(i,e)}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(to(e.error)):i(null,to(e.data)))}else{const i=K(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?Qr(e):null,data:Qr(n,i)},i)}:t=>{},r=to(e.data);if(this.parent[e.type])this.parent[e.type](e.sourceMapId,r,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");this.parent.getWorkerSource(e.sourceMapId,t[0],r.source)[t[1]](r,n)}else n(new Error(`Could not find function ${e.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.CanonicalTileID=ph,t.Color=Le,t.ColorMode=Kf,t.CullFaceMode=tm,t.DEMData=$f,t.DataConstantProperty=Lo,t.DedupedRequest=fm,t.DepthMode=Wf,t.EXTENT=aa,t.Elevation=class{isDataAvailableAtPoint(t){const e=this._source();if(this.isUsingMockSource()||!e||t.y<0||t.y>1)return!1;const i=e.getSource().maxzoom,n=1<1)return e;const r=n.getSource().maxzoom,o=1<{const o=this.getAtTileOffset(t,r.x,r.y),s=n.upVector(t.canonical,r.x,r.y);return La(s,s,o*n.upVectorScale(t.canonical,e,i).metersToTile),s}}getForTilePoints(t,e,i,n){if(this.isUsingMockSource())return!1;const r=om.create(this,t,n);return!!r&&(e.forEach((t=>{t[2]=this.exaggeration()*r.getElevationAt(t[0],t[1],i)})),!0)}getMinMaxForTile(t){if(this.isUsingMockSource())return null;const e=this.findDEMTileFor(t);if(!e||!e.dem)return null;const i=e.dem.tree,n=e.tileID,r=1<{let n=t===o-1?t-2:0===t?t:t-1;return n+=i?24575:0,[n,e]};for(let t=0;tthis._skuTokenExpiresAt}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}normalizeStyleURL(t,e){if(!xt(t))return t;const i=Tt(t);return i.path=`/styles/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||e)}normalizeGlyphsURL(t,e){if(!xt(t))return t;const i=Tt(t);return i.path=`/fonts/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||e)}normalizeSourceURL(t,e,i,n){if(!xt(t))return t;const r=Tt(t);return r.path=`/v4/${r.authority}.json`,r.params.push("secure"),i&&r.params.push(`language=${i}`),n&&r.params.push(`worldview=${n}`),this._makeAPIURL(r,this._customAccessToken||e)}normalizeSpriteURL(t,e,i,n){const r=Tt(t);return xt(t)?(r.path=`/styles/v1${r.path}/sprite${e}${i}`,this._makeAPIURL(r,this._customAccessToken||n)):(r.path+=`${e}${i}`,kt(r))}normalizeTileURL(t,e,i){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!xt(t))return t;const n=Tt(t);n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${e||i&&"raster"!==n.authority&&512===i?"@2x":""}${s.supported?".webp":"$1"}`),"raster"===n.authority?n.path=`/${o.RASTER_URL_PREFIX}${n.path}`:(n.path=n.path.replace(/^.+\/v4\//,"/"),n.path=`/${o.TILE_URL_VERSION}${n.path}`);const r=this._customAccessToken||function(t){for(const e of t){const t=e.match(/^access_token=(.*)$/);if(t)return t[1]}return null}(n.params)||o.ACCESS_TOKEN;return o.REQUIRE_ACCESS_TOKEN&&r&&this._skuToken&&n.params.push(`sku=${this._skuToken}`),this._makeAPIURL(n,r)}canonicalizeTileURL(t,e){const i=Tt(t);if(!i.path.match(/^(\/v4\/|\/raster\/v1\/)/)||!i.path.match(/\.[\w]+$/))return t;let n="mapbox://";i.path.match(/^\/raster\/v1\//)?n+=`raster/${i.path.replace(`/${o.RASTER_URL_PREFIX}/`,"")}`:n+=`tiles/${i.path.replace(`/${o.TILE_URL_VERSION}/`,"")}`;let r=i.params;return e&&(r=r.filter((t=>!t.match(/^access_token=/)))),r.length&&(n+=`?${r.join("&")}`),n}canonicalizeTileset(t,e){const i=!!e&&xt(e),n=[];for(const e of t.tiles||[])bt(e)?n.push(this.canonicalizeTileURL(e,i)):n.push(e);return n}_makeAPIURL(t,e){const i="See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes",n=Tt(o.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"http"===t.protocol){const e=t.params.indexOf("secure");e>=0&&t.params.splice(e,1)}if("/"!==n.path&&(t.path=`${n.path}${t.path}`),!o.REQUIRE_ACCESS_TOKEN)return kt(t);if(e=e||o.ACCESS_TOKEN,!this._silenceAuthErrors){if(!e)throw new Error(`An API access token is required to use Mapbox GL. ${i}`);if("s"===e[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${i}`)}return t.params=t.params.filter((t=>-1===t.indexOf("access_token"))),t.params.push(`access_token=${e||""}`),kt(t)}},t.ResourceType=ct,t.SegmentVector=sa,t.SourceCache=em,t.StencilMode=Yf,t.StructArrayLayout1ui2=hs,t.StructArrayLayout2f1f2i16=es,t.StructArrayLayout2i4=Vo,t.StructArrayLayout2ui4=us,t.StructArrayLayout3f12=ns,t.StructArrayLayout3ui6=rs,t.StructArrayLayout4i8=qo,t.StructArrayLayout5f20=ls,t.Texture=yf,t.Tile=zf,t.Transitionable=To,t.Uniform1f=Bs,t.Uniform1i=class extends Os{constructor(t){super(t),this.current=0}set(t,e,i){this.fetchUniformLocation(t,e)&&this.current!==i&&(this.current=i,this.gl.uniform1i(this.location,i))}},t.Uniform2f=class extends Os{constructor(t){super(t),this.current=[0,0]}set(t,e,i){this.fetchUniformLocation(t,e)&&(i[0]===this.current[0]&&i[1]===this.current[1]||(this.current=i,this.gl.uniform2f(this.location,i[0],i[1])))}},t.Uniform3f=class extends Os{constructor(t){super(t),this.current=[0,0,0]}set(t,e,i){this.fetchUniformLocation(t,e)&&(i[0]===this.current[0]&&i[1]===this.current[1]&&i[2]===this.current[2]||(this.current=i,this.gl.uniform3f(this.location,i[0],i[1],i[2])))}},t.Uniform4f=Ns,t.UniformColor=Fs,t.UniformMatrix2f=class extends Os{constructor(t){super(t),this.current=Vs}set(t,e,i){if(this.fetchUniformLocation(t,e))for(let t=0;t<4;t++)if(i[t]!==this.current[t]){this.current=i,this.gl.uniformMatrix2fv(this.location,!1,i);break}}},t.UniformMatrix3f=class extends Os{constructor(t){super(t),this.current=js}set(t,e,i){if(this.fetchUniformLocation(t,e))for(let t=0;t<9;t++)if(i[t]!==this.current[t]){this.current=i,this.gl.uniformMatrix3fv(this.location,!1,i);break}}},t.UniformMatrix4f=class extends Os{constructor(t){super(t),this.current=Us}set(t,e,i){if(this.fetchUniformLocation(t,e)){if(i[12]!==this.current[12]||i[0]!==this.current[0])return this.current=i,void this.gl.uniformMatrix4fv(this.location,!1,i);for(let t=1;t<16;t++)if(i[t]!==this.current[t]){this.current=i,this.gl.uniformMatrix4fv(this.location,!1,i);break}}}},t.UnwrappedTileID=dh,t.ValidationError=nr,t.VectorTileFeature=Xu,t.VectorTileWorkerSource=class extends te{constructor(t,e,i,n,r){super(),this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||mm,this.loading={},this.loaded={},this.deduped=new fm(t.scheduler),this.isSpriteLoaded=n,this.scheduler=t.scheduler}loadTile(t,e){const i=t.uid,n=t&&t.request,r=n&&n.collectResourceTiming,o=this.loading[i]=new pm(t);o.abort=this.loadVectorData(t,((s,a)=>{const l=!this.loading[i];if(delete this.loading[i],l||s||!a)return o.status="done",l||(this.loaded[i]=o),e(s);const c=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl),o.vectorTile=a.vectorTile||new $u(new gp(c));const h=()=>{o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,i)=>{if(t||!i)return e(t);const o={};if(r){const t=qt(n);t.length>0&&(o.resourceTiming=JSON.parse(JSON.stringify(t)))}e(null,z({rawTileData:c.slice(0)},i,u,o))}))};this.isSpriteLoaded?h():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(h,{type:"parseTile",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom}):h()})),this.loaded=this.loaded||{},this.loaded[i]=o}))}reloadTile(t,e){const i=this.loaded,n=t.uid,r=this;if(i&&i[n]){const o=i[n];o.showCollisionBoxes=t.showCollisionBoxes,o.enableTerrain=!!t.enableTerrain,o.projection=t.projection,o.tileTransform=Md(t.tileID.canonical,t.projection);const s=(t,i)=>{const n=o.reloadCallback;n&&(delete o.reloadCallback,o.parse(o.vectorTile,r.layerIndex,this.availableImages,r.actor,n)),e(t,i)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}}abortTile(t,e){const i=t.uid,n=this.loading[i];n&&(n.abort&&n.abort(),delete this.loading[i]),e()}removeTile(t,e){const i=this.loaded,n=t.uid;i&&i[n]&&delete i[n],e()}},t.WritingMode=Tp,t.ZoomDependentExpression=Qn,t.add=ka,t.addDynamicAttributes=nf,t.adjoint=function(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],u=e[8];return t[0]=s*u-a*c,t[1]=r*c-n*u,t[2]=n*a-r*s,t[3]=a*l-o*u,t[4]=i*u-r*l,t[5]=r*o-i*a,t[6]=o*c-s*l,t[7]=n*l-i*c,t[8]=i*s-n*o,t},t.asyncAll=P,t.bezier=T,t.bindAll=F,t.boundsAttributes=Pf,t.bufferConvexPolygon=function(t,e){const i=[];for(let n=0;nrt&&(t.getActor().send("enforceCacheSizeLimit",nt),lt=0)},t.calculateGlobeLabelMatrix=function(t,e){const{x:i,y:n}=t.point,r=Ll(i,n,t.worldSize/t._pixelsPerMercatorPixel,0,0);return ma(r,r,Pl(yl(e)))},t.calculateGlobeMatrix=function(t){const{x:e,y:i}=t.point,{lng:n,lat:r}=t._center;return Ll(e,i,t.worldSize,n,r)},t.calculateGlobeMercatorMatrix=function(t){const e=t.pixelsPerMeter,i=e/$l(1,t.center.lat),n=da(new Float64Array(16));return ga(n,n,[t.point.x,t.point.y,0]),_a(n,n,[i,i,e]),Float32Array.from(n)},t.circumferenceAtLatitude=Gl,t.clamp=S,t.clearTileCache=function(t){if(!ot())return;const i=e.caches.delete(tt);t&&i.catch(t).then((()=>t()))},t.clipLine=Yp,t.clone=function(t){var e=new ua(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=G,t.collisionCircleLayout=Bh,t.config=o,t.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},t.create=function(){var t=new ua(16);return ua!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=ha,t.createExpression=Kn,t.createLayout=Uo,t.createStyleLayer=function(t){return"custom"===t.type?new ff(t):new _f[t.type](t)},t.cross=Oa,t.degToRad=w,t.distance=function(t,e){return Math.hypot(e[0]-t[0],e[1]-t[1],e[2]-t[2])},t.div=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t[2]=e[2]/i[2],t},t.dot=Ra,t.earthRadius=Fl,t.ease=k,t.easeCubicInOut=C,t.ecefToLatLng=function([t,e,i]){const n=Math.hypot(t,e,i),r=Math.atan2(t,i),o=.5*Math.PI-Math.acos(-e/n);return new Vl(A(r),A(o))},t.emitValidationErrors=qr,t.endsWith=U,t.enforceCacheSizeLimit=function(t){st(),et&&et.then((e=>{e.keys().then((i=>{for(let n=0;no&&(n+=(t[r]-o)*(t[r]-o)),e[r]0){const t=180/n;pa(d,d,[t/c+1,0,0,0,t/u+1,0,-.5*t/h,.5*t/p,1])}return d[2]=l,d[5]=t.x,d[8]=t.y,d},t.getImage=yt,t.getJSON=function(t,e){return pt(z(t,{type:"json"}),e)},t.getLatitudinalLod=function(t){const e=Yl-5;t=S(t,-e,e)/e*90;const i=Math.pow(Math.abs(Math.sin(w(t))),3);return Math.round(i*(ul.length-1))},t.getMapSessionAPI=Nt,t.getPerformanceMeasurement=qt,t.getProjection=Kd,t.getRTLTextPluginStatus=xo,t.getReferrer=ht,t.getTilePoint=function(t,{x:e,y:i},n=0){return new v(((e-n)*t.scale-t.x)*aa,(i*t.scale-t.y)*aa)},t.getTileVec3=function(t,e,i=0){return Ta(((e.x-i)*t.scale-t.x)*aa,(e.y*t.scale-t.y)*aa,Hl(e.z,e.y))},t.getVideo=function(t,i){const n=e.document.createElement("video");n.muted=!0,n.onloadstart=function(){i(null,n)};for(let i=0;i{}}},t.globeCenterToScreenPoint=function(t){const e=[0,0,0],i=da(new Float64Array(16));return ma(i,t.pixelMatrix,t.globeMatrix),Ba(e,e,i),new v(e[0],e[1])},t.globeDenormalizeECEF=Pl,t.globeECEFOrigin=function(t,e){const i=[0,0,0];return Ba(i,i,Ml(yl(e.canonical))),Ba(i,i,t),i},t.globeMetersToEcef=fl,t.globeNormalizeECEF=Ml,t.globePixelsToTileUnits=function(t,e){return aa/(512*Math.pow(2,t))*Sl(yl(e))},t.globePoleMatrixForTile=function(t,e,i){const n=da(new Float64Array(16)),r=(e/(1<0;return 0===n&&!r&&!s&&o},t.identity=da,t.identity$1=Xa,t.invert=fa,t.isFullscreen=function(){return!!e.document.fullscreenElement||!!e.document.webkitFullscreenElement},t.isLngLatBehindGlobe=Rl,t.isMapAuthenticated=function(t){return Ft.has(t)},t.isMapboxURL=xt,t.isSafariWithAntialiasingBug=function(t){const e=t.navigator?t.navigator.userAgent:null;return!!K(t)&&e&&(e.match("Version/15.4")||e.match("Version/15.5")||e.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},t.latFromMercatorY=Wl,t.latLngToECEF=Tl,t.len=Va,t.length=Ca,t.length$1=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},t.lngFromMercatorX=Xl,t.loadVectorTile=mm,t.makeRequest=pt,t.mapValue=function(t,e,i,n,r){return S((t-e)/(i-e)*(r-n)+n,n,r)},t.mercatorScale=Kl,t.mercatorXfromLng=ql,t.mercatorYfromLat=Zl,t.mercatorZfromAltitude=$l,t.mul=wa,t.mul$1=ja,t.multiply=ma,t.multiply$1=pa,t.multiply$2=Ia,t.nextPowerOfTwo=B,t.normalize=Da,t.normalize$1=Ya,t.normalize$2=qa,t.number=Li,t.ortho=function(t,e,i,n,r,o,s){var a=1/(e-i),l=1/(n-r),c=1/(o-s);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(r+n)*l,t[14]=(s+o)*c,t[15]=1,t},t.pbf=Wh,t.perspective=function(t,e,i,n,r){var o,s=1/Math.tan(e/2);return t[0]=s/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(t[10]=(r+n)*(o=1/(n-r)),t[14]=2*r*n*o):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){const i={};for(let n=0;n0&&i[0]<=t.width&&i[1]>0&&i[1]<=t.height&&!Rl(t,new Vl(t.center.lat,90)),n[0]>0&&n[0]<=t.width&&n[1]>0&&n[1]<=t.height&&!Rl(t,new Vl(t.center.lat,-90))]},t.polygonContainsPoint=xc,t.polygonIntersectsBox=bc,t.polygonIntersectsPolygon=hc,t.polygonizeBounds=function(t,e,i=0,n=!0){const r=new v(i,i),o=t.sub(r),s=e.add(r),a=[o,new v(s.x,o.y),s,new v(o.x,s.y)];return n&&a.push(o.clone()),a},t.posAttributes=tl,t.postMapLoadEvent=Dt,t.postPerformanceEvent=Ot,t.postTurnstileEvent=Lt,t.potpack=wp,t.prevPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},t.radToDeg=A,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.registerForPluginStateChange=function(t){return t({pluginStatus:mo,pluginURL:go}),vo.on("pluginStateChange",t),t},t.removeAuthState=function(t){Ft.delete(t)},t.renderColorRamp=jc,t.resample=tc,t.rotateX=ya,t.rotateX$1=Wa,t.rotateY=va,t.rotateY$1=Ha,t.rotateZ=function(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],l=e[3],c=e[4],u=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r+c*n,t[1]=s*r+u*n,t[2]=a*r+h*n,t[3]=l*r+p*n,t[4]=c*r-o*n,t[5]=u*r-s*n,t[6]=h*r-a*n,t[7]=p*r-l*n,t},t.rotateZ$1=function(t,e,i){i*=.5;var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);return t[0]=n*l+r*a,t[1]=r*l-n*a,t[2]=o*l+s*a,t[3]=s*l-o*a,t},t.scale=_a,t.scale$1=Ga,t.scale$2=La,t.scaleAndAdd=za,t.set=function(t,e,i,n){return t[0]=e,t[1]=i,t[2]=n,t},t.setCacheLimits=function(t,e){nt=t,rt=e},t.setColumn=function(t,e,i){t[4*e+0]=i[0],t[4*e+1]=i[1],t[4*e+2]=i[2],t[4*e+3]=i[3]},t.setRTLTextPlugin=function(t,e,i=!1){if(mo===uo||mo===ho||mo===po)throw new Error("setRTLTextPlugin cannot be called multiple times.");go=Ht.resolveURL(t),mo=uo,fo=e,yo(),i||bo()},t.smoothstep=I,t.spec=ee,t.squaredLength=function(t){var e=t[0],i=t[1],n=t[2];return e*e+i*i+n*n},t.storeAuthState=function(t,e){e?Ft.add(t):Ft.delete(t)},t.sub=Ua,t.subtract=Sa,t.symbolSize=Gh,t.tileAABB=function(t,e,i,n,r,o,s,a,l){if("globe"===l.name)return wl(t,e,new ph(i,n,r));const c=Md({z:i,x:n,y:r},l);return new rl([(o+c.x/c.scale)*e,e*(c.y/c.scale),s],[(o+c.x2/c.scale)*e,e*(c.y2/c.scale),a])},t.tileCornersToBounds=Al,t.tileTransform=Md,t.transformMat3=function(t,e,i){var n=e[0],r=e[1],o=e[2];return t[0]=n*i[0]+r*i[3]+o*i[6],t[1]=n*i[1]+r*i[4]+o*i[7],t[2]=n*i[2]+r*i[5]+o*i[8],t},t.transformMat4=Ba,t.transformMat4$1=Za,t.transformQuat=Na,t.transitionTileAABBinECEF=xl,t.translate=ga,t.transpose=function(t,e){if(t===e){var i=e[1],n=e[2],r=e[5];t[1]=e[3],t[2]=e[6],t[3]=i,t[5]=e[7],t[6]=n,t[7]=r}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},t.triggerPluginCompletionEvent=_o,t.uniqueId=R,t.updateGlobeVertexNormal=function(t,e,i,n,r){const o=5*e+2;t.float32[o+0]=i,t.float32[o+1]=n,t.float32[o+2]=r},t.validateCustomStyleLayer=function(t){const e=[],i=t.id;return void 0===i&&e.push({message:`layers.${i}: missing required property "id"`}),void 0===t.render&&e.push({message:`layers.${i}: missing required method "render"`}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:`layers.${i}: property "renderingMode" must be either "2d" or "3d"`}),e},t.validateFilter=t=>Gr(Er(t)),t.validateFog=t=>Gr(Or(t)),t.validateLayer=t=>Gr(Ir(t)),t.validateLight=t=>Gr(Dr(t)),t.validateSource=t=>Gr(Lr(t)),t.validateStyle=Ur,t.validateTerrain=t=>Gr(Rr(t)),t.values=L,t.vectorTile=Du,t.version=i,t.warnOnce=Z,t.window=e,t.wrap=M})),r(["./shared"],(function(t){function e(t){if("number"==typeof t||"boolean"==typeof t||"string"==typeof t||null==t)return JSON.stringify(t);if(Array.isArray(t)){let i="[";for(const n of t)i+=`${e(n)},`;return`${i}]`}let i="{";for(const n of Object.keys(t).sort())i+=`${n}:${e(t[n])},`;return`${i}}`}function i(i){let n="";for(const r of t.refProperties)n+=`/${e(i[r])}`;return n}class n{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,n){for(const i of e)this._layerConfigs[i.id]=i,(this._layers[i.id]=t.createStyleLayer(i)).compileFilter(),this.keyCache[i.id]&&delete this.keyCache[i.id];for(const t of n)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const r=function(t,e){const n={};for(let r=0;rthis._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const n=i.source||"";let r=this.familiesBySource[n];r||(r=this.familiesBySource[n]={});const o=i.sourceLayer||"_geojsonTileLayer";let s=r[o];s||(s=r[o]=[]),s.push(e)}}}class r{loadTile(e,i){const{uid:n,encoding:r,rawImageData:o,padding:s,buildQuadTree:a}=e,l=t.window.ImageBitmap&&o instanceof t.window.ImageBitmap?this.getImageData(o,s):o;i(null,new t.DEMData(n,l,r,s<1,a))}getImageData(t,e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);const i=this.offscreenCanvasContext.getImageData(-e,-e,t.width+2*e,t.height+2*e);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),i}}function o(t,e){if(0!==t.length){s(t[0],e);for(var i=1;i=Math.abs(a)?i-l+a:a-l+i,i=l}i+n>=0!=!!e&&t.reverse()}var a=t.getDefaultExportFromCjs((function t(e,i){var n,r=e&&e.type;if("FeatureCollection"===r)for(n=0;n>31}function A(t,e){for(var i=t.loadGeometry(),n=t.type,r=0,o=0,s=i.length,a=0;at},k=Math.fround||(S=new Float32Array(1),t=>(S[0]=+t,S[0]));var S;const I=3,M=5,P=6;class L{constructor(t){this.options=Object.assign(Object.create(T),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:i,maxZoom:n}=this.options;e&&console.time("total time");const r=`prepare ${t.length} points`;e&&console.time(r),this.points=t;const o=[];for(let e=0;e=i;t--){const i=+Date.now();s=this.trees[t]=this._createTree(this._cluster(s,t)),e&&console.log("z%d: %d clusters in %dms",t,s.numItems,+Date.now()-i)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let r=180===t[2]?180:((t[2]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,r=180;else if(i>r){const t=this.getClusters([i,n,180,o],e),s=this.getClusters([-180,n,r,o],e);return t.concat(s)}const s=this.trees[this._limitZoom(e)],a=s.range(R(i),O(o),R(r),O(n)),l=s.data,c=[];for(const t of a){const e=this.stride*t;c.push(l[e+M]>1?z(l,e,this.clusterProps):this.points[l[e+I]])}return c}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),n="No cluster with the specified id.",r=this.trees[i];if(!r)throw new Error(n);const o=r.data;if(e*this.stride>=o.length)throw new Error(n);const s=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=r.within(o[e*this.stride],o[e*this.stride+1],s),l=[];for(const e of a){const i=e*this.stride;o[i+4]===t&&l.push(o[i+M]>1?z(o,i,this.clusterProps):this.points[o[i+I]])}if(0===l.length)throw new Error(n);return l}getLeaves(t,e,i){const n=[];return this._appendLeaves(n,t,e=e||10,i=i||0,0),n}getTile(t,e,i){const n=this.trees[this._limitZoom(t)],r=Math.pow(2,t),{extent:o,radius:s}=this.options,a=s/o,l=(i-a)/r,c=(i+1+a)/r,u={features:[]};return this._addTileFeatures(n.range((e-a)/r,l,(e+1+a)/r,c),n.data,e,i,r,u),0===e&&this._addTileFeatures(n.range(1-a/r,l,1,c),n.data,r,i,r,u),e===r-1&&this._addTileFeatures(n.range(0,l,a/r,c),n.data,-1,i,r,u),u.features.length?u:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,n,r){const o=this.getChildren(e);for(const e of o){const o=e.properties;if(o&&o.cluster?r+o.point_count<=n?r+=o.point_count:r=this._appendLeaves(t,o.cluster_id,i,n,r):r1;let l,c,u;if(a)l=D(e,t,this.clusterProps),c=e[t],u=e[t+1];else{const i=this.points[e[t+I]];l=i.properties;const[n,r]=i.geometry.coordinates;c=R(n),u=O(r)}const h={type:1,geometry:[[Math.round(this.options.extent*(c*r-i)),Math.round(this.options.extent*(u*r-n))]],tags:l};let p;p=a||this.options.generateId?e[t+I]:this.points[e[t+I]].id,void 0!==p&&(h.id=p),o.features.push(h)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:i,extent:n,reduce:r,minPoints:o}=this.options,s=i/(n*Math.pow(2,e)),a=t.data,l=[],c=this.stride;for(let i=0;ie&&(d+=a[i+M])}if(d>p&&d>=o){let t,o=n*p,s=u*p,f=-1;const m=(i/c<<5)+(e+1)+this.points.length;for(const n of h){const l=n*c;if(a[l+2]<=e)continue;a[l+2]=e;const u=a[l+M];o+=a[l]*u,s+=a[l+1]*u,a[l+4]=m,r&&(t||(t=this._map(a,i,!0),f=this.clusterProps.length,this.clusterProps.push(t)),r(t,this._map(a,l)))}a[i+4]=m,l.push(o/d,s/d,1/0,m,-1,d),r&&l.push(f)}else{for(let t=0;t1)for(const t of h){const i=t*c;if(!(a[i+2]<=e)){a[i+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,i){if(t[e+M]>1){const n=this.clusterProps[t[e+P]];return i?Object.assign({},n):n}const n=this.points[t[e+I]].properties,r=this.options.map(n);return i&&r===n?Object.assign({},r):r}}function z(t,e,i){return{type:"Feature",id:t[e+I],properties:D(t,e,i),geometry:{type:"Point",coordinates:[(n=t[e],360*(n-.5)),B(t[e+1])]}};var n}function D(t,e,i){const n=t[e+M],r=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,o=t[e+P],s=-1===o?{}:Object.assign({},i[o]);return Object.assign(s,{cluster:!0,cluster_id:t[e+I],point_count:n,point_count_abbreviated:r})}function R(t){return t/360+.5}function O(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function B(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function N(t,e,i,n){for(var r,o=n,s=i-e>>1,a=i-e,l=t[e],c=t[e+1],u=t[i],h=t[i+1],p=e+3;po)r=p,o=d;else if(d===o){var f=Math.abs(p-s);fn&&(r-e>3&&N(t,e,r,n),t[r+2]=o,i-r>3&&N(t,r,i,n))}function F(t,e,i,n,r,o){var s=r-i,a=o-n;if(0!==s||0!==a){var l=((t-i)*s+(e-n)*a)/(s*s+a*a);l>1?(i=r,n=o):l>0&&(i+=s*l,n+=a*l)}return(s=t-i)*s+(a=e-n)*a}function U(t,e,i,n){var r={id:void 0===t?null:t,type:e,geometry:i,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)j(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var n=0;n0&&(s+=n?(r*c-l*o)/2:Math.sqrt(Math.pow(l-r,2)+Math.pow(c-o,2))),r=l,o=c}var u=e.length-3;e[2]=1,N(e,0,u,i),e[u+2]=1,e.size=Math.abs(s),e.start=0,e.end=e.size}function Z(t,e,i,n){for(var r=0;r1?1:i}function W(t,e,i,n,r,o,s,a){if(n/=e,o>=(i/=e)&&s=n)return null;for(var l=[],c=0;c=i&&f=n)){var m=[];if("Point"===p||"MultiPoint"===p)H(h,m,i,n,r);else if("LineString"===p)Y(h,m,i,n,r,!1,a.lineMetrics);else if("MultiLineString"===p)J(h,m,i,n,r,!1);else if("Polygon"===p)J(h,m,i,n,r,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&s<=n&&(e.push(t[o]),e.push(t[o+1]),e.push(t[o+2]))}}function Y(t,e,i,n,r,o,s){for(var a,l,c=K(t),u=0===r?tt:et,h=t.start,p=0;pi&&(l=u(c,d,f,g,_,i),s&&(c.start=h+a*l)):y>n?v=i&&(l=u(c,d,f,g,_,i),x=!0),v>n&&y<=n&&(l=u(c,d,f,g,_,n),x=!0),!o&&x&&(s&&(c.end=h+a*l),e.push(c),c=K(t)),s&&(h+=a)}var b=t.length-3;d=t[b],f=t[b+1],m=t[b+2],(y=0===r?d:f)>=i&&y<=n&&Q(c,d,f,m),b=c.length-3,o&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&Q(c,c[0],c[1],c[2]),c.length&&e.push(c)}function K(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function J(t,e,i,n,r,o){for(var s=0;ss.maxX&&(s.maxX=u),h>s.maxY&&(s.maxY=h)}return s}function at(t,e,i,n){var r=e.geometry,o=e.type,s=[];if("Point"===o||"MultiPoint"===o)for(var a=0;a0&&e.size<(r?s:n))i.numPoints+=e.length/3;else{for(var a=[],l=0;ls)&&(i.numSimplified++,a.push(e[l]),a.push(e[l+1])),i.numPoints++;r&&function(t,e){for(var i=0,n=0,r=t.length,o=r-2;n0===e)for(n=0,r=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var n=0;n1&&console.time("creation"),p=this.tiles[h]=st(t,e,i,n,l),this.tileCoords.push({z:e,x:i,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,n,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,r){if(e===l.maxZoom||e===r)continue;var f=1<1&&console.time("clipping");var m,g,_,y,v,x,b=.5*l.buffer/l.extent,w=.5-b,A=.5+b,E=1+b;m=g=_=y=null,v=W(t,u,i-b,i+A,0,p.minX,p.maxX,l),x=W(t,u,i+w,i+E,0,p.minX,p.maxX,l),t=null,v&&(m=W(v,u,n-b,n+A,1,p.minY,p.maxY,l),g=W(v,u,n+w,n+E,1,p.minY,p.maxY,l),v=null),x&&(_=W(x,u,n-b,n+A,1,p.minY,p.maxY,l),y=W(x,u,n+w,n+E,1,p.minY,p.maxY,l),x=null),c>1&&console.timeEnd("clipping"),a.push(m||[],e+1,2*i,2*n),a.push(g||[],e+1,2*i,2*n+1),a.push(_||[],e+1,2*i+1,2*n),a.push(y||[],e+1,2*i+1,2*n+1)}}},ct.prototype.getTile=function(t,e,i){var n=this.options,r=n.extent,o=n.debug;if(t<0||t>24)return null;var s=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,u=e,h=i;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[ut(c,u,h)];return l&&l.source?(o>1&&console.log("found parent tile z%d-%d-%d",c,u,h),o>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?rt(this.tiles[a],r):null):null};class pt extends t.VectorTileWorkerSource{constructor(t,e,i,n,r){super(t,e,i,n,ht),r&&(this.loadGeoJSON=r)}loadData(e,i){const n=e&&e.request,r=n&&n.collectResourceTiming;this.loadGeoJSON(e,((o,s)=>{if(o||!s)return i(o);if("object"!=typeof s)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{a(s,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const n=s.features.filter((t=>i.value.evaluate({zoom:0},t)));s={type:"FeatureCollection",features:n}}this._geoJSONIndex=e.cluster?new L(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const n={},r={},o={accumulated:null,zoom:0},s={properties:null},a=Object.keys(i);for(const e of a){const[o,s]=i[e],a=t.createExpression(s),l=t.createExpression("string"==typeof o?[o,["accumulated"],["get",e]]:o);n[e]=a.value,r[e]=l.value}return e.map=t=>{s.properties=t;const e={};for(const t of a)e[t]=n[t].evaluate(o,s);return e},e.reduce=(t,e)=>{s.properties=e;for(const e of a)o.accumulated=t[e],t[e]=r[e].evaluate(o,s)},e}(e)).load(s.features):function(t,e){return new ct(t,e)}(s,e.geojsonVtOptions)}catch(o){return i(o)}this.loaded={};const l={};if(r){const i=t.getPerformanceMeasurement(n);i&&(l.resourceTiming={},l.resourceTiming[e.source]=JSON.parse(JSON.stringify(i)))}i(null,l)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}loadGeoJSON(e,i){if(e.request)t.getJSON(e.request,i);else{if("string"!=typeof e.data)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));try{return i(null,JSON.parse(e.data))}catch(t){return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class dt{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=t.getProjection({name:"mercator"}),this.workerSourceTypes={vector:t.VectorTileWorkerSource,geojson:pt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}clearCaches(t,e,i){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t],i()}checkIfReady(t,e,i){i()}setReferrer(t,e){this.referrer=e}spriteLoaded(e,i){this.isSpriteLoaded[e]=i;for(const n in this.workerSources[e]){const r=this.workerSources[e][n];for(const e in r)r[e]instanceof t.VectorTileWorkerSource&&(r[e].isSpriteLoaded=i,r[e].fire(new t.Event("isSpriteLoaded")))}}setImages(t,e,i){this.availableImages[t]=e;for(const i in this.workerSources[t]){const n=this.workerSources[t][i];for(const t in n)n[t].availableImages=e}i()}enableTerrain(t,e,i){this.terrain=e,i()}setProjection(e,i){this.projections[e]=t.getProjection(i)}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(e,i,n){const r=this.enableTerrain?t.extend({enableTerrain:this.terrain},i):i;r.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,i.type,i.source).loadTile(r,n)}loadDEMTile(e,i,n){const r=this.enableTerrain?t.extend({buildQuadTree:this.terrain},i):i;this.getDEMWorkerSource(e,i.source).loadTile(r,n)}reloadTile(e,i,n){const r=this.enableTerrain?t.extend({enableTerrain:this.terrain},i):i;r.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,i.type,i.source).reloadTile(r,n)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,n){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();n(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){n(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e}getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const n={send:(e,i,n,r,o,s)=>{this.actor.send(e,i,n,t,o,s)},scheduler:this.actor.scheduler};this.workerSources[t][e][i]=new this.workerSourceTypes[e](n,this.getLayerIndex(t),this.getAvailableImages(t),this.isSpriteLoaded[t])}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new r),this.demWorkerSources[t][e]}enforceCacheSizeLimit(e,i){t.enforceCacheSizeLimit(i)}getWorkerPerformanceMetrics(t,e,i){i(void 0,void 0)}}return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new dt(self)),dt})),r(["./shared"],(function(t){function e(t,i){if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(let n=0;n{t.window.removeEventListener("click",p,!0)}),0)}function f(t,e){const i=t.getBoundingClientRect();return _(t,i,e)}function m(t,e){const i=t.getBoundingClientRect(),n=[];for(let r=0;r=0?0:e.button}function _(e,i,n){const r=e.offsetWidth===i.width?1:e.offsetWidth/i.width;return new t.Point((n.clientX-i.left)*r,(n.clientY-i.top)*r)}function y(t,e){var i=e[0],n=e[1],r=e[2],o=e[3],s=i*o-r*n;return s?(t[0]=o*(s=1/s),t[1]=-n*s,t[2]=-r*s,t[3]=i*s,t):null}function v(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class x extends t.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,callback:e}of this.requestors)this._notify(t,e);this.requestors=[]}}hasImage(t){return!!this.getImage(t)}getImage(t){return this.images[t]}addImage(t,e){this._validate(t,e)&&(this.images[t]=e)}_validate(e,i){let n=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(t,e){if(!t)return!0;let i=0;for(const n of t){if(n[0]{this.ready=!0}))}broadcast(e,i,n){t.asyncAll(this.actors,((t,n)=>{t.send(e,i,n)}),n=n||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove()})),this.actors=[],this.workerPool.release(this.id)}}function M(e,i,n){return i*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}I.Actor=t.Actor;class P{constructor(t,e,i,n){this.screenBounds=t,this.cameraPoint=e,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,n)}static createFromScreenPoints(e,i){let n,r;if(e instanceof t.Point||"number"==typeof e[0]){const o=t.Point.convert(e);n=[o],r=i.isPointAboveHorizon(o)}else{const o=t.Point.convert(e[0]),s=t.Point.convert(e[1]);n=[o,s],r=t.polygonizeBounds(o,s).every((t=>i.isPointAboveHorizon(t)))}return new P(n,i.getCameraPoint(),r,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(e){return t.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],e)}bufferedCameraGeometry(e){const i=this.screenBounds[0],n=1===this.screenBounds.length?this.screenBounds[0].add(new t.Point(1,1)):this.screenBounds[1],r=t.polygonizeBounds(i,n,0,!1);return this.cameraPoint.y>n.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=n.x?r[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(r[3]=this.cameraPoint)),t.bufferConvexPolygon(r,e)}bufferedCameraGeometryGlobe(e){const i=this.screenBounds[0],n=1===this.screenBounds.length?this.screenBounds[0].add(new t.Point(1,1)):this.screenBounds[1],r=t.polygonizeBounds(i,n,e),o=this.cameraPoint.clone();switch(3*((o.y>i.y)+(o.y>n.y))+((o.x>i.x)+(o.x>n.x))){case 0:r[0]=o,r[4]=o.clone();break;case 1:r.splice(1,0,o);break;case 2:r[1]=o;break;case 3:r.splice(4,0,o);break;case 5:r.splice(2,0,o);break;case 6:r[3]=o;break;case 7:r.splice(3,0,o);break;case 8:r[2]=o}return r}containsTile(e,i,n,r=0){const o=e.queryPadding/i._pixelsPerMercatorPixel+1,s=n?this._bufferedCameraMercator(o,i):this._bufferedScreenMercator(o,i);let a=e.tileID.wrap+(s.unwrapped?r:0);const l=s.polygon.map((i=>t.getTilePoint(e.tileTransform,i,a)));if(!t.polygonIntersectsBox(l,0,0,t.EXTENT,t.EXTENT))return;a=e.tileID.wrap+(this.screenGeometryMercator.unwrapped?r:0);const c=this.screenGeometryMercator.polygon.map((i=>t.getTileVec3(e.tileTransform,i,a))),u=c.map((e=>new t.Point(e[0],e[1]))),h=i.getFreeCameraOptions().position||new t.MercatorCoordinate(0,0,0),p=t.getTileVec3(e.tileTransform,h,a),d=c.map((e=>{const i=t.sub(e,e,p);return t.normalize(i,i),new t.Ray(p,i)})),f=M(e,1,i.zoom)*i._pixelsPerMercatorPixel;return{queryGeometry:this,tilespaceGeometry:u,tilespaceRays:d,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=t.getBounds(l),m.min.x=t.clamp(m.min.x,0,t.EXTENT),m.min.y=t.clamp(m.min.y,0,t.EXTENT),m.max.x=t.clamp(m.max.x,0,t.EXTENT),m.max.y=t.clamp(m.max.y,0,t.EXTENT),m),tile:e,tileID:e.tileID,pixelToTileUnitsFactor:f};var m}_bufferedScreenMercator(t,e){const i=D(t);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let n;return n="globe"===e.projection.name?this._projectAndResample(this.bufferedScreenGeometry(t),e):{polygon:this.bufferedScreenGeometry(t).map((t=>e.pointCoordinate3D(t))),unwrapped:!0},this._screenRaycastCache[i]=n,n}}_bufferedCameraMercator(t,e){const i=D(t);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let n;return n="globe"===e.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(t),e):{polygon:this.bufferedCameraGeometry(t).map((t=>e.pointCoordinate3D(t))),unwrapped:!0},this._cameraRaycastCache[i]=n,n}}_projectAndResample(e,i){const n=function(e,i){const n=t.multiply([],i.pixelMatrix,i.globeMatrix),r=[0,-t.GLOBE_RADIUS,0,1],o=[0,t.GLOBE_RADIUS,0,1],s=[0,0,0,1];t.transformMat4$1(r,r,n),t.transformMat4$1(o,o,n),t.transformMat4$1(s,s,n);const a=new t.Point(r[0]/r[3],r[1]/r[3]),l=new t.Point(o[0]/o[3],o[1]/o[3]),c=t.polygonContainsPoint(e,a)&&r[3]1?L(e.slice(0,p),i):[],m=pnew t.Point(z(e.x),e.y))),m=m.map((e=>new t.Point(z(e.x),e.y)));const g=[...f];0===g.length&&g.push(m[m.length-1]);const _=t.number(g[g.length-1].y,(0===m.length?f[0]:m[0]).y,d);let y;return y=c?[new t.Point(0,_),new t.Point(0,0),new t.Point(1,0),new t.Point(1,_)]:[new t.Point(1,_),new t.Point(1,1),new t.Point(0,1),new t.Point(0,_)],g.push(...y),0===m.length?g.push(f[0]):g.push(...m),{polygon:g.map((e=>new t.MercatorCoordinate(e.x,e.y))),unwrapped:!1}}(e,i);if(n)return n;const r=function(e,i){let n=!1,r=-1/0,o=0;for(let t=0;tr&&(r=e[t].x,o=t);for(let t=0;t.5&&(r.x{t.x-=1})),{polygon:e,unwrapped:n}}(L(e,i).map((e=>new t.Point(z(e.x),e.y))),i);return{polygon:r.polygon.map((e=>new t.MercatorCoordinate(e.x,e.y))),unwrapped:r.unwrapped}}}function L(e,i){return t.resample(e,(t=>{const e=i.pointCoordinate3D(t);t.x=e.x,t.y=e.y}),1/256)}function z(t){return t<0?1+t%1:t%1}function D(t){return 100*t|0}function R(e,i,n,r,o){const s=function(n,r){if(n)return o(n);if(r){e.url&&r.tiles&&e.tiles&&delete e.tiles;const n=t.pick(t.extend(r,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);r.vector_layers&&(n.vectorLayers=r.vector_layers,n.vectorLayerIds=n.vectorLayers.map((t=>t.id))),n.tiles=i.canonicalizeTileset(n,e.url),o(null,n)}};return e.url?t.getJSON(i.transformRequest(i.normalizeSourceURL(e.url,null,n,r),t.ResourceType.Source),s):t.exported.frame((()=>s(null,e)))}class O{constructor(e,i,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=n||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(e){const i=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),o=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),s=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=n&&e.x=r&&e.y{this._tileJSONRequest=null,this._loaded=!0,r?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),n&&2!==n.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${n}`),this.fire(new t.ErrorEvent(r))):o&&(t.extend(this,o),o.bounds&&(this.tileBounds=new O(o.bounds,this.minzoom,this.maxzoom)),t.postTurnstileEvent(o.tiles,this.map._requestManager._customAccessToken),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))),e&&e(r)}))}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(t){return this._options.tiles=t,this.reload(),this}setUrl(t){return this.url=t,this._options.url=t,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return t.extend({},this._options)}loadTile(e,i){const n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),data:void 0,uid:e.uid,tileID:e.tileID,tileZoom:e.tileZoom,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:e.isSymbolTile};if(r.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state)"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",r,o.bind(this));else if(e.actor=this._tileWorkers[n]=this._tileWorkers[n]||this.dispatcher.getActor(),this.dispatcher.ready)e.request=e.actor.send("loadTile",r,o.bind(this),void 0,!0);else{const i=t.loadVectorTile.call({deduped:this._deduped},r,((t,i)=>{t||!i?o.call(this,t):(r.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},e.actor&&e.actor.send("loadTile",r,o.bind(this),void 0,!0))}),!0);e.request={cancel:i}}function o(n,r){return delete e.request,e.aborted?i(null):n&&404!==n.status?i(n):(r&&r.resourceTiming&&(e.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&e.setExpiryData(r),e.loadVectorData(r,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id})}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}hasTransition(){return!1}afterUpdate(){this._tileWorkers={}}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class Tt extends t.Evented{constructor(e,i,n,r){super(),this.id=e,this.dispatcher=n,this.setEventedParent(r),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(e){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=R(this._options,this.map._requestManager,null,null,((i,n)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new t.ErrorEvent(i)):n&&(t.extend(this,n),n.bounds&&(this.tileBounds=new O(n.bounds,this.minzoom,this.maxzoom)),t.postTurnstileEvent(n.tiles),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))),e&&e(i)}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(t){return this._options.tiles=t,this.reload(),this}setUrl(t){return this.url=t,this._options.url=t,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const n=t.exported.devicePixelRatio>=2,r=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),n,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),((n,r,o,s)=>(delete e.request,e.aborted?(e.state="unloaded",i(null)):n?(e.state="errored",i(n)):r?(this.map._refreshExpiredTiles&&e.setExpiryData({cacheControl:o,expires:s}),e.setTexture(r,this.map.painter),e.state="loaded",t.cacheEntryPossiblyAdded(this.dispatcher),void i(null)):i(null))))}static loadTileData(t,e,i){t.setTexture(e,i)}static unloadTileData(t,e){t.texture&&e.saveTileTexture(t.texture)}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}function kt(e,i,n,r,o,s,a,l){const c=[e,n,o,i,r,s,1,1,1],u=[a,l,1],h=t.adjoint([],c),[p,d,f]=t.transformMat3(u,u,t.transpose(h,h));return t.multiply$1(c,[p,0,0,0,d,0,0,0,f],c)}class St extends t.Evented{constructor(t,e,i,n){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=e,this._dirty=!1}load(e,i){this._loaded=i||!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,this._imageRequest=t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),((i,n)=>{if(this._imageRequest=null,this._loaded=!0,i)this.fire(new t.ErrorEvent(i));else if(n){const{HTMLImageElement:i}=t.window;this.image=n instanceof i?t.exported.getImageData(n):n,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,e&&(this.coordinates=e),this._finishLoading()}}))}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this._imageRequest&&t.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=t.url,this.load(t.coordinates,this._loaded),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),this.texture&&this.texture.destroy()}setCoordinates(e){this.coordinates=e,this._boundsArray=void 0;const i=e.map(t.MercatorCoordinate.fromLngLat);return this.tileID=function(e){let i=1/0,n=1/0,r=-1/0,o=-1/0;for(const t of e)i=Math.min(i,t.x),n=Math.min(n,t.y),r=Math.max(r,t.x),o=Math.max(o,t.y);const s=Math.max(r-i,o-n),a=Math.max(0,Math.floor(-Math.log(s)/Math.LN2)),l=Math.pow(2,a);return new t.CanonicalTileID(a,Math.floor((i+r)/2*l),Math.floor((n+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z,this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this}_clear(){this._boundsArray=void 0}_prepareData(e){for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}if(this._boundsArray)return;const i=t.tileTransform(this.tileID,this.map.transform.projection),[n,r,o,s]=this.coordinates.map((e=>{const n=i.projection.project(e[0],e[1]);return t.getTilePoint(i,n)._round()}));this.perspectiveTransform=function(e,i,n,r,o,s,a,l,c,u){const h=kt(0,0,e,0,0,i,e,i),p=kt(n,r,o,s,a,l,c,u);return t.multiply$1(p,t.adjoint(h,h),p),[p[6]/p[8]*e/t.EXTENT,p[7]/p[8]*i/t.EXTENT]}(this.width,this.height,n.x,n.y,r.x,r.y,s.x,s.y,o.x,o.y);const a=this._boundsArray=new t.StructArrayLayout4i8;a.emplaceBack(n.x,n.y,0,0),a.emplaceBack(r.x,r.y,t.EXTENT,0),a.emplaceBack(s.x,s.y,0,t.EXTENT),a.emplaceBack(o.x,o.y,t.EXTENT,t.EXTENT),this.boundsBuffer&&this.boundsBuffer.destroy(),this.boundsBuffer=e.createVertexBuffer(a,t.boundsAttributes.members),this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this._dirty&&(this.texture?this.texture.update(this.image):(this.texture=new t.Texture(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this._dirty=!1),this._prepareData(e)}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}const It={vector:Ct,raster:Tt,"raster-dem":class extends Tt{constructor(e,i,n,r){super(e,i,n,r),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}loadTile(e,i){const n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function r(t,n){t&&(e.state="errored",i(t)),n&&(e.dem=n,e.dem.onDeserialize(),e.needsHillshadePrepare=!0,e.needsDEMTextureUpload=!0,e.state="loaded",i(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,o,s,a){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(n)e.state="errored",i(n);else if(o){this.map._refreshExpiredTiles&&e.setExpiryData({cacheControl:s,expires:a});const i=t.window.ImageBitmap&&o instanceof t.window.ImageBitmap&&(null==st&&(st=t.window.OffscreenCanvas&&new t.window.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof t.window.createImageBitmap),st),n=1-(o.width-t.prevPowerOfTwo(o.width))/2;n<1||e.neighboringTiles||(e.neighboringTiles=this._getNeighboringTiles(e.tileID));const l=i?o:t.exported.getImageData(o,n),c={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:l,encoding:this.encoding,padding:n};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",c,r.bind(this),void 0,!0))}}.bind(this))}_getNeighboringTiles(e){const i=e.canonical,n=Math.pow(2,i.z),r=(i.x-1+n)%n,o=0===i.x?e.wrap-1:e.wrap,s=(i.x+1+n)%n,a=i.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,o,i.z,r,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,o,i.z,r,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+1{if(this._loaded=!0,this._pendingLoad=null,e)this.fire(new t.ErrorEvent(e));else{const e={dataType:"source",sourceDataType:this._metadataFired?"content":"metadata"};this._collectResourceTiming&&i&&i.resourceTiming&&i.resourceTiming[this.id]&&(e.resourceTiming=i.resourceTiming[this.id]),this.fire(new t.Event("data",e)),this._metadataFired=!0}this._coalesce&&(this._updateWorkerData(),this._coalesce=!1)}))}loaded(){return this._loaded}loadTile(e,i){const n=e.actor?"reloadTile":"loadTile";e.actor=this.actor,e.request=this.actor.send(n,{type:this.type,uid:e.uid,tileID:e.tileID,tileZoom:e.tileZoom,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},((t,r)=>(delete e.request,e.unloadVectorData(),e.aborted?i(null):t?i(t):(e.loadVectorData(r,this.map.painter,"reloadTile"===n),i(null)))),void 0,"loadTile"===n)}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._pendingLoad&&this._pendingLoad.cancel()}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}},video:class extends St{constructor(t,e,i,n){super(t,e,i,n),this.roundZoom=!0,this.type="video",this.options=e}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute("playsinline",""),this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(e)}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:St,canvas:class extends St{constructor(e,i,n,r){super(e,i,n,r),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i)}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}},custom:class extends t.Evented{constructor(e,i,n,r){super(),this.id=e,this.type="custom",this._dataType="raster",this._dispatcher=n,this._implementation=i,this.setEventedParent(r),this.scheme="xyz",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new t.ErrorEvent(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new t.ErrorEvent(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new O(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),t.extend(this,t.pick(i,["dataType","scheme","minzoom","maxzoom","tileSize","attribution","minTileCacheSize","maxTileCacheSize"]))}serialize(){return t.pick(this,["type","scheme","minzoom","maxzoom","tileSize","attribution"])}load(){this._loaded=!0,this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))}loaded(){return this._loaded}onAdd(e){this._map=e,this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._implementation.onAdd&&this._implementation.onAdd(e),this.load()}onRemove(t){this._implementation.onRemove&&this._implementation.onRemove(t)}hasTile(t){if(this._implementation.hasTile){const{x:e,y:i,z:n}=t.canonical;return this._implementation.hasTile({x:e,y:i,z:n})}return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const{x:n,y:r,z:o}=e.tileID.canonical,s=new t.window.AbortController;e.request=Promise.resolve(this._implementation.loadTile({x:n,y:r,z:o},{signal:s.signal})).then(function(n){return delete e.request,e.aborted?(e.state="unloaded",i(null)):void 0===n?(e.state="errored",i(null)):null===n?(this.loadTileData(e,{width:this.tileSize,height:this.tileSize,data:null}),e.state="loaded",i(null)):function(e){return e instanceof t.window.ImageData||e instanceof t.window.HTMLCanvasElement||e instanceof t.window.ImageBitmap||e instanceof t.window.HTMLImageElement}(n)?(this.loadTileData(e,n),e.state="loaded",void i(null)):(e.state="errored",i(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((t=>{20!==t.code&&(e.state="errored",i(t))})),e.request.cancel=()=>s.abort()}loadTileData(t,e){Tt.loadTileData(t,e,this._map.painter)}unloadTileData(t){Tt.unloadTileData(t,this._map.painter)}unloadTile(t,e){if(this.unloadTileData(t),this._implementation.unloadTile){const{x:e,y:i,z:n}=t.tileID.canonical;this._implementation.unloadTile({x:e,y:i,z:n})}e()}abortTile(t,e){t.request&&t.request.cancel&&(t.request.cancel(),delete t.request),e()}hasTransition(){return!1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((t=>({x:t.canonical.x,y:t.canonical.y,z:t.canonical.z})))}_clearTiles(){this._map.style._clearSource(this.id)}_update(){this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"}))}}},Mt=function(e,i,n,r){const o=new It[i.type](e,i,n,r);if(o.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${o.id}`);return t.bindAll(["load","abort","unload","serialize","prepare"],o),o};function Pt(e,i){const n=t.identity([]);return t.scale(n,n,[.5*e.width,.5*-e.height,1]),t.translate(n,n,[1,-1,0]),t.multiply(n,n,e.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(n)}function Lt(t,e,i,n,r,o,s,a=!1){const l=t.tilesIn(n,s,a);l.sort(Dt);const c=[];for(const n of l)c.push({wrappedTileID:n.tile.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(e,i,t._state,n,r,o,Pt(t.transform,n.tile.tileID),a)});const u=function(t){const e={},i={};for(const n of t){const t=n.queryResults,r=n.wrappedTileID,o=i[r]=i[r]||{};for(const i in t){const n=t[i],r=o[i]=o[i]||{},s=e[i]=e[i]||[];for(const t of n)r[t.featureIndex]||(r[t.featureIndex]=!0,s.push(t))}}return e}(c);for(const e in u)u[e].forEach((e=>{const i=e.feature,n=i.layer;n&&"background"!==n.type&&"sky"!==n.type&&(i.source=n.source,n["source-layer"]&&(i.sourceLayer=n["source-layer"]),i.state=void 0!==i.id?t.getFeatureState(n["source-layer"],i.id):{})}));return u}function zt(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),n=[],r={};for(let t=0;t{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[Ot]}numActive(){return Object.keys(this.active).length}}let Nt;function Ft(){return Nt||(Nt=new Bt),Nt}function Ut(e,i){const n={};for(const t in e)"ref"!==t&&(n[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(n[t]=i[t])})),n}function jt(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(r-s)/a:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}class Kt{constructor(t,e,i){const n=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||n<0||e>this.height)return!r&&[];const s=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=n){if(r)return!0;for(let t=0;t0:s}_queryCircle(t,e,i,n,r){const o=t-i,s=t+i,a=e-i,l=e+i;if(s<0||o>this.width||l<0||a>this.height)return!n&&[];const c=[];return this._forEachCell(o,a,s,l,this._queryCellCircle,c,{hitTest:n,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},r),n?c.length>0:c}query(t,e,i,n,r){return this._query(t,e,i,n,!1,r)}hitTest(t,e,i,n,r){return this._query(t,e,i,n,!0,r)}hitTestCircle(t,e,i,n){return this._queryCircle(t,e,i,!0,n)}_queryCell(t,e,i,n,r,o,s,a){const l=s.seenUids,c=this.boxCells[r];if(null!==c){const r=this.bboxes;for(const u of c)if(!l.box[u]){l.box[u]=!0;const c=4*u;if(t<=r[c+2]&&e<=r[c+3]&&i>=r[c+0]&&n>=r[c+1]&&(!a||a(this.boxKeys[u]))){if(s.hitTest)return o.push(!0),!0;o.push({key:this.boxKeys[u],x1:r[c],y1:r[c+1],x2:r[c+2],y2:r[c+3]})}}}const u=this.circleCells[r];if(null!==u){const r=this.circles;for(const c of u)if(!l.circle[c]){l.circle[c]=!0;const u=3*c;if(this._circleAndRectCollide(r[u],r[u+1],r[u+2],t,e,i,n)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return o.push(!0),!0;{const t=r[u],e=r[u+1],i=r[u+2];o.push({key:this.circleKeys[c],x1:t-i,y1:e-i,x2:t+i,y2:e+i})}}}}}_queryCellCircle(t,e,i,n,r,o,s,a){const l=s.circle,c=s.seenUids,u=this.boxCells[r];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e;if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!a||a(this.boxKeys[e])))return o.push(!0),!0}}const h=this.circleCells[r];if(null!==h){const t=this.circles;for(const e of h)if(!c.circle[e]){c.circle[e]=!0;const i=3*e;if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[e])))return o.push(!0),!0}}}_forEachCell(t,e,i,n,r,o,s,a){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(i),h=this._convertToYCellCoord(n);for(let p=l;p<=u;p++)for(let l=c;l<=h;l++)if(r.call(this,t,e,i,n,this.xCellCount*l+p,o,s,a))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,n,r,o){const s=n-t,a=r-e,l=i+o;return l*l>s*s+a*a}_circleAndRectCollide(t,e,i,n,r,o,s){const a=(o-n)/2,l=Math.abs(t-(n+a));if(l>a+i)return!1;const c=(s-r)/2,u=Math.abs(e-(r+c));if(u>c+i)return!1;if(l<=a||u<=c)return!0;const h=l-a,p=u-c;return h*h+p*p<=i*i}}const Jt={unknown:0,flipRequired:1,flipNotRequired:2},Qt=Math.tan(85*Math.PI/180);function te(e,i,n,r,o,s,a){const l=t.create();if(n)if("globe"===s.name){const e=t.calculateGlobeLabelMatrix(o,i);t.multiply(l,l,e)}else{const e=y([],a);l[0]=e[0],l[1]=e[1],l[4]=e[2],l[5]=e[3],r||t.rotateZ(l,l,o.angle)}else t.multiply(l,o.labelPlaneMatrix,e);return l}function ee(t,e,i,n,r,o,s){const a=te(t,e,i,n,r,o,s);return"globe"===o.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function ie(e,i,n,r,o,s,a){if(n){if("globe"===s.name){const l=te(e,i,n,r,o,s,a);return t.invert(l,l),t.multiply(l,e,l),l}{const i=t.clone(e),n=t.identity([]);return n[0]=a[0],n[1]=a[1],n[4]=a[2],n[5]=a[3],t.multiply(i,i,n),r||t.rotateZ(i,i,-o.angle),i}}return o.glCoordMatrix}function ne(e,i,n,r){const o=[e,i,n,1];n?t.transformMat4$1(o,o,r):fe(o,o,r);const s=o[3];return o[0]/=s,o[1]/=s,o[2]/=s,o}function re(t,e){return Math.min(.5+t/e*.5,1.5)}function oe(t,e){const i=t[0]/t[3],n=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&n>=-e[1]&&n<=e[1]}function se(e,i,n,r,o,s,a,l,c,u){const h=n.transform,p=r?e.textSizeData:e.iconSizeData,d=t.evaluateSizeForZoom(p,n.transform.zoom),f="globe"===h.projection.name,m=[256/n.width*2+1,256/n.height*2+1],g=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;g.clear();let _=null;f&&(_=r?e.text.globeExtVertexArray:e.icon.globeExtVertexArray);const y=e.lineVertexArray,v=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,x=n.transform.width/n.transform.height;let b,w=!1;for(let r=0;rMath.abs(n)?{useVertical:!0}:e===t.WritingMode.vertical?r>0?{needsFlipping:!0}:null:i!==Jt.unknown&&function(t,e){return 0===t||Math.abs(e/t)>Qt}(n,r)?i===Jt.flipRequired?{needsFlipping:!0}:null:n<0?{needsFlipping:!0}:null}function ce(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y,v){const x=i/24,b=e.lineOffsetX*x,w=e.lineOffsetY*x,{lineStartIndex:A,glyphStartIndex:E,numGlyphs:C,segment:T,writingMode:k,flipState:S}=e,I=A+e.lineLength,M=e=>{if(h){const[i,n,r]=e.up,o=u.length;t.updateGlobeVertexNormal(h,o+0,i,n,r),t.updateGlobeVertexNormal(h,o+1,i,n,r),t.updateGlobeVertexNormal(h,o+2,i,n,r),t.updateGlobeVertexNormal(h,o+3,i,n,r)}const[i,n,r]=e.point;t.addDynamicAttributes(u,i,n,r,e.angle)};if(C>1){const t=ae(x,l,b,w,n,p,d,e,c,s,f,g,!1,_,y,v);if(!t)return{notEnoughRoom:!0};if(r&&!n){let[i,n,r]=t.first.point,[o,s,l]=t.last.point;[i,n]=ne(i,n,r,a),[o,s]=ne(o,s,l,a);const c=le(k,S,(o-i)*m,s-n);if(e.flipState=c&&c.needsFlipping?Jt.flipRequired:Jt.flipNotRequired,c)return c}M(t.first);for(let t=E+1;t0?s:he(d,r,i,1,o,void 0,_,y.canonical),l=le(k,S,(a[0]-i[0])*m,a[1]-i[1]);if(e.flipState=l&&l.needsFlipping?Jt.flipRequired:Jt.flipNotRequired,l)return l}const i=pe(x*l.getoffsetX(E),b,w,n,p,d,T,A,I,c,s,f,g,!1,!1,_,y,v);if(!i)return{notEnoughRoom:!0};M(i)}return{}}function ue(t,e,i,n,r){const{x:o,y:s,z:a}=n.projectTilePoint(t.x,t.y,e);if(!r)return ne(o,s,a,i);const[l,c,u]=r(t);return ne(o+l,s+c,a+u,i)}function he(e,i,n,r,o,s,a,l){const c=ue(e.sub(i)._unit()._add(e),l,o,a,s);return t.sub(c,n,c),t.normalize(c,c),t.scaleAndAdd(c,n,c,r)}function pe(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_,y){const v=r?e-i:e+i;let x=v>0?1:-1,b=0;r&&(x*=-1,b=Math.PI),x<0&&(b+=Math.PI);let w=l+a+(x>0?0:1)|0,A=o,E=o,C=0,T=0;const k=Math.abs(v),S=[],I=[];let M=s,P=M;const L=()=>he(P,M,E,k-C+1,h,d,g,_.canonical);for(;C+T<=k;){if(w+=x,w=c)return null;if(E=A,P=M,S.push(E),f&&I.push(P),M=new t.Point(u.getx(w),u.gety(w)),A=p[w],!A){const t=ue(M,_.canonical,h,g,d);A=t[3]>0?p[w]=t:L()}C+=T,T=t.distance(E,A)}m&&d&&(p[w]&&(A=L(),T=t.distance(E,A)),p[w]=A);const z=(k-C)/T,D=M.sub(P)._mult(z)._add(P),R=t.sub([],A,E),O=t.scaleAndAdd([],E,R,z);let B=[0,0,1],N=R[0],F=R[1];if(y&&(B=g.upVector(_.canonical,D.x,D.y),0!==B[0]||0!==B[1]||1!==B[2])){const e=[B[2],0,-B[0]],i=t.cross([],B,e);t.normalize(e,e),t.normalize(i,i),N=t.dot(R,e),F=t.dot(R,i)}if(n){const e=t.cross([],B,R);t.normalize(e,e),t.scaleAndAdd(O,O,e,n*x)}const U=b+Math.atan2(F,N);return S.push(O),f&&I.push(D),{point:O,angle:U,path:S,tilePath:I,up:B}}function de(t,e){const i=e.length,n=i+4*t;e.resize(n),e.float32.fill(-1/0,4*i,4*n)}function fe(t,e,i){const n=e[0],r=e[1];return t[0]=i[0]*n+i[4]*r+i[12],t[1]=i[1]*n+i[5]*r+i[13],t[3]=i[3]*n+i[7]*r+i[15],t}const me=100;class ge{constructor(t,e,i=new Kt(t.width+200,t.height+200,25),n=new Kt(t.width+200,t.height+200,25)){this.transform=t,this.grid=i,this.ignoredGrid=n,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+me,this.screenBottomBoundary=t.height+me,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200,this.fogState=e}placeCollisionBox(t,e,i,n,r,o,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,u=i.projectedAnchorZ;const h=i.elevation,p=i.tileID,d=t.getProjection();if(h&&p){const[t,e,n]=d.upVector(p.canonical,i.tileAnchorX,i.tileAnchorY),r=d.upVectorScale(p.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=t*h*r,c+=e*h*r,u+=n*h*r}const f=this.projectAndGetPerspectiveRatio(s,l,c,u,i.tileID,"globe"===d.name||!!h||this.transform.pitch>0,d),m=o*f.perspectiveRatio,g=(i.x1*e+n.x-i.padding)*m+f.point.x,_=(i.y1*e+n.y-i.padding)*m+f.point.y,y=(i.x2*e+n.x+i.padding)*m+f.point.x,v=(i.y2*e+n.y+i.padding)*m+f.point.y,x=f.perspectiveRatio<=.55||f.occluded;return!this.isInsideGrid(g,_,y,v)||!r&&this.grid.hitTest(g,_,y,v,a)||x?{box:[],offscreen:!1,occluded:f.occluded}:{box:[g,_,y,v],offscreen:this.isOffscreen(g,_,y,v),occluded:!1}}placeCollisionCircles(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m){const g=[],_=this.transform.elevation,y=e.getProjection(),v=_?_.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,y):null,x=new t.Point(n.tileAnchorX,n.tileAnchorY);let{x:b,y:w,z:A}=y.projectTilePoint(x.x,x.y,m.canonical);if(v){const[t,e,i]=v(x);b+=t,w+=e,A+=i}const E="globe"===y.name,C=this.projectAndGetPerspectiveRatio(a,b,w,A,m,E||!!_||this.transform.pitch>0,y),{perspectiveRatio:T}=C,k=(h?s/T:s*T)/t.ONE_EM,S=ne(b,w,A,l),I=C.signedDistanceFromCamera>0?ae(k,o,n.lineOffsetX*k,n.lineOffsetY*k,!1,S,x,n,r,l,{},_&&!h?v:null,h&&!!_,y,m,h):null;let M=!1,P=!1,L=!0;if(I&&!C.occluded){const e=.5*d*T+f,n=new t.Point(-100,-100),r=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),o=new Yt,{first:s,last:a}=I,l=s.path.length;let h=[];for(let t=l-1;t>=1;t--)h.push(s.path[t]);for(let t=1;t(v&&!E&&(i=v(nt[3]<=0))&&(h=[]));let _=[];if(h.length>0){let e=1/0,i=-1/0,o=1/0,s=-1/0;for(const t of h)e=Math.min(e,t[0]),o=Math.min(o,t[1]),i=Math.max(i,t[0]),s=Math.max(s,t[1]);i>=n.x&&e<=r.x&&s>=n.y&&o<=r.y&&(_=[h.map((e=>new t.Point(e[0],e[1])))],(er.x||or.y)&&(_=t.clipLine(_,n.x,n.y,r.x,r.y)))}for(const t of _){o.reset(t,.25*e);let n=0;n=o.length<=.5*e?1:Math.ceil(o.paddedLength/m)+1;for(let t=0;t0){if(t.transformMat4$1(l,l,e),this.fogState&&o&&"globe"!==a.name){const e=function(e,i,n,r,o,s){const a=s.calculateFogTileMatrix(o),l=[i,n,r];return t.transformMat4(l,l,a),C(e,l,s.pitch,s._fov)}(this.fogState,i,n,r,o.toUnwrapped(),this.transform);c=e>.9}}else fe(l,l,e);const u=l[3];return{point:new t.Point((l[0]/u+1)/2*this.transform.width+me,(-l[1]/u+1)/2*this.transform.height+me),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/u*.5,1.5),signedDistanceFromCamera:u,occluded:s&&l[2]>u||c}}isOffscreen(t,e,i,n){return i=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(t,e,i,n){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function Te(e,i,n,r,o){const{horizontalAlign:s,verticalAlign:a}=t.getAnchorAlignment(e),l=-(s-.5)*i,c=-(a-.5)*n,u=t.evaluateVariableOffset(e,r);return new t.Point(l+u[0]*o,c+u[1]*o)}function ke(e,i,n,r,o){const s=new t.Point(e,i);return n&&s._rotate(r?o:-o),s}class Se{constructor(t,e,i,n,r){this.transform=t.clone(),this.projection=t.projection.name,this.collisionIndex=new ge(this.transform,r),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new Ce(i),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,i,n,r){const o=n.getBucket(i),s=n.latestFeatureIndex;if(!o||!s||i.id!==o.layerIds[0])return;const a=o.layers[0].layout,l=n.collisionBoxArray,c=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),u=n.tileSize/t.EXTENT,h=n.tileID.toUnwrapped();this.transform.setProjection(o.projection);const p=(d=n.tileID,f=o.getProjection(),m=this.transform,f.name===this.projection?m.calculateProjMatrix(d.toUnwrapped()):_e(m,f,d));var d,f,m;const g="map"===a.get("text-pitch-alignment"),_="map"===a.get("text-rotation-alignment");i.compileFilter();const y=i.dynamicFilter(),v=i.dynamicFilterNeedsFeature(),x=this.transform.calculatePixelsToTileUnitsMatrix(n),b=ee(p,n.tileID.canonical,g,_,this.transform,o.getProjection(),x);let w=null;if(g){const e=ie(p,n.tileID.canonical,g,_,this.transform,o.getProjection(),x);w=t.multiply([],this.transform.labelPlaneMatrix,e)}let A=null;y&&n.latestFeatureIndex&&(A={unwrappedTileID:h,dynamicFilter:y,dynamicFilterNeedsFeature:v,featureIndex:n.latestFeatureIndex}),this.retainedQueryData[o.bucketInstanceId]=new Ee(o.bucketInstanceId,s,o.sourceLayerIndex,o.index,n.tileID);const E={bucket:o,layout:a,posMatrix:p,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:A,scale:c,textPixelRatio:u,holdingForFade:n.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(o.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:t.evaluateSizeForZoom(o.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(r)for(const t of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:n,symbolInstanceEnd:r}=t;e.push({sortKey:i,symbolInstanceStart:n,symbolInstanceEnd:r,parameters:E})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:E})}attemptAnchorPlacement(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g,_){const{textOffset0:y,textOffset1:v,crossTileID:x}=h,b=[y,v],w=Te(t,i,n,b,r),A=this.collisionIndex.placeCollisionBox(d,r,e,ke(w.x,w.y,o,s,this.transform.angle),u,a,l,c.predicate);if(m){const t=d.getSymbolInstanceIconSize(_,this.transform.zoom,h.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(d,t,m,ke(w.x,w.y,o,s,this.transform.angle),u,a,l,c.predicate).box.length)return}if(A.box.length>0){let e;return this.prevPlacement&&this.prevPlacement.variableOffsets[x]&&this.prevPlacement.placements[x]&&this.prevPlacement.placements[x].text&&(e=this.prevPlacement.variableOffsets[x].anchor),this.variableOffsets[x]={textOffset:b,width:i,height:n,anchor:t,textScale:r,prevAnchor:e},this.markUsedJustification(d,t,h,f),d.allowVerticalPlacement&&(this.markUsedOrientation(d,f,h),this.placedOrientations[x]=f),{shift:w,placedGlyphBoxes:A}}}placeLayerBucketPart(e,i,n,r){const{bucket:o,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:u,textPixelRatio:h,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:f,partiallyEvaluatedIconSize:m,collisionGroup:g}=e.parameters,_=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),w="map"===s.get("text-pitch-alignment"),A="none"!==s.get("icon-text-fit"),E="viewport-y"===s.get("symbol-z-order");this.transform.setProjection(o.projection);let C=v&&(x||!o.hasIconData()||y),T=x&&(v||!o.hasTextData()||_);!o.collisionArrays&&d&&o.deserializeCollisionBoxes(d),n&&r&&o.updateCollisionDebugBuffers(this.transform.zoom,d);const k=(e,r,d)=>{const{crossTileID:E,numVerticalGlyphVertices:k}=e;if(u){const n={zoom:this.transform.zoom,pitch:this.transform.pitch};let r=null;if(u.dynamicFilterNeedsFeature){const t=this.retainedQueryData[o.bucketInstanceId];r=u.featureIndex.loadFeature({featureIndex:e.featureIndex,bucketIndex:t.bucketIndex,sourceLayerIndex:t.sourceLayerIndex,layoutVertexArrayOffset:0})}if(!(0,u.dynamicFilter)(n,r,this.retainedQueryData[o.bucketInstanceId].tileID.canonical,new t.Point(e.tileAnchorX,e.tileAnchorY),this.transform.calculateDistanceTileData(u.unwrappedTileID)))return this.placements[E]=new we(!1,!1,!1,!0),void i.add(E)}if(i.has(E))return;if(p)return void(this.placements[E]=new we(!1,!1,!1));let S=!1,I=!1,M=!0,P=!1,L=!1,z=null,D={box:null,offscreen:null,occluded:null},R={box:null,offscreen:null,occluded:null},O=null,B=null,N=null,F=0,U=0,j=0;d.textFeatureIndex?F=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(F=e.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);const V=t=>{t.tileID=this.retainedQueryData[o.bucketInstanceId].tileID;const e=this.transform.elevation;(e||t.elevation)&&(t.elevation=e?e.getAtTileOffset(t.tileID,t.tileAnchorX,t.tileAnchorY):0)},G=d.textBox;if(G){V(G);const i=i=>{let n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[E];t&&(this.placedOrientations[E]=t,n=t,this.markUsedOrientation(o,n,e))}return n},n=(e,i)=>{if(o.allowVerticalPlacement&&k>0&&d.verticalTextBox){for(const n of o.writingModes)if(n===t.WritingMode.vertical?(D=i(),R=D):D=e(),D&&D.box&&D.box.length)break}else D=e()};if(s.get("text-variable-anchor")){let l=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[E]){const t=this.prevPlacement.variableOffsets[E];l.indexOf(t.anchor)>0&&(l=l.filter((e=>e!==t.anchor)),l.unshift(t.anchor))}const c=(t,i,n)=>{const s=o.getSymbolInstanceTextSize(f,e,this.transform.zoom,r),c=(t.x2-t.x1)*s+2*t.padding,u=(t.y2-t.y1)*s+2*t.padding,p=A&&!x?i:null;p&&V(p);let d={box:[],offscreen:!1,occluded:!1};const _=v?2*l.length:l.length;for(let i=0;i<_;++i){const _=this.attemptAnchorPlacement(l[i%l.length],t,c,u,s,b,w,h,a,g,i>=l.length,e,r,o,n,p,f,m);if(_&&(d=_.placedGlyphBoxes,d&&d.box&&d.box.length)){S=!0,z=_.shift;break}}return d};n((()=>c(G,d.iconBox,t.WritingMode.horizontal)),(()=>{const e=d.verticalTextBox;return e&&V(e),o.allowVerticalPlacement&&!(D&&D.box&&D.box.length)&&k>0&&e?c(e,d.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null,occluded:null}})),D&&(S=D.box,M=D.offscreen,P=D.occluded);const u=i(!(!D||!D.box));if(!S&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[E];t&&(this.variableOffsets[E]=t,this.markUsedJustification(o,t.anchor,e,u))}}else{const s=(i,n)=>{const s=o.getSymbolInstanceTextSize(f,e,this.transform.zoom,r),l=this.collisionIndex.placeCollisionBox(o,s,i,new t.Point(0,0),v,h,a,g.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(o,n,e),this.placedOrientations[E]=n),l};n((()=>s(G,t.WritingMode.horizontal)),(()=>{const e=d.verticalTextBox;return o.allowVerticalPlacement&&k>0&&e?(V(e),s(e,t.WritingMode.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(D&&D.box&&D.box.length))}}if(O=D,S=O&&O.box&&O.box.length>0,M=O&&O.offscreen,P=O&&O.occluded,e.useRuntimeCollisionCircles){const i=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex>=0?e.centerJustifiedTextSymbolIndex:e.verticalPlacedTextSymbolIndex),r=t.evaluateSizeForFeature(o.textSizeData,f,i),u=s.get("text-padding");B=this.collisionIndex.placeCollisionCircles(o,v,i,o.lineVertexArray,o.glyphOffsetArray,r,a,l,c,n,w,g.predicate,e.collisionCircleDiameter*r/t.ONE_EM,u,this.retainedQueryData[o.bucketInstanceId].tileID),S=v||B.circles.length>0&&!B.collisionDetected,M=M&&B.offscreen,P=B.occluded}if(d.iconFeatureIndex&&(j=d.iconFeatureIndex),d.iconBox){const i=i=>{V(i);const n=A&&z?ke(z.x,z.y,b,w,this.transform.angle):new t.Point(0,0),r=o.getSymbolInstanceIconSize(m,this.transform.zoom,e.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(o,r,i,n,x,h,a,g.predicate)};R&&R.box&&R.box.length&&d.verticalIconBox?(N=i(d.verticalIconBox),I=N.box.length>0):(N=i(d.iconBox),I=N.box.length>0),M=M&&N.offscreen,L=N.occluded}const q=_||0===e.numHorizontalGlyphVertices&&0===k,Z=y||0===e.numIconVertices;if(q||Z?Z?q||(I=I&&S):S=I&&S:I=S=I&&S,S&&O&&O.box&&this.collisionIndex.insertCollisionBox(O.box,s.get("text-ignore-placement"),o.bucketInstanceId,R&&R.box&&U?U:F,g.ID),I&&N&&this.collisionIndex.insertCollisionBox(N.box,s.get("icon-ignore-placement"),o.bucketInstanceId,j,g.ID),B&&(S&&this.collisionIndex.insertCollisionCircles(B.circles,s.get("text-ignore-placement"),o.bucketInstanceId,F,g.ID),n)){const t=o.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new Ae);for(let t=0;t=0;--e){const i=t[e];k(o.symbolInstances.get(i),i,o.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(o).crossTileID=h>=0&&o!==h?0:c),s>=0&&(e.text.placedSymbolArray.get(s).crossTileID=h>=0&&s!==h?0:c),a>=0&&(e.text.placedSymbolArray.get(a).crossTileID=h>=0&&a!==h?0:c),l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=h>=0&&l!==h?0:c)}markUsedOrientation(e,i,n){const r=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,o=i===t.WritingMode.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=n,u=e.text.placedSymbolArray;s>=0&&(u.get(s).placedOrientation=r),a>=0&&(u.get(a).placedOrientation=r),l>=0&&(u.get(l).placedOrientation=r),c>=0&&(u.get(c).placedOrientation=o)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const n=e?e.symbolFadeChange(t):1,r=e?e.opacities:{},o=e?e.variableOffsets:{},s=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=r[t];o?(this.opacities[t]=new be(o,n,e.text,e.icon,null,e.clipped),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new be(null,n,e.text,e.icon,e.skipFade,e.clipped),i=i||e.text||e.icon)}for(const t in r){const e=r[t];if(!this.opacities[t]){const r=new be(e,n,!1,!1);r.isHidden()||(this.opacities[t]=r,i=i||e.text.placed||e.icon.placed)}}for(const t in o)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=o[t]);for(const t in s)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=s[t]);i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i=new Set;for(const n of e){const e=n.getBucket(t);e&&n.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,n.collisionBoxArray)}}updateBucketOpacities(e,i,n){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const r=e.layers[0].layout,o=!!e.layers[0].dynamicFilter(),s=new be(null,0,!1,!1,!0),a=r.get("text-allow-overlap"),l=r.get("icon-allow-overlap"),c=r.get("text-variable-anchor"),u="map"===r.get("text-rotation-alignment"),h="map"===r.get("text-pitch-alignment"),p="none"!==r.get("icon-text-fit"),d=new be(null,0,a&&(l||!e.hasIconData()||r.get("icon-optional")),l&&(a||!e.hasTextData()||r.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);const f=(t,e,i)=>{for(let n=0;n0||l>0,b=_>0,w=this.placedOrientations[g],A=w===t.WritingMode.vertical,E=w===t.WritingMode.horizontal||w===t.WritingMode.horizontalOnly;if(!x&&!b||v.isHidden()||m++,x){const t=Be(v.text);f(e.text,a,A?Ne:t),f(e.text,l,E?Ne:t);const i=v.text.isHidden(),{leftJustifiedTextSymbolIndex:n,centerJustifiedTextSymbolIndex:o,rightJustifiedTextSymbolIndex:s,verticalPlacedTextSymbolIndex:c}=r,u=e.text.placedSymbolArray,h=i||A?1:0;n>=0&&(u.get(n).hidden=h),o>=0&&(u.get(o).hidden=h),s>=0&&(u.get(s).hidden=h),c>=0&&(u.get(c).hidden=i||E?1:0);const p=this.variableOffsets[g];p&&this.markUsedJustification(e,p.anchor,r,w);const d=this.placedOrientations[g];d&&(this.markUsedJustification(e,"left",r,d),this.markUsedOrientation(e,d,r))}if(b){const t=Be(v.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:n}=r,o=e.icon.placedSymbolArray,s=v.icon.isHidden()?1:0;i>=0&&(f(e.icon,_,A?Ne:t),o.get(i).hidden=s),n>=0&&(f(e.icon,r.numVerticalIconVertices,E?Ne:t),o.get(n).hidden=s)}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[n];if(i){let n=new t.Point(0,0),r=!0;if(i.textBox||i.verticalTextBox){if(c){const t=this.variableOffsets[g];t?(n=Te(t.anchor,t.width,t.height,t.textOffset,t.textScale),u&&n._rotate(h?this.transform.angle:-this.transform.angle)):r=!1}o&&(r=!v.clipped),i.textBox&&Ie(e.textCollisionBox.collisionVertexArray,v.text.placed,!r||A,n.x,n.y),i.verticalTextBox&&Ie(e.textCollisionBox.collisionVertexArray,v.text.placed,!r||E,n.x,n.y)}const s=r&&Boolean(!E&&i.verticalIconBox);i.iconBox&&Ie(e.iconCollisionBox.collisionVertexArray,v.icon.placed,s,p?n.x:0,p?n.y:0),i.verticalIconBox&&Ie(e.iconCollisionBox.collisionVertexArray,v.icon.placed,!s,p?n.x:0,p?n.y:0)}}}if(e.fullyClipped=0===m,e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Ie(t,e,i,n,r){t.emplaceBack(e?1:0,i?1:0,n||0,r||0),t.emplaceBack(e?1:0,i?1:0,n||0,r||0),t.emplaceBack(e?1:0,i?1:0,n||0,r||0),t.emplaceBack(e?1:0,i?1:0,n||0,r||0)}const Me=Math.pow(2,25),Pe=Math.pow(2,24),Le=Math.pow(2,17),ze=Math.pow(2,16),De=Math.pow(2,9),Re=Math.pow(2,8),Oe=Math.pow(2,1);function Be(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Me+e*Pe+i*Le+e*ze+i*De+e*Re+i*Oe+e}const Ne=0;class Fe{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[]}continuePlacement(t,e,i,n,r){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-r;return!this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],r=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=r)&&(!t.maxzoom||t.maxzoom>r)){if(this._inProgressLayer||(this._inProgressLayer=new Fe(t)),this._inProgressLayer.continuePlacement(n[t.source],this.placement,this._showCollisionBoxes,t,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const je=512/t.EXTENT/2;class Ve{constructor(e,i,n){this.tileID=e,this.bucketInstanceId=n,this.index=new t.KDBush(i.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const r=e.canonical.x*t.EXTENT,o=e.canonical.y*t.EXTENT;for(let t=0;tt.overscaledZ)for(const i in r){const o=r[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,n)}else{const o=r[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,n)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}const $e=(e,i)=>t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),Xe=t.pick(Vt,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setTerrain","setFog","setProjection"]),We=t.pick(Vt,["setCenter","setZoom","setBearing","setPitch"]),He={version:8,layers:[],sources:{}},Ye={fill:!0,line:!0,background:!0,hillshade:!0,raster:!0};class Ke extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new I(Ft(),this),this.imageManager=new x,this.imageManager.setEventedParent(this),this.glyphManager=new t.GlyphManager(e._requestManager,i.localFontFamily?t.LocalGlyphMode.all:i.localIdeographFontFamily?t.LocalGlyphMode.ideographs:t.LocalGlyphMode.none,i.localFontFamily||i.localIdeographFontFamily),this.crossTileSymbolIndex=new Ze,this._layers={},this._num3DLayers=0,this._numSymbolLayers=0,this._numCircleLayers=0,this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._availableImages=[],this._order=[],this._drapedFirstOrder=[],this._markersNeedUpdate=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());const n=this;this._rtlTextPluginCallback=Ke.registerForPluginStateChange((e=>{n.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in n._sourceCaches){const e=n._sourceCaches[t],i=e.getSource().type;"vector"!==i&&"geojson"!==i||e.reload()}}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.getSource(t.sourceId);if(e&&e.vectorLayerIds)for(const t in this._layers){const i=this._layers[t];i.source===e.id&&this._validateLayer(i)}}))}loadURL(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"}));const n="boolean"==typeof i.validate?i.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,i.accessToken);const r=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(r,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,n)}))}loadJSON(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(He,!1)}_updateLayerCount(t,e){const i=e?1:-1;t.is3D()&&(this._num3DLayers+=i),"circle"===t.type&&(this._numCircleLayers+=i),"symbol"===t.type&&(this._numSymbolLayers+=i)}_load(e,i){if(i&&$e(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=t.clone$1(e),this._updateMapProjection();for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});this._changed=!1,e.sprite?this._loadSprite(e.sprite):(this.imageManager.setLoaded(!0),this.dispatcher.broadcast("spriteLoaded",!0)),this.glyphManager.setURL(e.glyphs);const n=jt(this.stylesheet.layers);this._order=n.map((t=>t.id)),this._layers={},this._serializedLayers={};for(const e of n){const i=t.createStyleLayer(e);i.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=i,this._serializedLayers[i.id]=i.serialize(),this._updateLayerCount(i,!0)}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.stylesheet.terrain&&!this.terrainSetForDrapingOnly()&&this._createTerrain(this.stylesheet.terrain,1),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this._updateDrapeFirstLayers(),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}terrainSetForDrapingOnly(){return!!this.terrain&&0===this.terrain.drapeRenderMode}setProjection(t){t?this.stylesheet.projection=t:delete this.stylesheet.projection,this._updateMapProjection()}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast("setProjection",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?this.getTerrain()||this.stylesheet.terrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null))}_updateMapProjection(){this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.stylesheet.projection)}_loadSprite(e){this._spriteRequest=function(e,i,n){let r,o,s;const a=t.exported.devicePixelRatio>1?"@2x":"";let l=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,a,".json"),t.ResourceType.SpriteJSON),((t,e)=>{l=null,s||(s=t,r=e,u())})),c=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,a,".png"),t.ResourceType.SpriteImage),((t,e)=>{c=null,s||(s=t,o=e,u())}));function u(){if(s)n(s);else if(r&&o){const e=t.exported.getImageData(o),i={};for(const n in r){const{width:o,height:s,x:a,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:p,content:d}=r[n],f=new t.RGBAImage({width:o,height:s});t.RGBAImage.copy(e,f,{x:a,y:l},{x:0,y:0},{width:o,height:s}),i[n]={data:f,pixelRatio:u,sdf:c,stretchX:h,stretchY:p,content:d}}n(null,i)}}return{cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.dispatcher.broadcast("spriteLoaded",!0),this.fire(new t.Event("data",{dataType:"style"}))}))}_validateLayer(e){const i=this.getSource(e.source);if(!i)return;const n=e.sourceLayer;n&&("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${e.id}"`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this._sourceCaches)if(!this._sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];"custom"!==t.type&&e.push(t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.fog&&this.fog.hasTransition())return!0;for(const t in this._sourceCaches)if(this._sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}get order(){return this.map._optimizeForTerrain&&this.terrain?this._drapedFirstOrder:this._order}isLayerDraped(t){return!!this.terrain&&("function"==typeof t.isLayerDraped?t.isLayerDraped():Ye[t.type])}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];"reload"===e?this._reloadSource(t):"clear"===e&&this._clearSource(t)}this._updateTilesForChangedImages();for(const t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.fog&&this.fog.updateTransitions(e),this._resetUpdates()}const n={};for(const t in this._sourceCaches){const e=this._sourceCaches[t];n[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];if(i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)){const t=this._getLayerSourceCache(i);t&&(t.used=!0)}const n=this.map.painter;if(n){const t=i.getProgramIds();if(!t)continue;const r=i.getProgramConfiguration(e.zoom);for(const e of t)n.useProgram(e,r)}}for(const e in n){const i=this._sourceCaches[e];n[e]!==i.used&&i.getSource().fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:i.getSource().id}))}this.light.recalculate(e),this.terrain&&this.terrain.recalculate(e),this.fog&&this.fog.recalculate(e),this.z=e.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this._sourceCaches)this._sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setState(i){if(this._checkLoaded(),$e(this,t.validateStyle(i)))return!1;(i=t.clone$1(i)).layers=jt(i.layers);const n=function(t,i){if(!t)return[{command:Vt.setStyle,args:[i]}];let n=[];try{if(!e(t.version,i.version))return[{command:Vt.setStyle,args:[i]}];e(t.center,i.center)||n.push({command:Vt.setCenter,args:[i.center]}),e(t.zoom,i.zoom)||n.push({command:Vt.setZoom,args:[i.zoom]}),e(t.bearing,i.bearing)||n.push({command:Vt.setBearing,args:[i.bearing]}),e(t.pitch,i.pitch)||n.push({command:Vt.setPitch,args:[i.pitch]}),e(t.sprite,i.sprite)||n.push({command:Vt.setSprite,args:[i.sprite]}),e(t.glyphs,i.glyphs)||n.push({command:Vt.setGlyphs,args:[i.glyphs]}),e(t.transition,i.transition)||n.push({command:Vt.setTransition,args:[i.transition]}),e(t.light,i.light)||n.push({command:Vt.setLight,args:[i.light]}),e(t.fog,i.fog)||n.push({command:Vt.setFog,args:[i.fog]}),e(t.projection,i.projection)||n.push({command:Vt.setProjection,args:[i.projection]});const r={},o=[];!function(t,i,n,r){let o;for(o in i=i||{},t=t||{})t.hasOwnProperty(o)&&(i.hasOwnProperty(o)||qt(o,n,r));for(o in i){if(!i.hasOwnProperty(o))continue;const s=i[o];t.hasOwnProperty(o)?e(t[o],s)||("geojson"===t[o].type&&"geojson"===s.type&&$t(t,i,o)?n.push({command:Vt.setGeoJSONSourceData,args:[o,s.data]}):Zt(o,i,n,r)):Gt(o,i,n)}}(t.sources,i.sources,o,r);const s=[];t.layers&&t.layers.forEach((t=>{t.source&&r[t.source]?n.push({command:Vt.removeLayer,args:[t.id]}):s.push(t)}));let a=t.terrain;a&&r[a.source]&&(n.push({command:Vt.setTerrain,args:[void 0]}),a=void 0),n=n.concat(o),e(a,i.terrain)||n.push({command:Vt.setTerrain,args:[i.terrain]}),function(t,i,n){i=i||[];const r=(t=t||[]).map(Wt),o=i.map(Wt),s=t.reduce(Ht,{}),a=i.reduce(Ht,{}),l=r.slice(),c=Object.create(null);let u,h,p,d,f,m,g;for(u=0,h=0;u!(t.command in We)));if(0===n.length)return!1;const r=n.filter((t=>!(t.command in Xe)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((t=>t.command)).join(", ")}.`);return n.forEach((t=>{"setTransition"!==t.command&&"setProjection"!==t.command&&this[t.command].apply(this,t.args)})),this.stylesheet=i,this._updateMapProjection(),!0}addImage(e,i){return this.getImage(e)?this.fire(new t.ErrorEvent(new Error("An image with this name already exists."))):(this.imageManager.addImage(e,i),this._afterImageUpdated(e),this)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){return this.getImage(e)?(this.imageManager.removeImage(e),this._afterImageUpdated(e),this):this.fire(new t.ErrorEvent(new Error("No image with this name exists.")))}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this._availableImages.slice()}addSource(e,i,n={}){if(this._checkLoaded(),void 0!==this.getSource(e))throw new Error("There is already a source with this ID");if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(t.validateSource,`sources.${e}`,i,null,n))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const r=Mt(e,i,this.dispatcher,this);r.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(e),source:r.serialize(),sourceId:e})));const o=i=>{const n=(i?"symbol:":"other:")+e,o=this._sourceCaches[n]=new t.SourceCache(n,r,i);(i?this._symbolSourceCaches:this._otherSourceCaches)[e]=o,o.style=this,o.onAdd(this.map)};o(!1),"vector"!==i.type&&"geojson"!==i.type||o(!0),r.onAdd&&r.onAdd(this.map),this._changed=!0}removeSource(e){this._checkLoaded();const i=this.getSource(e);if(!i)throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while layer "${i}" is using it.`)));if(this.terrain&&this.terrain.get().source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while terrain is using it.`)));const n=this._getSourceCaches(e);for(const e of n)delete this._sourceCaches[e.id],delete this._updatedSources[e.id],e.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e.getSource().id})),e.setEventedParent(null),e.clearTiles();return delete this._otherSourceCaches[e],delete this._symbolSourceCaches[e],i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changed=!0,this}setGeoJSONSourceData(t,e){this._checkLoaded(),this.getSource(t).setData(e),this._changed=!0}getSource(t){const e=this._getSourceCache(t);return e&&e.getSource()}_getSources(){const t=[];for(const e in this._otherSourceCaches){const i=this._getSourceCache(e);i&&t.push(i.getSource())}return t}addLayer(e,i,n={}){this._checkLoaded();const r=e.id;if(this.getLayer(r))return void this.fire(new t.ErrorEvent(new Error(`Layer with id "${r}" already exists on this map`)));let o;if("custom"===e.type){if($e(this,t.validateCustomStyleLayer(e)))return;o=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(r,e.source),e=t.clone$1(e),e=t.extend(e,{source:r})),this._validate(t.validateLayer,`layers.${r}`,e,{arrayIndex:-1},n))return;o=t.createStyleLayer(e),this._validateLayer(o),o.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[o.id]=o.serialize(),this._updateLayerCount(o,!0)}const s=i?this._order.indexOf(i):this._order.length;if(i&&-1===s)return void this.fire(new t.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`)));this._order.splice(s,0,r),this._layerOrderChanged=!0,this._layers[r]=o;const a=this._getLayerSourceCache(o);if(this._removedLayers[r]&&o.source&&a&&"custom"!==o.type){const t=this._removedLayers[r];delete this._removedLayers[r],t.type!==o.type?this._updatedSources[o.source]="clear":(this._updatedSources[o.source]="reload",a.pause())}this._updateLayer(o),o.onAdd&&o.onAdd(this.map),this._updateDrapeFirstLayers()}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const n=this._order.indexOf(e);this._order.splice(n,1);const r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new t.ErrorEvent(new Error(`Layer with id "${i}" does not exist on this map.`))):(this._order.splice(r,0,e),this._layerOrderChanged=!0,this._updateDrapeFirstLayers())}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be removed.`)));i.setEventedParent(null),this._updateLayerCount(i,!1);const n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map),this._updateDrapeFirstLayers()}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}hasLayerType(t){for(const e in this._layers)if(this._layers[e].type===t)return!0;return!1}setLayerZoomRange(e,i,n){this._checkLoaded();const r=this.getLayer(e);r?r.minzoom===i&&r.maxzoom===n||(null!=i&&(r.minzoom=i),null!=n&&(r.maxzoom=n),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot have zoom extent.`)))}setFilter(i,n,r={}){this._checkLoaded();const o=this.getLayer(i);if(o){if(!e(o.filter,n))return null==n?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(t.validateFilter,`layers.${o.id}.filter`,n,{layerType:o.type},r)||(o.filter=t.clone$1(n),this._updateLayer(o)))}else this.fire(new t.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be filtered.`)))}getFilter(e){const i=this.getLayer(e);return i&&t.clone$1(i.filter)}setLayoutProperty(i,n,r,o={}){this._checkLoaded();const s=this.getLayer(i);s?e(s.getLayoutProperty(n),r)||(s.setLayoutProperty(n,r,o),this._updateLayer(s)):this.fire(new t.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)))}getLayoutProperty(e,i){const n=this.getLayer(e);if(n)return n.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style.`)))}setPaintProperty(i,n,r,o={}){this._checkLoaded();const s=this.getLayer(i);s?e(s.getPaintProperty(n),r)||(s.setPaintProperty(n,r,o)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[i]=!0):this.fire(new t.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)))}getPaintProperty(t,e){const i=this.getLayer(t);return i&&i.getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const n=e.source,r=e.sourceLayer,o=this.getSource(n);if(!o)return void this.fire(new t.ErrorEvent(new Error(`The source '${n}' does not exist in the map's style.`)));const s=o.type;if("geojson"===s&&r)return void this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));if("vector"===s&&!r)return void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided.")));const a=this._getSourceCaches(n);for(const t of a)t.setFeatureState(r,e.id,i)}removeFeatureState(e,i){this._checkLoaded();const n=e.source,r=this.getSource(n);if(!r)return void this.fire(new t.ErrorEvent(new Error(`The source '${n}' does not exist in the map's style.`)));const o=r.type,s="vector"===o?e.sourceLayer:void 0;if("vector"===o&&!s)return void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));if(i&&"string"!=typeof e.id&&"number"!=typeof e.id)return void this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));const a=this._getSourceCaches(n);for(const t of a)t.removeFeatureState(s,e.id,i)}getFeatureState(e){this._checkLoaded();const i=e.source,n=e.sourceLayer,r=this.getSource(i);if(r){if("vector"!==r.type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),this._getSourceCaches(i)[0].getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){const e={};for(const t in this._sourceCaches){const i=this._sourceCaches[t].getSource();e[i.id]||(e[i.id]=i.serialize())}return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,terrain:this.getTerrain()||void 0,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:e,layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0;const e=this._getLayerSourceCache(t);t.source&&!this._updatedSources[t.source]&&e&&"raster"!==e.getSource().type&&(this._updatedSources[t.source]="reload",e.pause()),this._changed=!0,t.invalidateCompiledFilter()}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},n=[];for(let r=this._order.length-1;r>=0;r--){const o=this._order[r];if(e(o)){i[o]=r;for(const e of t){const t=e[o];if(t)for(const e of t)n.push(e)}}}n.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const r=[];for(let o=this._order.length-1;o>=0;o--){const s=this._order[o];if(e(s))for(let t=n.length-1;t>=0;t--){const e=n[t].feature;if(i[e.layer.id]{const e=this.getLayer(t);return e&&e.is3D()})):this.has3DLayers(),a=P.createFromScreenPoints(e,n);for(const t in this._sourceCaches){const e=this._sourceCaches[t].getSource().id;i.layers&&!r[e]||o.push(Lt(this._sourceCaches[t],this._layers,this._serializedLayers,a,i,n,s,!!this.map._showQueryGeometry))}return this.placement&&o.push(function(t,e,i,n,r,o,s){const a={},l=o.queryRenderedSymbols(n),c=[];for(const t of Object.keys(l).map(Number))c.push(s[t]);c.sort(Dt);for(const i of c){const n=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],e,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,t);for(const t in n){const e=a[t]=a[t]||[],r=n[t];r.sort(((t,e)=>{const n=i.featureSortOrder;if(n){const i=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of r)e.push(t)}}for(const e in a)a[e].forEach((n=>{const r=n.feature,o=i(t[e]);if(!o)return;const s=o.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=s}));return a}(this._layers,this._serializedLayers,this._getLayerSourceCache.bind(this),a.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateFilter,"querySourceFeatures.filter",i.filter,null,i);const n=this._getSourceCaches(e);let r=[];for(const t of n)r=r.concat(zt(t,i));return r}addSourceType(t,e,i){return Ke.getSourceType(t)?i(new Error(`A source type called "${t}" already exists.`)):(Ke.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(t,i={}){this._checkLoaded();const n=this.light.getLight();let r=!1;for(const i in t)if(!e(t[i],n[i])){r=!0;break}if(!r)return;const o=this._setTransitionParameters({duration:300,delay:0});this.light.setLight(t,i),this.light.updateTransitions(o)}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:"",exaggeration:0},0)}setTerrain(i,n=1){if(this._checkLoaded(),!i)return delete this.terrain,delete this.stylesheet.terrain,this.dispatcher.broadcast("enableTerrain",!1),this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let r=i;if(1===n){if("object"==typeof r.source){const e="terrain-dem-src";this.addSource(e,r.source),r=t.clone$1(r),r=t.extend(r,{source:e})}if(this._validate(t.validateTerrain,"terrain",r))return}if(!this.terrain||this.terrain&&n!==this.terrain.drapeRenderMode){if(!r)return;this._createTerrain(r,n)}else{const i=this.terrain,n=i.get();for(const e of Object.keys(t.spec.terrain))!r.hasOwnProperty(e)&&t.spec.terrain[e].default&&(r[e]=t.spec.terrain[e].default);for(const t in r)if(!e(r[t],n[t])){i.set(r),this.stylesheet.terrain=r;const t=this._setTransitionParameters({duration:0});i.updateTransitions(t);break}}this._updateDrapeFirstLayers(),this._markersNeedUpdate=!0}_createFog(t){const e=this.fog=new S(t,this.map.transform);this.stylesheet.fog=t;const i=this._setTransitionParameters({duration:0});e.updateTransitions(i)}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const t of this.map._markers)t._evaluateOpacity()}))}getFog(){return this.fog?this.fog.get():null}setFog(t){if(this._checkLoaded(),!t)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog,n=i.get();0===Object.keys(t).length&&i.set(t);for(const r in t)if(!e(t[r],n[r])){i.set(t),this.stylesheet.fog=t;const e=this._setTransitionParameters({duration:0});i.updateTransitions(e);break}}else this._createFog(t);this._markersNeedUpdate=!0}_setTransitionParameters(e){return{now:t.exported.now(),transition:t.extend(e,this.stylesheet.transition)}}_updateDrapeFirstLayers(){if(!this.map._optimizeForTerrain||!this.terrain)return;const t=this._order.filter((t=>this.isLayerDraped(this._layers[t]))),e=this._order.filter((t=>!this.isLayerDraped(this._layers[t])));this._drapedFirstOrder=[],this._drapedFirstOrder.push(...t),this._drapedFirstOrder.push(...e)}_createTerrain(t,e){const i=this.terrain=new E(t,e);this.stylesheet.terrain=t,this.dispatcher.broadcast("enableTerrain",!this.terrainSetForDrapingOnly()),this._force3DLayerUpdate();const n=this._setTransitionParameters({duration:0});i.updateTransitions(n)}_force3DLayerUpdate(){for(const t in this._layers){const e=this._layers[t];"fill-extrusion"===e.type&&this._updateLayer(e)}}_forceSymbolLayerUpdate(){for(const t in this._layers){const e=this._layers[t];"symbol"===e.type&&this._updateLayer(e)}}_validate(e,i,n,r,o={}){return(!o||!1!==o.validate)&&$e(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:n,styleSpec:t.spec},r)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback);for(const t in this._layers)this._layers[t].setEventedParent(null);for(const t in this._sourceCaches)this._sourceCaches[t].clearTiles(),this._sourceCaches[t].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()}_clearSource(t){const e=this._getSourceCaches(t);for(const t of e)t.clearTiles()}_reloadSource(t){const e=this._getSourceCaches(t);for(const t of e)t.resume(),t.reload()}_reloadSources(){for(const t of this._getSources())t.reload&&t.reload()}_updateSources(t){for(const e in this._sourceCaches)this._sourceCaches[e].update(t)}_generateCollisionBoxes(){for(const t in this._sourceCaches){const e=this._sourceCaches[t];e.resume(),e.reload()}}_updatePlacement(e,i,n,r,o=!1){let s=!1,a=!1;const l={};for(const t of this._order){const i=this._layers[t];if("symbol"!==i.type)continue;if(!l[i.source]){const t=this._getLayerSourceCache(i);if(!t)continue;l[i.source]=t.getRenderableIds(!0).map((e=>t.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const n=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng,e.projection);s=s||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),o=o||this._layerOrderChanged||0===n,this._layerOrderChanged&&this.fire(new t.Event("neworder")),(o||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Ue(e,this._order,o,i,n,r,this.placement,this.fog&&e.projection.supportsFog?this.fog.state:null),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.exported.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this._sourceCaches)this._sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const n=t=>{t&&t.setDependencies(e.tileID.key,e.type,e.icons)};n(this._otherSourceCaches[e.source]),n(this._symbolSourceCaches[e.source])}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i)}getResource(e,i,n){return t.makeRequest(i,n)}_getSourceCache(t){return this._otherSourceCaches[t]}_getLayerSourceCache(t){return"symbol"===t.type?this._symbolSourceCaches[t.source]:this._otherSourceCaches[t.source]}_getSourceCaches(t){const e=[];return this._otherSourceCaches[t]&&e.push(this._otherSourceCaches[t]),this._symbolSourceCaches[t]&&e.push(this._symbolSourceCaches[t]),e}_isSourceCacheLoaded(e){const i=this._getSourceCaches(e);return 0===i.length?(this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`))),!1):i.every((t=>t.loaded()))}has3DLayers(){return this._num3DLayers>0}hasSymbolLayers(){return this._numSymbolLayers>0}hasCircleLayers(){return this._numCircleLayers>0}_clearWorkerCaches(){this.dispatcher.broadcast("clearCaches")}destroy(){this._clearWorkerCaches(),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain)}}Ke.getSourceType=function(t){return It[t]},Ke.setSourceType=function(t,e){It[t]=e},Ke.registerForPluginStateChange=t.registerForPluginStateChange;var Je="\n#define EPSILON 0.0000001\n#define PI 3.141592653589793\n#define EXTENT 8192.0\n#define HALF_PI PI/2.0\n#define QUARTER_PI PI/4.0\n#define RAD_TO_DEG 180.0/PI\n#define DEG_TO_RAD PI/180.0\n#define GLOBE_RADIUS EXTENT/PI/2.0",Qe="attribute highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;varying highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}",ti="\n#define ELEVATION_SCALE 7.0\n#define ELEVATION_OFFSET 450.0\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\n#else\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\n#endif\nconst float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}\n#ifdef TERRAIN\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;\n#else\nuniform sampler2D u_dem;uniform sampler2D u_dem_prev;\n#endif\nuniform vec4 u_dem_unpack;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float decodeElevation(vec4 v) {return dot(vec4(v.xyz*255.0,-1.0),u_dem_unpack);}float currentElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem,pos));\n#ifdef TERRAIN_DEM_NEAREST_FILTER\nreturn u_exaggeration*tl;\n#endif\nfloat tr=decodeElevation(texture2D(u_dem,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}float prevElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem_prev,pos).a;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem_prev,pos));float tr=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem_prev,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}\n#ifdef TERRAIN_VERTEX_MORPHING\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\n#else\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nreturn currentElevation(apos);}\n#endif\nhighp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture2D(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\nunpack_depth(texture2D(u_depth,uv-df.xz)),unpack_depth(texture2D(u_depth,uv+df.xz)),unpack_depth(texture2D(u_depth,uv-df.zy)),unpack_depth(texture2D(u_depth,uv+df.zy))\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nfloat tl=texture2D(u_dem,pos).a;float tr=texture2D(u_dem,pos+vec2(off.x,0.0)).a;float bl=texture2D(u_dem,pos+vec2(0.0,off.y)).a;float br=texture2D(u_dem,pos+off).a;\n#else\nvec4 demtl=vec4(texture2D(u_dem,pos).xyz*255.0,-1.0);float tl=dot(demtl,u_dem_unpack);vec4 demtr=vec4(texture2D(u_dem,pos+vec2(off.x,0.0)).xyz*255.0,-1.0);float tr=dot(demtr,u_dem_unpack);vec4 dembl=vec4(texture2D(u_dem,pos+vec2(0.0,off.y)).xyz*255.0,-1.0);float bl=dot(dembl,u_dem_unpack);vec4 dembr=vec4(texture2D(u_dem,pos+off).xyz*255.0,-1.0);float br=dot(dembr,u_dem_unpack);\n#endif\nreturn vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\n#else\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\n#endif",ei="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;varying vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\n#endif",ii="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump float u_fog_temporal_offset;varying vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,opacity);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec3 fog_dither(vec3 color) {vec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\n#endif";let ni={},ri={};const oi=[];ui(Je,oi),ui(ti,oi),ui(ei,oi),ui(ii,oi),ni=hi("",ti),ri=hi(ii,ei);const si=hi("\n#if __VERSION__ >=300\n#define varying in\n#define gl_FragColor glFragColor\n#define texture2D texture\n#define textureCube texture\nout vec4 glFragColor;\n#endif\nhighp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}highp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}","\n#if __VERSION__ >=300\n#define attribute in\n#define varying out\n#define texture2D texture\n#endif\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\n#ifndef PROJECTED_POS_ON_VIEWPORT\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\n#else\nreturn vec3(0.0);\n#endif\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}const vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);//Normalized device coordinate that is not rendered."),ai=Je,li="\n#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif";var ci={background:hi("uniform vec4 u_color;uniform float u_opacity;\n#ifdef LIGHTING_3D_MODE\nvarying vec4 v_color;\n#endif\nvoid main() {vec4 out_color;\n#ifdef LIGHTING_3D_MODE\nout_color=v_color;\n#else\nout_color=u_color;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#ifdef LIGHTING_3D_MODE\nuniform vec4 u_color;varying vec4 v_color;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(u_color);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),backgroundPattern:hi("uniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),circle:hi("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\n#endif\ngl_FragColor=out_color*(v_visibility*opacity_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","#define NUM_VISIBILITY_RINGS 2\n#define INV_SQRT2 0.70710678\n#define ELEVATION_BIAS 0.0001\n#define NUM_SAMPLES_PER_RING 16\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\n#if defined(TERRAIN)\nreturn elevation(pos)+ELEVATION_BIAS;\n#else\nreturn 0.0;\n#endif\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\n#ifdef PITCH_WITH_MAP\n#ifdef PROJECTION_GLOBE_VIEW\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\n#else\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\n#endif\n#else\nreturn projected_center+vec4(sample_offset,0,0);\n#endif\n}float get_sample_step() {\n#ifdef PITCH_WITH_MAP\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\n#else\nreturn PI/float(NUM_SAMPLES_PER_RING);\n#endif\n}void main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\n#else \nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\n#endif\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\n#ifdef PITCH_WITH_MAP\n#ifdef SCALE_WITH_MAP\nview_scale=1.0;\n#else\nview_scale=projected_center.w/u_camera_to_center_distance;\n#endif\n#else\n#ifdef SCALE_WITH_MAP\nview_scale=u_camera_to_center_distance;\n#else\nview_scale=projected_center.w;\n#endif\n#endif\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\n#ifdef TERRAIN\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\n#ifdef PITCH_WITH_MAP\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\n#else\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\n#endif\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\n#else\nvisibility=1.0;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nvisibility=1.0;\n#endif\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\n#ifdef FOG\nv_fog_pos=fog_position(world_center.xyz);\n#endif\n}"),clippingMask:hi("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:hi("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef FOG\nif (u_is_globe==0) {gl_FragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nvarying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#else\npos=vec3(tilePos+extrude,elevation(tilePos));\n#endif\ngl_Position=u_matrix*vec4(pos,1);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),heatmapTexture:hi("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}"),collisionBox:hi("varying float v_placed;varying float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);gl_FragColor =mix(red,blue,step(0.5,v_placed))*0.5;gl_FragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}","attribute vec3 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;attribute float a_size_scale;attribute vec2 a_padding;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*elevation(a_anchor_pos),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:hi("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos_2f;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:hi("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;\n#endif\nvarying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\n#else\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\n#endif\n}"),fill:hi("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\nvec4 out_color=color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutline:hi("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillOutlinePattern:hi("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;varying vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillPattern:hi("uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),fillExtrusion:hi("varying vec4 v_color;\n#ifdef RENDER_SHADOWS\nvarying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\nvoid main() {\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvec3 normal=v_normal;\n#endif\nfloat z;vec4 color;\n#ifdef ZERO_ROOF_RADIUS\nz=float(normal.z > 0.00001);color=mix(v_color,v_roof_color,z);\n#else\ncolor=v_color;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\n#ifdef ZERO_ROOF_RADIUS\nconcave*=(1.0-z);\n#endif\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);color.rgb=color.rgb*shade;\n#endif\n#ifdef RENDER_SHADOWS\n#ifdef ZERO_ROOF_RADIUS\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\n#endif\ncolor.xyz=shadowed_color_normal(color.xyz,normalize(normal),v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec4 v_color;\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\n#endif\n#ifdef ZERO_ROOF_RADIUS\nvarying vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nvarying highp vec3 v_normal;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\nv_normal=normal;\n#endif\nbase=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=0.0;float c_ele;vec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\n#else\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);\n#ifdef RENDER_SHADOWS\nv_pos_light_view_0=u_light_matrix_0*vec4(pos,1);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1);v_depth=gl_Position.w;\n#endif\nfloat NdotL=0.0;float colorvalue=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}v_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting(color,NdotL);\n#else\nv_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_color*=u_opacity;\n#ifdef ZERO_ROOF_RADIUS\nv_roof_color=vec4(0.0,0.0,0.0,1.0);\n#ifdef LIGHTING_3D_MODE\nv_roof_color=apply_lighting(color,calculate_NdotL(vec3(0.0,0.0,1.0)));\n#else\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\n#endif\nv_roof_color*=u_opacity;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),fillExtrusionPattern:hi("uniform vec2 u_texsize;uniform sampler2D u_image;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;uniform lowp float u_opacity;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color,v_NdotL)*u_opacity;\n#else\nout_color=out_color*v_lighting;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\ngl_FragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nvarying vec2 v_pos;varying vec4 v_lighting;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;varying vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nvarying float v_NdotL;\n#endif\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\n#else\np=vec3(pos_nx.xy,z);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\n? pos_nx.xy\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_NdotL=NdotL;\n#else\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\n#endif \n#ifdef FOG\nv_fog_pos=fog_position(p);\n#endif\n}"),hillshadePrepare:hi("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nreturn texture2D(u_image,coord).a/4.0;\n#else\nvec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;\n#endif\n}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\n)/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:hi("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef LIGHTING_3D_MODE\ngl_FragColor=apply_lighting(gl_FragColor);\n#endif\n#ifdef FOG\ngl_FragColor=fog_dither(fog_apply_premultiplied(gl_FragColor,v_fog_pos));\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),line:hi("uniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform sampler2D u_dash_image;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform sampler2D u_gradient_image;\n#endif\nuniform float u_border_width;uniform vec4 u_border_color;float luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\n#ifdef RENDER_LINE_DASH\nfloat sdfdist=texture2D(u_dash_image,v_tex).a;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\n#endif\nhighp vec4 out_color;\n#ifdef RENDER_LINE_GRADIENT\nout_color=texture2D(u_gradient_image,v_uv.xy);\n#else\nout_color=color;\n#endif\nfloat trimmed=1.0;\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\n#endif\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\n#ifdef RENDER_LINE_ALPHA_DISCARD\nif (alpha < u_alpha_discard_threshold) {discard;}\n#endif\n#ifdef RENDER_LINE_BORDER\nfloat edgeBlur=(u_border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);\n#ifdef RENDER_LINE_BORDER_AUTO\nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}\n#else\nout_color.rgb=mix(u_border_color.rgb*u_border_color.a*trimmed,out_color.rgb,smoothAlpha);\n#endif\n}\n#endif\ngl_FragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define EXTRUDE_SCALE 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nattribute highp vec4 a_packed;\n#endif\n#ifdef RENDER_LINE_DASH\nattribute float a_linesofar;\n#endif\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;varying vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform float u_image_height;\n#endif\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\n#ifdef RENDER_LINE_GRADIENT\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\n#else\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\n#endif\n#ifdef RENDER_LINE_DASH\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\n#endif\nv_width2=vec2(outset,inset);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),linePattern:hi("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_tile_units_to_pixels;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x=mod(v_linesofar/pattern_size.x*aspect,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec4 color=texture2D(u_image,pos);\n#ifdef LIGHTING_3D_MODE\ncolor=apply_lighting(color);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_linesofar;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}"),raster:hi("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply(out_color,v_fog_pos));\n#endif\ngl_FragColor=vec4(out_color*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {float w=1.0+dot(a_texture_pos,u_perspective_transform);gl_Position=u_matrix*vec4(a_pos*w,0,w);v_pos0=a_texture_pos/8192.0;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}"),symbolIcon:hi("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;}"),symbolSDF:hi("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade);}"),symbolTextAndIcon:hi("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\n#ifdef PROJECTION_GLOBE_VIEW\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nvarying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\n#endif\nfloat gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nv_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade,is_sdf);}"),terrainRaster:hi("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nvarying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nvoid main() {vec4 color=texture2D(u_image0,v_pos0);\n#ifdef RENDER_SHADOWS\ncolor.xyz=shadowed_color(color.xyz,v_pos_light_view_0,v_pos_light_view_1,v_depth);\n#endif\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#else\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\n#endif\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_skirt_height;attribute vec2 a_pos;varying vec2 v_pos0;\n#ifdef FOG\nvarying float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\n#endif\nconst float wireframeOffset=0.00015;void main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;\n#ifdef TERRAIN_WIREFRAME\nelevation+=wireframeOffset;\n#endif\nv_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\nv_fog_pos=fog_position(decodedPos);\n#else\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);v_depth=gl_Position.w;\n#endif\n}"),terrainDepth:hi("#ifdef GL_ES\nprecision highp float;\n#endif\nvarying float v_depth;void main() {gl_FragColor=pack_depth(v_depth);}","uniform mat4 u_matrix;attribute vec2 a_pos;varying float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}"),skybox:hi("\nvarying lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=textureCube(u_cubemap,uv).rgb;\n#ifdef FOG\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\n#endif\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);gl_FragColor=vec4(sky_color*u_opacity,u_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",Qe),skyboxGradient:hi("varying highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture2D(u_color_ramp,vec2(progress,0.5));\n#ifdef FOG\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\n#endif\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}",Qe),skyboxCapture:hi("\nvarying highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;\n#ifdef GL_ES\nprecision highp float;\n#endif\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\n#define BETA_M vec3(21e-6,21e-6,21e-6)\n#define MIE_G 0.76\n#define DENSITY_HEIGHT_SCALE_R 8000.0\n#define DENSITY_HEIGHT_SCALE_M 1200.0\n#define PLANET_RADIUS 6360e3\n#define ATMOSPHERE_RADIUS 6420e3\n#define SAMPLE_STEPS 10\n#define DENSITY_STEPS 4\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;gl_FragColor=vec4(color,1.0);}","attribute highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;varying highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}"),globeRaster:hi("uniform sampler2D u_image0;varying vec2 v_pos0;\n#ifndef FOG\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\n#endif\nvoid main() {vec4 color;\n#ifdef CUSTOM_ANTIALIASING\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture2D(u_image0,v_pos0);color=vec4(raster.rgb*antialias,raster.a*antialias);\n#else\ncolor=texture2D(u_image0,v_pos0);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ngl_FragColor=color;\n#ifdef TERRAIN_WIREFRAME\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\n#endif\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\n#ifdef GLOBE_POLES\nattribute vec3 a_globe_pos;attribute vec2 a_uv;\n#else\nattribute vec2 a_pos;\n#endif\nvarying vec2 v_pos0;const float wireframeOffset=1e3;float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(QUARTER_PI+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}void main() {\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\n#else\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\n#endif\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\n#ifdef GLOBE_POLES\nvec3 up_vector=globe_derived_up_vector;\n#else\nvec3 up_vector=elevationVector(tile_pos);\n#endif\nfloat height=elevation(tile_pos);\n#ifdef TERRAIN_WIREFRAME\nheight+=wireframeOffset;\n#endif\nglobe_pos+=up_vector*height;\n#ifndef GLOBE_POLES\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\n#endif\n#ifdef GLOBE_POLES\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\n#else\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\n#endif\ngl_Position=u_proj_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n}"),globeAtmosphere:hi("uniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec3 u_start_color;uniform vec4 u_color;uniform vec4 u_space_color;uniform vec4 u_high_color;uniform float u_star_intensity;uniform float u_star_size;uniform float u_star_density;uniform float u_horizon_angle;uniform mat4 u_rotation_matrix;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;highp float random(highp vec3 p) {p=fract(p*vec3(23.2342,97.1231,91.2342));p+=dot(p.zxy,p.yxz+123.1234);return fract(p.x*p.y);}float stars(vec3 p,float scale,vec2 offset) {vec2 uv_scale=(u_viewport/u_star_size)*scale;vec3 position=vec3(p.xy*uv_scale+offset*u_viewport,p.z);vec3 q=fract(position)-0.5;vec3 id=floor(position);float random_visibility=step(random(id),u_star_density);float circle=smoothstep(0.5+u_star_intensity,0.5,length(q));return circle*random_visibility;}void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\n#ifdef PROJECTION_GLOBE_VIEW\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {discard;return;}\n#endif\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\n0.0 : max(acos(dot(dir,horizon_dir)),0.0);float horizon_angle;\n#ifdef PROJECTION_GLOBE_VIEW\nhighp vec3 closest_point=globe_pos_dot_dir*dir;float closest_point_to_center=length(closest_point-u_globe_pos);float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\n#else\nhorizon_angle=horizon_angle_mercator;\n#endif\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;vec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c =mix(color_stop_2,c2,t);float a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);vec2 uv=gl_FragCoord.xy/u_viewport-0.5;float aspect_ratio=u_viewport.x/u_viewport.y;vec4 uv_dir=vec4(normalize(vec3(uv.x*aspect_ratio,uv.y,1.0)),1.0);uv_dir=u_rotation_matrix*uv_dir;vec3 n=abs(uv_dir.xyz);vec2 uv_remap=(n.x > n.y && n.x > n.z) ? uv_dir.yz/uv_dir.x:\n(n.y > n.x && n.y > n.z) ? uv_dir.zx/uv_dir.y:\nuv_dir.xy/uv_dir.z;uv_remap.x/=aspect_ratio;vec3 D=vec3(uv_remap,1.0);highp float star_field=0.0;if (u_star_intensity > 0.0) {star_field+=stars(D,1.2,vec2(0.0,0.0));star_field+=stars(D,1.0,vec2(1.0,0.0));star_field+=stars(D,0.8,vec2(0.0,1.0));star_field+=stars(D,0.6,vec2(1.0,1.0));star_field*=(1.0-pow(t,0.25+(1.0-u_high_color.a)*0.75));c+=star_field*alpha_2;}c=dither(c,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=vec4(c,a);}","attribute vec3 a_pos;attribute vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}")};function ui(t,e){const i=t.replace(/\s*\/\/[^\n]*\n/g,"\n").split("\n");for(let t of i)if(t=t.trim(),"#"===t[0]&&t.includes("if")&&!t.includes("endif")){t=t.replace("#","").replace(/ifdef|ifndef|elif|if/g,"").replace(/!|defined|\(|\)|\|\||&&/g,"").replace(/\s+/g," ").trim();const i=t.split(" ");for(const t of i)e.includes(t)||e.push(t)}}function hi(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute (highp |mediump |lowp )?([\w]+) ([\w]+)/g),r={},o=[...oi];return ui(t,o),ui(e,o),{fragmentSource:t=t.replace(i,((t,e,i,n,o)=>(r[o]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${o}\nvarying ${i} ${n} ${o};\n#else\nuniform ${i} ${n} u_${o};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${o}\n ${i} ${n} ${o} = u_${o};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,n,o)=>{const s="float"===n?"vec2":"vec4",a=o.match(/color/)?"color":s;return r[o]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${o}\nuniform lowp float u_${o}_t;\nattribute ${i} ${s} a_${o};\nvarying ${i} ${n} ${o};\n#else\nuniform ${i} ${n} u_${o};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${o}\n ${o} = a_${o};\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${o}\n ${o} = unpack_mix_${a}(a_${o}, u_${o}_t);\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${o}\nuniform lowp float u_${o}_t;\nattribute ${i} ${s} a_${o};\n#else\nuniform ${i} ${n} u_${o};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${o}\n ${i} ${n} ${o} = a_${o};\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${o}\n ${i} ${n} ${o} = unpack_mix_${a}(a_${o}, u_${o}_t);\n#else\n ${i} ${n} ${o} = u_${o};\n#endif\n`})),staticAttributes:n,usedDefines:o}}class pi{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null}bind(t,e,i,n,r,o,s){this.context=t;let a=this.boundPaintVertexBuffers.length!==n.length;for(let t=0;!a&&t{const r=i.paint.get("hillshade-shadow-color"),o=i.paint.get("hillshade-highlight-color"),s=i.paint.get("hillshade-accent-color");let a=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(a-=t.transform.angle);const l=!t.options.moving;return{u_matrix:n||t.transform.calculateProjMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:di(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),a],u_shadow:r,u_highlight:o,u_accent:s}})(e,n,r,e.terrain?i.projMatrix:null);e.prepareDrawProgram(l,h,i.toUnwrapped());const{tileBoundsBuffer:d,tileBoundsIndexBuffer:f,tileBoundsSegments:m}=e.getTileBoundsBuffers(n);h.draw(l,c.TRIANGLES,o,s,a,t.CullFaceMode.disabled,p,r.id,d,f,m)}function mi(e,i,n){if(!i.needsDEMTextureUpload)return;const r=e.context,o=r.gl;r.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(n.stride);const s=n.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new t.Texture(r,s,o.RGBA,{premultiply:!1}),i.needsDEMTextureUpload=!1}function gi(e,i,n,r,o,s){const a=e.context,l=a.gl;if(!i.dem)return;const c=i.dem;if(a.activeTexture.set(l.TEXTURE1),mi(e,i,c),!i.demTexture)return;i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);const u=c.dim;a.activeTexture.set(l.TEXTURE0);let h=i.fbo;if(!h){const e=new t.Texture(a,{width:u,height:u,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),h=i.fbo=a.createFramebuffer(u,u,!0),h.colorAttachment.set(e.texture)}a.bindFramebuffer.set(h.framebuffer),a.viewport.set([0,0,u,u]);const{tileBoundsBuffer:p,tileBoundsIndexBuffer:d,tileBoundsSegments:f}=e.getMercatorTileBoundsBuffers();e.useProgram("hillshadePrepare").draw(a,l.TRIANGLES,r,o,s,t.CullFaceMode.disabled,((e,i)=>{const n=i.stride,r=t.create();return t.ortho(r,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(r,r,[0,-t.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:i.unpackVector}})(i.tileID,c),n.id,p,d,f),i.needsHillshadePrepare=!1}const _i=e=>({u_matrix:new t.UniformMatrix4f(e),u_image0:new t.Uniform1i(e),u_skirt_height:new t.Uniform1f(e)}),yi=(t,e)=>({u_matrix:t,u_image0:0,u_skirt_height:e}),vi=(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f)=>({u_proj_matrix:Float32Array.from(t),u_globe_matrix:e,u_normalize_matrix:Float32Array.from(n),u_merc_matrix:i,u_zoom_transition:r,u_merc_center:o,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:u,u_globe_radius:h,u_viewport:p,u_grid_matrix:f?Float32Array.from(f):new Float32Array(9),u_skirt_height:d});function xi(t,e){return null!=t&&null!=e&&!(!t.hasData()||!e.hasData())&&null!=t.demTexture&&null!=e.demTexture&&t.tileID.key!==e.tileID.key}const bi=new class{constructor(){this.operations={}}newMorphing(t,e,i,n,r){if(t in this.operations){const e=this.operations[t];e.to.tileID.key!==i.tileID.key&&(e.queued=i)}else this.operations[t]={startTime:n,phase:0,duration:r,from:e,to:i,queued:null}}getMorphValuesForProxy(t){if(!(t in this.operations))return null;const e=this.operations[t];return{from:e.from,to:e.to,phase:e.phase}}update(t){for(const e in this.operations){const i=this.operations[e];for(i.phase=(t-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,t)){delete this.operations[e];break}}}_nextOp(t,e){return!!t.queued&&(t.from=t.to,t.to=t.queued,t.queued=null,t.phase=0,t.startTime=e,!0)}_validOp(t){return t.from.hasData()&&t.to.hasData()}},wi={0:null,1:"TERRAIN_VERTEX_MORPHING",2:"TERRAIN_WIREFRAME"};function Ai(t){return 6*Math.pow(1.5,22-t)}function Ei(t,e){const i=1<({u_matrix:t});function Ti(e,i,n,r,o){if(o>0){const s=t.exported.now(),a=(s-e.timeAdded)/o,l=i?(s-i.timeAdded)/o:-1,c=n.getSource(),u=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(e.tileID.overscaledZ-u),p=h&&e.refreshedUponExpiration?1:t.clamp(h?a:1-l,0,1);return e.refreshedUponExpiration&&a>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}class ki extends t.SourceCache{constructor(t){const e={type:"raster-dem",maxzoom:t.transform.maxZoom},i=new I(Ft(),null),n=Mt("mock-dem",e,i,t.style);super("mock-dem",n,!1),n.setEventedParent(this),this._sourceLoaded=!0}_loadTile(t,e){t.state="loaded",e(null)}}class Si extends t.SourceCache{constructor(t){const e=Mt("proxy",{type:"geojson",maxzoom:t.transform.maxZoom},new I(Ft(),null),t.style);super("proxy",e,!1),e.setEventedParent(this),this.map=this.getSource().map=t,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}update(e,i,n){if(e.freezeTileCoverage)return;this.transform=e;const r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((i,n)=>{if(i[n.key]="",!this._tiles[n.key]){const i=new t.Tile(n,this._source.tileSize*n.overscaleFactor(),e.tileZoom);i.state="loaded",this._tiles[n.key]=i}return i}),{});for(const t in this._tiles)t in r||(this.freeFBO(t),this._tiles[t].unloadVectorData(),delete this._tiles[t])}freeFBO(t){const e=this.proxyCachedFBO[t];if(void 0!==e){const i=Object.values(e);this.renderCachePool.push(...i),delete this.proxyCachedFBO[t]}}deallocRenderCache(){this.renderCache.forEach((t=>t.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}}class Ii extends t.OverscaledTileID{constructor(t,e,i){super(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y),this.proxyTileKey=e,this.projMatrix=i}}class Mi extends t.Elevation{constructor(e,i){super(),this.painter=e,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[n,r,o]=function(e){const i=new t.StructArrayLayout2i4,n=new t.StructArrayLayout3ui6,r=131;i.reserve(17161),n.reserve(33800);const o=t.EXTENT/128,s=t.EXTENT+o/2,a=s+o;for(let e=-o;es||e<0||e>s?24575:0,o=t.clamp(Math.round(n),0,t.EXTENT),a=t.clamp(Math.round(e),0,t.EXTENT);i.emplaceBack(o+r,a)}const l=(t,e)=>{const i=e*r+t;n.emplaceBack(i+1,i,i+r),n.emplaceBack(i+r,i+r+1,i+1)};for(let t=1;t<129;t++)for(let e=1;e<129;e++)l(e,t);return[0,129].forEach((t=>{for(let e=0;e<130;e++)l(e,t),l(t,e)})),[i,n,32768]}(),s=e.context;this.gridBuffer=s.createVertexBuffer(n,t.posAttributes.members),this.gridIndexBuffer=s.createIndexBuffer(r),this.gridSegments=t.SegmentVector.simpleSegment(0,0,n.length,r.length),this.gridNoSkirtSegments=t.SegmentVector.simpleSegment(0,0,n.length,o),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new Si(i.map),this.orthoMatrix=t.create(),t.ortho(this.orthoMatrix,"globe"===this.painter.transform.projection.name?.015:0,t.EXTENT,0,t.EXTENT,0,1);const a=s.gl;this._overlapStencilMode=new t.StencilMode({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=e.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new ki(i.map)}set style(t){t.on("data",this._onStyleDataEvent.bind(this)),t.on("neworder",this._checkRenderCacheEfficiency.bind(this)),this._style=t,this._checkRenderCacheEfficiency(),this._style.map.on("moveend",(()=>{this._clearLineLayersFromRenderCache()}))}update(e,i,n){if(e&&e.terrain){this._style!==e&&(this.style=e),this.enabled=!0;const r=e.terrain.properties;this.sourceCache=0===e.terrain.drapeRenderMode?this._mockSourceCache:e._getSourceCache(r.get("source")),this._exaggeration=r.get("exaggeration");const o=()=>{this.sourceCache.used&&t.warnOnce(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const e=this.getScaledDemTileSize();this.sourceCache.update(i,e,!0),this.resetTileLookupCache(this.sourceCache.id)};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,o(),this._initializing=!0),o(),i.updateElevation(!0,n),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0}else this._disable()}resetTileLookupCache(t){this._findCoveringTileCache[t]={}}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_checkRenderCacheEfficiency(){const e=this.renderCacheEfficiency(this._style);this._style.map._optimizeForTerrain||100!==e.efficiency&&t.warnOnce(`Terrain render cache efficiency is not optimal (${e.efficiency}%) and performance\n may be affected negatively, consider placing all background, fill and line layers before layer\n with id '${e.firstUndrapedLayer}' or create a map using optimizeForTerrain: true option.`)}_onStyleDataEvent(t){t.coord&&"source"===t.dataType?this._clearRenderCacheForTile(t.sourceCacheId,t.coord):"style"===t.dataType&&(this._invalidateRenderCache=!0)}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const t in this._style._sourceCaches)this._style._sourceCaches[t].usedForTerrain=!1}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((t=>t.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0)}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const t=2*this.proxySourceCache.getSource().tileSize;return[t,t]}set useVertexMorphing(t){this._useVertexMorphing=t}updateTileBinding(e){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,n=this.painter.transform;this._initializing&&(this._initializing=0===n._centerAltitude&&-1===this.getAtPointOrZero(t.MercatorCoordinate.fromLngLat(n.center),-1),this._emptyDEMTextureDirty=!this._initializing);const r=this.proxyCoords=i.getIds().map((t=>{const e=i.getTileByID(t).tileID;return e.projMatrix=n.calculateProjMatrix(e.toUnwrapped()),e}));!function(e,i){const n=i.transform.pointCoordinate(i.transform.getCameraPoint()),r=new t.Point(n.x,n.y);e.sort(((e,i)=>{if(i.overscaledZ-e.overscaledZ)return i.overscaledZ-e.overscaledZ;const n=new t.Point(e.canonical.x+(1<{this.proxyToSource[t.key]={}})),this.terrainTileForTile={};const s=this._style._sourceCaches;for(const t in s){const i=s[t];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,e[t],o),i.usedForTerrain)continue;const n=e[t];i.getSource().reparseOverscaled&&this._assignTerrainTiles(n)}this.proxiedCoords[i.id]=r.map((t=>new Ii(t,t.key,this.orthoMatrix))),this._assignTerrainTiles(r),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(o),this.renderingToTexture=!1,this._updateTimestamp=t.exported.now();const a={};this._visibleDemTiles=[];for(const t of this.proxyCoords){const e=this.terrainTileForTile[t.key];if(!e)continue;const i=e.tileID.key;i in a||(this._visibleDemTiles.push(e),a[i]=i)}}_assignTerrainTiles(t){this._initializing||t.forEach((t=>{if(this.terrainTileForTile[t.key])return;const e=this._findTileCoveringTileID(t,this.sourceCache);e&&(this.terrainTileForTile[t.key]=e)}))}_prepareDEMTextures(){const t=this.painter.context,e=t.gl;for(const i in this.terrainTileForTile){const n=this.terrainTileForTile[i],r=n.dem;!r||n.demTexture&&!n.needsDEMTextureUpload||(t.activeTexture.set(e.TEXTURE1),mi(this.painter,n,r))}}_prepareDemTileUniforms(t,e,i,n){if(!e||null==e.demTexture)return!1;const r=t.tileID.canonical,o=Math.pow(2,e.tileID.canonical.z-r.z),s=n||"";return i[`u_dem_tl${s}`]=[r.x*o%1,r.y*o%1],i[`u_dem_scale${s}`]=o,!0}get emptyDEMTexture(){return!this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const e=this.painter.context,i=e.gl;if(!this._emptyDepthBufferTexture){const n=new t.RGBAImage({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new t.Texture(e,n,i.RGBA,{premultiply:!1})}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let t=0;const e=this._visibleDemTiles.reduce(((e,i)=>{if(!i.dem)return e;const n=i.dem.tree.minimums[0];return n>0&&t++,e+n}),0);return t?e/t:0}_updateEmptyDEMTexture(){const e=this.painter.context,i=e.gl;e.activeTexture.set(i.TEXTURE2);const n=this._getLoadedAreaMinimum(),r=new t.RGBAImage({width:1,height:1},new Uint8Array(t.DEMData.pack(n,this.sourceCache.getSource().encoding)));this._emptyDEMTextureDirty=!1;let o=this._emptyDEMTexture;return o?o.update(r,{premultiply:!1}):o=this._emptyDEMTexture=new t.Texture(e,r,i.RGBA,{premultiply:!1}),o}setupElevationDraw(e,i,n){const r=this.painter.context,o=r.gl,s=(a=this.sourceCache.getSource().encoding,{u_dem:2,u_dem_prev:4,u_dem_unpack:t.DEMData.getUnpackVector(a),u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0});var a;s.u_dem_size=this.sourceCache.getSource().tileSize,s.u_exaggeration=this.exaggeration();let l=null,c=null,u=1;if(n&&n.morphing&&this._useVertexMorphing){const t=n.morphing.srcDemTile,i=n.morphing.dstDemTile;u=n.morphing.phase,t&&i&&(this._prepareDemTileUniforms(e,t,s,"_prev")&&(c=t),this._prepareDemTileUniforms(e,i,s)&&(l=i))}if(c&&l?(r.activeTexture.set(o.TEXTURE2),l.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE,o.NEAREST),r.activeTexture.set(o.TEXTURE4),c.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE,o.NEAREST),s.u_dem_lerp=u):(l=this.terrainTileForTile[e.tileID.key],r.activeTexture.set(o.TEXTURE2),(this._prepareDemTileUniforms(e,l,s)?l.demTexture:this.emptyDEMTexture).bind(o.NEAREST,o.CLAMP_TO_EDGE)),r.activeTexture.set(o.TEXTURE3),n&&n.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),n&&n.useMeterToDem&&l){const e=(1<{if(c===t)return;const n=[wi[t],"PROJECTION_GLOBE_VIEW"];p&&n.push("CUSTOM_ANTIALIASING"),i&&n.push(wi[u]),l=e.useProgram("globeRaster",null,n),c=t},f=e.colorModeForRenderPass(),m=new t.DepthMode(a.LEQUAL,t.DepthMode.ReadWrite,e.depthRangeFor3D);bi.update(o);const g=t.calculateGlobeMercatorMatrix(h),_=[t.mercatorXfromLng(h.center.lng),t.mercatorYfromLat(h.center.lat)],y=u?[!1,!0]:[!1],v=e.globeSharedBuffers,x=[h.width*t.exported.devicePixelRatio,h.height*t.exported.devicePixelRatio],b=Float32Array.from(h.globeMatrix),w={useDenormalizedUpVectorScale:!0};if(y.forEach((u=>{const h=e.transform,p=Ai(h.zoom)*i.exaggeration();c=-1;const y=u?a.LINES:a.TRIANGLES;for(const c of r){const r=n.getTile(c),A=t.StencilMode.disabled,E=i.prevTerrainTileForTile[c.key],C=i.terrainTileForTile[c.key];xi(E,C)&&bi.newMorphing(c.key,E,C,o,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const T=bi.getMorphValuesForProxy(c.key),k=T?1:0;T&&t.extend$1(w,{morphing:{srcDemTile:T.from,dstDemTile:T.to,phase:t.easeCubicInOut(T.phase)}});const S=t.tileCornersToBounds(c.canonical),I=t.getLatitudinalLod(S.getCenter().lat),M=t.getGridMatrix(c.canonical,S,I,h.worldSize/h._pixelsPerMercatorPixel),P=t.globeNormalizeECEF(t.globeTileBounds(c.canonical)),L=vi(h.projMatrix,b,g,P,t.globeToMercatorTransition(h.zoom),_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,x,p,M);if(d(k,u),i.setupElevationDraw(r,l,w),e.prepareDrawProgram(s,l,c.toUnwrapped()),v){const[i,n,r]=u?v.getWirefameBuffers(e.context,I):v.getGridBuffers(I,0!==p);l.draw(s,y,m,A,f,t.CullFaceMode.backCCW,L,"globe_raster",i,n,r)}}})),v){const o=["GLOBE_POLES","PROJECTION_GLOBE_VIEW"];p&&o.push("CUSTOM_ANTIALIASING"),l=e.useProgram("globeRaster",null,o);for(const o of r){const{x:r,y:c,z:u}=o.canonical,p=0===c,d=c===(1<e.draw(s,a.TRIANGLES,m,t.StencilMode.disabled,f,t.CullFaceMode.disabled,vi(h.projMatrix,v,v,E,0,_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,x,0),"globe_pole_raster",i,b,A);i.setupElevationDraw(c,l,w),e.prepareDrawProgram(s,l,o.toUnwrapped()),p&&C(l,g),d&&(v=t.scale(t.create(),v,[1,-1,1]),C(l,y))}}}}(e,i,n,r,o);else{const s=e.context,a=s.gl;let l,c;const u=e.options.showTerrainWireframe?2:0,h=(t,i)=>{if(c===t)return;const n=[wi[t]];i&&n.push(wi[u]),l=e.useProgram("terrainRaster",null,n),c=t},p=e.colorModeForRenderPass(),d=new t.DepthMode(a.LEQUAL,t.DepthMode.ReadWrite,e.depthRangeFor3D);bi.update(o);const f=e.transform,m=Ai(f.zoom)*i.exaggeration();(u?[!1,!0]:[!1]).forEach((u=>{c=-1;const g=u?a.LINES:a.TRIANGLES,[_,y]=u?i.getWirefameBuffer():[i.gridIndexBuffer,i.gridSegments];for(const c of r){const r=n.getTile(c),v=t.StencilMode.disabled,x=i.prevTerrainTileForTile[c.key],b=i.terrainTileForTile[c.key];xi(x,b)&&bi.newMorphing(c.key,x,b,o,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);const w=bi.getMorphValuesForProxy(c.key),A=w?1:0;let E;w&&(E={morphing:{srcDemTile:w.from,dstDemTile:w.to,phase:t.easeCubicInOut(w.phase)}});const C=yi(c.projMatrix,Ei(c.canonical,f.renderWorldCopies)?m/10:m);h(A,u),i.setupElevationDraw(r,l,E),e.prepareDrawProgram(s,l,c.toUnwrapped()),l.draw(s,g,d,v,p,t.CullFaceMode.backCCW,C,"terrain_raster",i.gridBuffer,_,y)}}))}}(i,this,this.proxySourceCache,e,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),e.splice(0,e.length))}renderBatch(e){if(0===this._drapedRenderBatches.length)return e+1;this.renderingToTexture=!0;const i=this.painter,n=this.painter.context,r=this.proxySourceCache,o=this.proxiedCoords[r.id],s=this._drapedRenderBatches.shift(),a=[],l=i.style.order;let c=0;for(const u of o){const o=r.getTileByID(u.proxyTileKey),h=r.proxyCachedFBO[u.key]?r.proxyCachedFBO[u.key][e]:void 0,p=void 0!==h?r.renderCache[h]:this.pool[c++],d=void 0!==h;if(o.texture=p.tex,d&&!p.dirty){a.push(o.tileID);continue}let f;n.bindFramebuffer.set(p.fb.framebuffer),this.renderedToTile=!1,p.dirty&&(n.clear({color:t.Color.transparent,stencil:0}),p.dirty=!1);for(let t=s.start;t<=s.end;++t){const e=i.style._layers[l[t]];if(e.isHidden(i.transform.zoom))continue;const r=i.style._getLayerSourceCache(e),o=r?this.proxyToSource[u.key][r.id]:[u];if(!o)continue;const s=o;n.viewport.set([0,0,p.fb.width,p.fb.height]),f!==(r?r.id:null)&&(this._setupStencil(p,o,e,r),f=r?r.id:null),i.renderLayer(i,r,e,s)}this.renderedToTile?(p.dirty=!0,a.push(o.tileID)):d||--c,5===c&&(c=0,this.renderToBackBuffer(a))}return this.renderToBackBuffer(a),this.renderingToTexture=!1,n.bindFramebuffer.set(null),n.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}renderCacheEfficiency(t){const e=t.order.length;if(0===e)return{efficiency:100};let i,n=0,r=0,o=!1;for(let s=0;st.dem)).forEach((e=>{t=Math.min(t,e.dem.tree.minimums[0])})),0===t?t:(t-30)*this._exaggeration}raycast(t,e,i){if(!this._visibleDemTiles)return null;const n=this._visibleDemTiles.filter((t=>t.dem)).map((n=>{const r=n.tileID,o=1<(null!==t.t?t.t:Number.MAX_VALUE)-(null!==e.t?e.t:Number.MAX_VALUE)));for(const r of n){if(null==r.t)return null;const n=r.tile.dem.tree.raycast(r.minx,r.miny,r.maxx,r.maxy,t,e,i);if(null!=n)return n}return null}_createFBO(){const e=this.painter.context,i=e.gl,n=this.drapeBufferSize;e.activeTexture.set(i.TEXTURE0);const r=new t.Texture(e,{width:n[0],height:n[1],data:null},i.RGBA);r.bind(i.LINEAR,i.CLAMP_TO_EDGE);const o=e.createFramebuffer(n[0],n[1],!1);return o.colorAttachment.set(r.texture),o.depthAttachment=new wt(e,o.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=e.createRenderbuffer(e.gl.DEPTH_STENCIL,n[0],n[1]),this._stencilRef=0,o.depthAttachment.set(this._sharedDepthStencil),e.clear({stencil:0})):o.depthAttachment.set(this._sharedDepthStencil),e.extTextureFilterAnisotropic&&!e.extTextureFilterAnisotropicForceOff&&i.texParameterf(i.TEXTURE_2D,e.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.extTextureFilterAnisotropicMax),{fb:o,tex:r,dirty:!1}}_initFBOPool(){for(;this.pool.length{const e=this._style._layers[t],i=e.isHidden(this.painter.transform.zoom);return"custom"===e.type?!i&&e.shouldRedrape():!i&&e.hasTransition()}))}_clearLineLayersFromRenderCache(){let e=!1;for(const t of this._style._getSources())if(t instanceof Ct){e=!0;break}if(!e)return;const i={};for(let e=0;ee.renderCachePool.length){const t=Object.values(e.proxyCachedFBO);e.proxyCachedFBO={};for(let i=0;i=0;r--){const o=i[r];if(e.getTileByID(o.key),void 0!==e.proxyCachedFBO[o.key]){const i=t[o.key],r=this.proxyToSource[o.key];let s=0;for(const t in r){const e=r[t],o=i[t];if(!o||o.length!==e.length||e.some(((e,i)=>e!==o[i]||n[t]&&n[t].hasOwnProperty(e.key)))){s=-1;break}++s}for(const t in e.proxyCachedFBO[o.key])e.renderCache[e.proxyCachedFBO[o.key][t]].dirty=s<0||s!==Object.values(i).length}}const r=[...this._drapedRenderBatches];r.sort(((t,e)=>e.end-e.start-(t.end-t.start)));for(const t of r)for(const n of i){if(e.proxyCachedFBO[n.key])continue;let i=e.renderCachePool.pop();void 0===i&&e.renderCache.length<50&&(i=e.renderCache.length,e.renderCache.push(this._createFBO())),void 0!==i&&(e.proxyCachedFBO[n.key]={},e.proxyCachedFBO[n.key][t.start]=i,e.renderCache[i].dirty=!0)}this._tilesDirty={}}_setupStencil(t,e,i,n){if(!n||!this._sourceTilesOverlap[n.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const r=this.painter.context,o=r.gl;if(e.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=e.length,this._overlapStencilMode.test={func:o.EQUAL,mask:255},this._overlapStencilType="Clip";else{if(!(e[0].overscaledZ>e[e.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:o.GREATER,mask:255},this._overlapStencilType="Mask"}this._stencilRef+s>255&&(r.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(e,this._overlapStencilMode.ref)}clipOrMaskOverlapStencilType(){return"Clip"===this._overlapStencilType||"Mask"===this._overlapStencilType}stencilModeForRTTOverlap(e){return this.renderingToTexture&&this._overlapStencilType?("Clip"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[e.key]),this._overlapStencilMode):t.StencilMode.disabled}_renderTileClippingMasks(e,i){const n=this.painter,r=this.painter.context,o=r.gl;n._tileClippingMaskIDs={},r.setColorMode(t.ColorMode.disabled),r.setDepthMode(t.DepthMode.disabled);const s=n.useProgram("clippingMask");for(const a of e){const e=n._tileClippingMaskIDs[a.key]=--i;s.draw(r,o.TRIANGLES,t.DepthMode.disabled,new t.StencilMode({func:o.ALWAYS,mask:0},e,255,o.KEEP,o.KEEP,o.REPLACE),t.ColorMode.disabled,t.CullFaceMode.disabled,Ci(a.projMatrix),"$clipping",n.tileExtentBuffer,n.quadTriangleIndexBuffer,n.tileExtentSegments)}}pointCoordinate(e){const i=this.painter.transform;if(e.x<0||e.x>i.width||e.y<0||e.y>i.height)return null;const n=[e.x,e.y,1,1];t.transformMat4$1(n,n,i.pixelMatrixInverse),t.scale$1(n,n,1/n[3]),n[0]/=i.worldSize,n[1]/=i.worldSize;const r=i._camera.position,o=t.mercatorZfromAltitude(1,i.center.lat),s=[r[0],r[1],r[2]/o,0],a=t.subtract([],n.slice(0,3),s);t.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(t.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=o,s):null}drawDepth(){const e=this.painter,i=e.context,n=this.proxySourceCache,r=Math.ceil(e.width),o=Math.ceil(e.height);if(!this._depthFBO||this._depthFBO.width===r&&this._depthFBO.height===o||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const e=i.gl,n=i.createFramebuffer(r,o,!0);i.activeTexture.set(e.TEXTURE0);const s=new t.Texture(i,{width:r,height:o,data:null},e.RGBA);s.bind(e.NEAREST,e.CLAMP_TO_EDGE),n.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,r,o);n.depthAttachment.set(a),this._depthFBO=n,this._depthTexture=s}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,r,o]),function(e,i,n,r){if("globe"===e.transform.projection.name)return;const o=e.context,s=o.gl;o.clear({depth:1});const a=e.useProgram("terrainDepth"),l=new t.DepthMode(s.LESS,t.DepthMode.ReadWrite,e.depthRangeFor3D);for(const e of r){const r=n.getTile(e),c=yi(e.projMatrix,0);i.setupElevationDraw(r,a),a.draw(o,s.TRIANGLES,l,t.StencilMode.disabled,t.ColorMode.unblended,t.CullFaceMode.backCCW,c,"terrain_depth",i.gridBuffer,i.gridIndexBuffer,i.gridNoSkirtSegments)}}(e,this,n,this.proxyCoords)}_setupProxiedCoordsForOrtho(t,e,i){if(t.getSource()instanceof St)return this._setupProxiedCoordsForImageSource(t,e,i);this._findCoveringTileCache[t.id]=this._findCoveringTileCache[t.id]||{};const n=this.proxiedCoords[t.id]=[],r=this.proxyCoords;for(let e=0;e(t.min.x=Math.min(t.min.x,e.x-a.x),t.min.y=Math.min(t.min.y,e.y-a.y),t.max.x=Math.max(t.max.x,e.x-a.x),t.max.y=Math.max(t.max.y,e.y-a.y),t)),{min:new t.Point(Number.MAX_VALUE,Number.MAX_VALUE),max:new t.Point(-Number.MAX_VALUE,-Number.MAX_VALUE)}),c=(e,i)=>{const n=e.wrap+e.canonical.x/(1<s+l.max.x||r+oa+l.max.y};for(let t=0;tt.key===i.tileID.key));if(t)return t}if(i.tileID.key!==e.key){const n=e.canonical.z-i.tileID.canonical.z;let o,s,a;r=t.create();const l=i.tileID.wrap-e.wrap<0?(o=t.EXTENT>>n,s=o*((i.tileID.canonical.x<=r){const n=e.canonical.z-r;i.getSource().reparseOverscaled?(a=Math.max(e.canonical.z+2,i.transform.tileZoom),s=new t.OverscaledTileID(a,e.wrap,r,e.canonical.x>>n,e.canonical.y>>n)):0!==n&&(a=r,s=new t.OverscaledTileID(a,e.wrap,r,e.canonical.x>>n,e.canonical.y>>n))}s.key!==e.key&&(c.push(s.key),n=i.getTile(s))}const u=t=>{c.forEach((e=>{r[e]=t})),c.length=0};for(a-=1;a>=l&&(!n||!n.hasData());a--){n&&u(n.tileID.key);const t=s.calculateScaledKey(a);if(n=i.getTileByID(t),n&&n.hasData())break;const e=r[t];if(null===e)break;void 0===e?c.push(t):n=i.getTileByID(e)}return u(n?n.tileID.key:null),n&&n.hasData()?n:null}findDEMTileFor(t){return this.enabled?this._findTileCoveringTileID(t,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0}_clearRenderCacheForTile(t,e){let i=this._tilesDirty[t];i||(i=this._tilesDirty[t]={}),i[e.key]=!0}getWirefameBuffer(){if(!this.wireframeSegments){const e=function(e){let i=0;const n=new t.StructArrayLayout2ui4,r=131;for(let t=1;t<129;t++){for(let e=1;e<129;e++)i=t*r+e,n.emplaceBack(i,i+1),n.emplaceBack(i,i+r),n.emplaceBack(i+1,i+r),128===t&&n.emplaceBack(i+r,i+r+1);n.emplaceBack(i+1,i+1+r)}return n}();this.wireframeIndexBuffer=this.painter.context.createIndexBuffer(e),this.wireframeSegments=t.SegmentVector.simpleSegment(0,0,this.gridBuffer.length,e.length)}return[this.wireframeIndexBuffer,this.wireframeSegments]}}class Pi{static cacheKey(t,e,i,n){let r=`${e}${n?n.cacheKey:""}`;for(const e of i)t.usedDefines.includes(e)&&(r+=`/${e}`);return r}constructor(e,i,n,r,o,s){const a=e.gl;this.program=a.createProgram();const l=function(t){const e=[];for(let i=0;i`#define ${t}`)));const p=e.isWebGL2?"#version 300 es\n":"",d=p+h.concat(e.extStandardDerivatives&&0===p.length?"#extension GL_OES_standard_derivatives : enable\n".concat(li):li,li,ai,si.fragmentSource,ri.fragmentSource,n.fragmentSource).join("\n"),f=p+h.concat("\n#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif",ai,si.vertexSource,ri.vertexSource,ni.vertexSource,n.vertexSource).join("\n"),m=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(m,d),a.compileShader(m),a.attachShader(this.program,m);const g=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(g,f),a.compileShader(g),a.attachShader(this.program,g),this.attributes={},this.numAttributes=u.length;for(let t=0;t({u_dem:new t.Uniform1i(e),u_dem_prev:new t.Uniform1i(e),u_dem_unpack:new t.Uniform4f(e),u_dem_tl:new t.Uniform2f(e),u_dem_scale:new t.Uniform1f(e),u_dem_tl_prev:new t.Uniform2f(e),u_dem_scale_prev:new t.Uniform1f(e),u_dem_size:new t.Uniform1f(e),u_dem_lerp:new t.Uniform1f(e),u_exaggeration:new t.Uniform1f(e),u_depth:new t.Uniform1i(e),u_depth_size_inv:new t.Uniform2f(e),u_meter_to_dem:new t.Uniform1f(e),u_label_plane_matrix_inv:new t.UniformMatrix4f(e)}))(e)),s.includes("GLOBE")&&(this.globeUniforms=(e=>({u_tile_tl_up:new t.Uniform3f(e),u_tile_tr_up:new t.Uniform3f(e),u_tile_br_up:new t.Uniform3f(e),u_tile_bl_up:new t.Uniform3f(e),u_tile_up_scale:new t.Uniform1f(e)}))(e)),s.includes("FOG")&&(this.fogUniforms=(e=>({u_fog_matrix:new t.UniformMatrix4f(e),u_fog_range:new t.Uniform2f(e),u_fog_color:new t.Uniform4f(e),u_fog_horizon_blend:new t.Uniform1f(e),u_fog_temporal_offset:new t.Uniform1f(e),u_frustum_tl:new t.Uniform3f(e),u_frustum_tr:new t.Uniform3f(e),u_frustum_br:new t.Uniform3f(e),u_frustum_bl:new t.Uniform3f(e),u_globe_pos:new t.Uniform3f(e),u_globe_radius:new t.Uniform1f(e),u_globe_transition:new t.Uniform1f(e),u_is_globe:new t.Uniform1i(e),u_viewport:new t.Uniform2f(e)}))(e))}}setTerrainUniformValues(t,e){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){t.program.set(this.program);for(const t in e)i[t]&&i[t].set(this.program,t,e[t])}}setGlobeUniformValues(t,e){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){t.program.set(this.program);for(const t in e)i[t]&&i[t].set(this.program,t,e[t])}}setFogUniformValues(t,e){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){t.program.set(this.program);for(const t in e)i[t].set(this.program,t,e[t])}}draw(t,e,i,n,r,o,s,a,l,c,u,h,p,d,f){const m=t.gl;if(this.failedToCreate)return;t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(n),t.setColorMode(r),t.setCullFace(o);for(const t of Object.keys(this.fixedUniforms))this.fixedUniforms[t].set(this.program,t,s[t]);d&&d.setUniforms(this.program,t,this.binderUniforms,h,{zoom:p});const g={[m.LINES]:2,[m.TRIANGLES]:3,[m.LINE_STRIP]:1}[e];for(const i of u.get()){const n=i.vaos||(i.vaos={});(n[a]||(n[a]=new pi)).bind(t,this,l,d?d.getPaintVertexBuffers():[],c,i.vertexOffset,f||[]),m.drawElements(e,i.primitiveLength*g,m.UNSIGNED_SHORT,i.primitiveOffset*g*2)}}}function Li(t,e){const i=Math.pow(2,e.tileID.overscaledZ),n=e.tileSize*Math.pow(2,t.transform.tileZoom)/i,r=n*(e.tileID.canonical.x+e.tileID.wrap*i),o=n*e.tileID.canonical.y;return{u_image:0,u_texsize:e.imageAtlasTexture.size,u_tile_units_to_pixels:1/M(e,1,t.transform.tileZoom),u_pixel_coord_upper:[r>>16,o>>16],u_pixel_coord_lower:[65535&r,65535&o]}}const zi=t.create(),Di=(e,i,n,r,o,s,a,l,c,u,h)=>{const p=i.style.light,d=p.properties.get("position"),f=[d.x,d.y,d.z],m=t.create$1();"viewport"===p.properties.get("anchor")&&(t.fromRotation(m,-i.transform.angle),t.transformMat3(f,f,m));const g=p.properties.get("color"),_=i.transform,y={u_matrix:e,u_lightpos:f,u_lightintensity:p.properties.get("intensity"),u_lightcolor:[g.r,g.g,g.b],u_vertical_gradient:+n,u_opacity:r,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:zi,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:o,u_edge_radius:s};return"globe"===_.projection.name&&(y.u_tile_id=[a.canonical.x,a.canonical.y,1<{const d=Di(e,i,n,r,o,s,a,c,u,h,p),f={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return t.extend(d,Li(i,l),f)},Oi=t=>({u_matrix:t}),Bi=(e,i,n)=>t.extend(Oi(e),Li(i,n)),Ni=(t,e)=>({u_matrix:t,u_world:e}),Fi=(e,i,n,r)=>t.extend(Bi(e,i,n),{u_world:r}),Ui=t.create(),ji=(e,i,n,r,o,s)=>{const a=e.transform,l="globe"===a.projection.name;let c;if("map"===s.paint.get("circle-pitch-alignment"))if(l){const e=t.globePixelsToTileUnits(a.zoom,i.canonical)*a._pixelsPerMercatorPixel;c=Float32Array.from([e,0,0,e])}else c=a.calculatePixelsToTileUnitsMatrix(n);else c=new Float32Array([a.pixelsToGLUnits[0],0,0,a.pixelsToGLUnits[1]]);const u={u_camera_to_center_distance:a.cameraToCenterDistance,u_matrix:e.translatePosMatrix(i.projMatrix,n,s.paint.get("circle-translate"),s.paint.get("circle-translate-anchor")),u_device_pixel_ratio:t.exported.devicePixelRatio,u_extrude_scale:c,u_inv_rot_matrix:Ui,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(l){u.u_inv_rot_matrix=r,u.u_merc_center=o,u.u_tile_id=[i.canonical.x,i.canonical.y,1<{const e=[];return"map"===t.paint.get("circle-pitch-alignment")&&e.push("PITCH_WITH_MAP"),"map"===t.paint.get("circle-pitch-scale")&&e.push("SCALE_WITH_MAP"),e},Gi=(e,i,n,r)=>{const o=t.EXTENT/n.tileSize;return{u_matrix:e,u_camera_to_center_distance:i.getCameraToCenterDistance(r),u_extrude_scale:[i.pixelsToGLUnits[0]/o,i.pixelsToGLUnits[1]/o]}},qi=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),Zi=t.create(),$i=(e,i,n,r,o,s,a)=>{const l=e.transform,c="globe"===l.projection.name,u=c?t.globePixelsToTileUnits(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:M(n,1,s),h={u_matrix:i.projMatrix,u_extrude_scale:u,u_intensity:a,u_inv_rot_matrix:Zi,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){h.u_inv_rot_matrix=r,h.u_merc_center=o,h.u_tile_id=[i.canonical.x,i.canonical.y,1<{const a=t.transform,l=a.calculatePixelsToTileUnitsMatrix(e);return{u_matrix:Yi(t,e,i,n),u_pixels_to_tile_units:l,u_device_pixel_ratio:o,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:r,u_texsize:Ki(i)?e.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Hi(e,t.transform),u_alpha_discard_threshold:0,u_trim_offset:s}},Wi=(t,e,i,n,r)=>{const o=t.transform;return{u_matrix:Yi(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_pixels_to_tile_units:o.calculatePixelsToTileUnitsMatrix(e),u_device_pixel_ratio:r,u_image:0,u_tile_units_to_pixels:Hi(e,o),u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]],u_alpha_discard_threshold:0}};function Hi(t,e){return 1/M(t,1,e.tileZoom)}function Yi(t,e,i,n){return t.translatePosMatrix(n||e.tileID.projMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}function Ki(t){const e=t.paint.get("line-dasharray").value;return e.value||"constant"!==e.kind}const Ji=(t,e,i,n,r,o)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get("raster-brightness-min"),u_brightness_high:r.paint.get("raster-brightness-max"),u_saturation_factor:(a=r.paint.get("raster-saturation"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=r.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:Qi(r.paint.get("raster-hue-rotate")),u_perspective_transform:o};var s,a};function Qi(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return[(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const tn=t.create(),en=(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g)=>{const _=o.transform,y={u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:_.cameraToCenterDistance,u_rotate_symbol:+n,u_aspect_ratio:_.width/_.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+r,u_texsize:u,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:tn,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:tn,u_up_vector:[0,-1,0]};return"globe"===g.name&&(y.u_tile_id=[h.canonical.x,h.canonical.y,1<t.extend(en(e,i,n,r,o,s,a,l,c,u,p,d,f,m,g,_),{u_gamma_scale:r?o.transform.cameraToCenterDistance*Math.cos(o.terrain?0:o.transform._pitch):1,u_device_pixel_ratio:t.exported.devicePixelRatio,u_is_halo:+h}),rn=(e,i,n,r,o,s,a,l,c,u,h,p,d,f,m,g)=>t.extend(nn(e,i,n,r,o,s,a,l,!0,c,!0,h,p,d,f,m,g),{u_texsize_icon:u,u_texture_icon:1}),on=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),sn=(e,i,n,r,o)=>t.extend(function(t,e,i){const n=e.imageManager.getPattern(t.toString()),{width:r,height:o}=e.imageManager.getPixelSize(),s=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/s,l=a*(i.tileID.canonical.x+i.tileID.wrap*s),c=a*i.tileID.canonical.y;return{u_image:0,u_pattern_tl:n.tl,u_pattern_br:n.br,u_texsize:[r,o],u_pattern_size:n.displaySize,u_tile_units_to_pixels:1/M(i,1,e.transform.tileZoom),u_pixel_coord_upper:[l>>16,c>>16],u_pixel_coord_lower:[65535&l,65535&c]}}(r,n,o),{u_matrix:e,u_opacity:i}),an={fillExtrusion:e=>({u_matrix:new t.UniformMatrix4f(e),u_lightpos:new t.Uniform3f(e),u_lightintensity:new t.Uniform1f(e),u_lightcolor:new t.Uniform3f(e),u_vertical_gradient:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e),u_edge_radius:new t.Uniform1f(e),u_ao:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_up_dir:new t.Uniform3f(e),u_height_lift:new t.Uniform1f(e)}),fillExtrusionPattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_lightpos:new t.Uniform3f(e),u_lightintensity:new t.Uniform1f(e),u_lightcolor:new t.Uniform3f(e),u_vertical_gradient:new t.Uniform1f(e),u_height_factor:new t.Uniform1f(e),u_edge_radius:new t.Uniform1f(e),u_ao:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_up_dir:new t.Uniform3f(e),u_height_lift:new t.Uniform1f(e),u_image:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e)}),fill:e=>({u_matrix:new t.UniformMatrix4f(e)}),fillPattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_image:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e)}),fillOutline:e=>({u_matrix:new t.UniformMatrix4f(e),u_world:new t.Uniform2f(e)}),fillOutlinePattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_world:new t.Uniform2f(e),u_image:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e)}),circle:e=>({u_camera_to_center_distance:new t.Uniform1f(e),u_extrude_scale:new t.UniformMatrix2f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_up_dir:new t.Uniform3f(e)}),collisionBox:e=>({u_matrix:new t.UniformMatrix4f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_extrude_scale:new t.Uniform2f(e)}),collisionCircle:e=>({u_matrix:new t.UniformMatrix4f(e),u_inv_matrix:new t.UniformMatrix4f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_viewport_size:new t.Uniform2f(e)}),debug:e=>({u_color:new t.UniformColor(e),u_matrix:new t.UniformMatrix4f(e),u_overlay:new t.Uniform1i(e),u_overlay_scale:new t.Uniform1f(e)}),clippingMask:e=>({u_matrix:new t.UniformMatrix4f(e)}),heatmap:e=>({u_extrude_scale:new t.Uniform1f(e),u_intensity:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_up_dir:new t.Uniform3f(e)}),heatmapTexture:e=>({u_image:new t.Uniform1i(e),u_color_ramp:new t.Uniform1i(e),u_opacity:new t.Uniform1f(e)}),hillshade:e=>({u_matrix:new t.UniformMatrix4f(e),u_image:new t.Uniform1i(e),u_latrange:new t.Uniform2f(e),u_light:new t.Uniform2f(e),u_shadow:new t.UniformColor(e),u_highlight:new t.UniformColor(e),u_accent:new t.UniformColor(e)}),hillshadePrepare:e=>({u_matrix:new t.UniformMatrix4f(e),u_image:new t.Uniform1i(e),u_dimension:new t.Uniform2f(e),u_zoom:new t.Uniform1f(e),u_unpack:new t.Uniform4f(e)}),line:e=>({u_matrix:new t.UniformMatrix4f(e),u_pixels_to_tile_units:new t.UniformMatrix2f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_units_to_pixels:new t.Uniform2f(e),u_dash_image:new t.Uniform1i(e),u_gradient_image:new t.Uniform1i(e),u_image_height:new t.Uniform1f(e),u_texsize:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e),u_alpha_discard_threshold:new t.Uniform1f(e),u_trim_offset:new t.Uniform2f(e)}),linePattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_texsize:new t.Uniform2f(e),u_pixels_to_tile_units:new t.UniformMatrix2f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_image:new t.Uniform1i(e),u_units_to_pixels:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e),u_alpha_discard_threshold:new t.Uniform1f(e)}),raster:e=>({u_matrix:new t.UniformMatrix4f(e),u_tl_parent:new t.Uniform2f(e),u_scale_parent:new t.Uniform1f(e),u_fade_t:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e),u_image0:new t.Uniform1i(e),u_image1:new t.Uniform1i(e),u_brightness_low:new t.Uniform1f(e),u_brightness_high:new t.Uniform1f(e),u_saturation_factor:new t.Uniform1f(e),u_contrast_factor:new t.Uniform1f(e),u_spin_weights:new t.Uniform3f(e),u_perspective_transform:new t.Uniform2f(e)}),symbolIcon:e=>({u_is_size_zoom_constant:new t.Uniform1i(e),u_is_size_feature_constant:new t.Uniform1i(e),u_size_t:new t.Uniform1f(e),u_size:new t.Uniform1f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_rotate_symbol:new t.Uniform1i(e),u_aspect_ratio:new t.Uniform1f(e),u_fade_change:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_label_plane_matrix:new t.UniformMatrix4f(e),u_coord_matrix:new t.UniformMatrix4f(e),u_is_text:new t.Uniform1i(e),u_pitch_with_map:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_camera_forward:new t.Uniform3f(e),u_tile_matrix:new t.UniformMatrix4f(e),u_up_vector:new t.Uniform3f(e),u_ecef_origin:new t.Uniform3f(e),u_texture:new t.Uniform1i(e)}),symbolSDF:e=>({u_is_size_zoom_constant:new t.Uniform1i(e),u_is_size_feature_constant:new t.Uniform1i(e),u_size_t:new t.Uniform1f(e),u_size:new t.Uniform1f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_rotate_symbol:new t.Uniform1i(e),u_aspect_ratio:new t.Uniform1f(e),u_fade_change:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_label_plane_matrix:new t.UniformMatrix4f(e),u_coord_matrix:new t.UniformMatrix4f(e),u_is_text:new t.Uniform1i(e),u_pitch_with_map:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_texture:new t.Uniform1i(e),u_gamma_scale:new t.Uniform1f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_tile_id:new t.Uniform3f(e),u_zoom_transition:new t.Uniform1f(e),u_inv_rot_matrix:new t.UniformMatrix4f(e),u_merc_center:new t.Uniform2f(e),u_camera_forward:new t.Uniform3f(e),u_tile_matrix:new t.UniformMatrix4f(e),u_up_vector:new t.Uniform3f(e),u_ecef_origin:new t.Uniform3f(e),u_is_halo:new t.Uniform1i(e)}),symbolTextAndIcon:e=>({u_is_size_zoom_constant:new t.Uniform1i(e),u_is_size_feature_constant:new t.Uniform1i(e),u_size_t:new t.Uniform1f(e),u_size:new t.Uniform1f(e),u_camera_to_center_distance:new t.Uniform1f(e),u_rotate_symbol:new t.Uniform1i(e),u_aspect_ratio:new t.Uniform1f(e),u_fade_change:new t.Uniform1f(e),u_matrix:new t.UniformMatrix4f(e),u_label_plane_matrix:new t.UniformMatrix4f(e),u_coord_matrix:new t.UniformMatrix4f(e),u_is_text:new t.Uniform1i(e),u_pitch_with_map:new t.Uniform1i(e),u_texsize:new t.Uniform2f(e),u_texsize_icon:new t.Uniform2f(e),u_texture:new t.Uniform1i(e),u_texture_icon:new t.Uniform1i(e),u_gamma_scale:new t.Uniform1f(e),u_device_pixel_ratio:new t.Uniform1f(e),u_is_halo:new t.Uniform1i(e)}),background:e=>({u_matrix:new t.UniformMatrix4f(e),u_opacity:new t.Uniform1f(e),u_color:new t.UniformColor(e)}),backgroundPattern:e=>({u_matrix:new t.UniformMatrix4f(e),u_opacity:new t.Uniform1f(e),u_image:new t.Uniform1i(e),u_pattern_tl:new t.Uniform2f(e),u_pattern_br:new t.Uniform2f(e),u_texsize:new t.Uniform2f(e),u_pattern_size:new t.Uniform2f(e),u_pixel_coord_upper:new t.Uniform2f(e),u_pixel_coord_lower:new t.Uniform2f(e),u_tile_units_to_pixels:new t.Uniform1f(e)}),terrainRaster:_i,terrainDepth:_i,skybox:e=>({u_matrix:new t.UniformMatrix4f(e),u_sun_direction:new t.Uniform3f(e),u_cubemap:new t.Uniform1i(e),u_opacity:new t.Uniform1f(e),u_temporal_offset:new t.Uniform1f(e)}),skyboxGradient:e=>({u_matrix:new t.UniformMatrix4f(e),u_color_ramp:new t.Uniform1i(e),u_center_direction:new t.Uniform3f(e),u_radius:new t.Uniform1f(e),u_opacity:new t.Uniform1f(e),u_temporal_offset:new t.Uniform1f(e)}),skyboxCapture:e=>({u_matrix_3f:new t.UniformMatrix3f(e),u_sun_direction:new t.Uniform3f(e),u_sun_intensity:new t.Uniform1f(e),u_color_tint_r:new t.Uniform4f(e),u_color_tint_m:new t.Uniform4f(e),u_luminance:new t.Uniform1f(e)}),globeRaster:e=>({u_proj_matrix:new t.UniformMatrix4f(e),u_globe_matrix:new t.UniformMatrix4f(e),u_normalize_matrix:new t.UniformMatrix4f(e),u_merc_matrix:new t.UniformMatrix4f(e),u_zoom_transition:new t.Uniform1f(e),u_merc_center:new t.Uniform2f(e),u_image0:new t.Uniform1i(e),u_grid_matrix:new t.UniformMatrix3f(e),u_skirt_height:new t.Uniform1f(e),u_frustum_tl:new t.Uniform3f(e),u_frustum_tr:new t.Uniform3f(e),u_frustum_br:new t.Uniform3f(e),u_frustum_bl:new t.Uniform3f(e),u_globe_pos:new t.Uniform3f(e),u_globe_radius:new t.Uniform1f(e),u_viewport:new t.Uniform2f(e)}),globeAtmosphere:e=>({u_frustum_tl:new t.Uniform3f(e),u_frustum_tr:new t.Uniform3f(e),u_frustum_br:new t.Uniform3f(e),u_frustum_bl:new t.Uniform3f(e),u_horizon:new t.Uniform1f(e),u_transition:new t.Uniform1f(e),u_fadeout_range:new t.Uniform1f(e),u_color:new t.Uniform4f(e),u_high_color:new t.Uniform4f(e),u_space_color:new t.Uniform4f(e),u_star_intensity:new t.Uniform1f(e),u_star_density:new t.Uniform1f(e),u_star_size:new t.Uniform1f(e),u_temporal_offset:new t.Uniform1f(e),u_horizon_angle:new t.Uniform1f(e),u_rotation_matrix:new t.UniformMatrix4f(e)})};let ln;function cn(e,i,n,r,o,s,a){const l=e.context,c=l.gl,u=e.transform,h=e.useProgram("collisionBox"),p=[];let d=0,f=0;for(let m=0;m0){const e=t.create(),i=x;t.mul(e,y.placementInvProjMatrix,u.glCoordMatrix),t.mul(e,e,y.placementViewportMatrix),p.push({circleArray:w,circleOffset:f,transform:i,invTransform:e,projection:y.getProjection()}),d+=w.length/4,f=d}b&&(e.terrain&&e.terrain.setupElevationDraw(_,h),h.draw(l,c.LINES,t.DepthMode.disabled,t.StencilMode.disabled,e.colorModeForRenderPass(),t.CullFaceMode.disabled,Gi(x,u,_,y.getProjection()),n.id,b.layoutVertexBuffer,b.indexBuffer,b.segments,null,u.zoom,null,[b.collisionVertexBuffer,b.collisionVertexBufferExt]))}if(!a||!p.length)return;const m=e.useProgram("collisionCircle"),g=new t.StructArrayLayout2f1f2i16;g.resize(4*d),g._trim();let _=0;for(const t of p)for(let e=0;e=0&&(m[x.associatedIconIndex]={x:C,y:T,z:k,angle:L})}else de(A,d)}if(h){f.clear();const i=e.icon.placedSymbolArray;for(let e=0;et.sortKey-e.sortKey));for(const t of T){const i=t.state;if(e.terrain&&e.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:!C,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),d.activeTexture.set(f.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,f.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(f.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),i.isSDF){const r=i.uniformValues;i.hasHalo&&(r.u_is_halo=1,mn(i.buffers,t.segments,n,e,i.program,w,h,p,r)),r.u_is_halo=0}mn(i.buffers,t.segments,n,e,i.program,w,h,p,i.uniformValues)}}function mn(e,i,n,r,o,s,a,l,c){const u=r.context,h=[e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer,e.globeExtVertexBuffer];o.draw(u,u.gl.TRIANGLES,s,a,l,t.CullFaceMode.disabled,c,n.id,e.layoutVertexBuffer,e.indexBuffer,i,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),h)}function gn(e,i,n,r,o,s,a){const l=e.context.gl,c=n.paint.get("fill-pattern"),u=c&&c.constantOr(1);let h,p,d,f,m;a?(p=u&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",h=l.LINES):(p=u?"fillPattern":"fill",h=l.TRIANGLES);for(const g of r){const r=i.getTile(g);if(u&&!r.patternsLoaded())continue;const _=r.getBucket(n);if(!_)continue;e.prepareDrawTile();const y=_.programConfigurations.get(n.id),v=e.useProgram(p,y);u&&(e.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers());const x=c.constantOr(null);if(x&&r.imageAtlas){const t=r.imageAtlas.patternPositions[x.toString()];t&&y.setConstantPatternPositions(t)}const b=e.translatePosMatrix(g.projMatrix,r,n.paint.get("fill-translate"),n.paint.get("fill-translate-anchor"));if(a){f=_.indexBuffer2,m=_.segments2;const t=e.terrain&&e.terrain.renderingToTexture?e.terrain.drapeBufferSize:[l.drawingBufferWidth,l.drawingBufferHeight];d="fillOutlinePattern"===p&&u?Fi(b,e,r,t):Ni(b,t)}else f=_.indexBuffer,m=_.segments,d=u?Bi(b,e,r):Oi(b);e.prepareDrawProgram(e.context,v,g.toUnwrapped()),v.draw(e.context,h,o,e.stencilModeForClipping(g),s,t.CullFaceMode.disabled,d,n.id,_.layoutVertexBuffer,f,m,n.paint,e.transform.zoom,y)}}function _n(e,i,n,r,o,s,a){const l=e.context,c=l.gl,u=e.transform,h=n.paint.get("fill-extrusion-pattern"),p=h.constantOr(1),d=n.paint.get("fill-extrusion-opacity"),f=[n.paint.get("fill-extrusion-ambient-occlusion-intensity"),n.paint.get("fill-extrusion-ambient-occlusion-radius")],m=n.layout.get("fill-extrusion-edge-radius"),g=m>0&&!n.paint.get("fill-extrusion-rounded-roof"),_=g?0:m,y="globe"===u.projection.name?t.fillExtrusionHeightLift():0,v="globe"===u.projection.name,x=v?t.globeToMercatorTransition(u.zoom):0,b=[t.mercatorXfromLng(u.center.lng),t.mercatorYfromLat(u.center.lat)],w=[];v&&w.push("PROJECTION_GLOBE_VIEW"),f[0]>0&&w.push("FAUX_AO"),g&&w.push("ZERO_ROOF_RADIUS");for(const m of r){const r=i.getTile(m),g=r.getBucket(n);if(!g||g.projection.name!==u.projection.name)continue;const A=g.programConfigurations.get(n.id),E=e.useProgram(p?"fillExtrusionPattern":"fillExtrusion",A,w);if(e.terrain){const t=e.terrain;if(e.style.terrainSetForDrapingOnly())t.setupElevationDraw(r,E,{useMeterToDem:!0});else{if(!g.enableTerrain)continue;if(t.setupElevationDraw(r,E,{useMeterToDem:!0}),yn(l,i,m,g,n,t),!g.centroidVertexBuffer){const t=E.attributes.a_centroid_pos;void 0!==t&&c.vertexAttrib2f(t,0,0)}}}p&&(e.context.activeTexture.set(c.TEXTURE0),r.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),A.updatePaintBuffers());const C=h.constantOr(null);if(C&&r.imageAtlas){const t=r.imageAtlas.patternPositions[C.toString()];t&&A.setConstantPatternPositions(t)}const T=e.translatePosMatrix(m.projMatrix,r,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),k=u.projection.createInversionMatrix(u,m.canonical),S=n.paint.get("fill-extrusion-vertical-gradient"),I=p?Ri(T,e,S,d,f,_,m,r,y,x,b,k):Di(T,e,S,d,f,_,m,y,x,b,k);e.prepareDrawProgram(l,E,m.toUnwrapped());const M=[];e.terrain&&M.push(g.centroidVertexBuffer),v&&M.push(g.layoutVertexExtBuffer),E.draw(l,l.gl.TRIANGLES,o,s,a,t.CullFaceMode.backCCW,I,n.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,n.paint,e.transform.zoom,A,M)}}function yn(e,i,n,r,o,s){const a=[e=>{let i=e.canonical.x-1,n=e.wrap;return i<0&&(i=(1<{let i=e.canonical.x+1,n=e.wrap;return i===1<new t.OverscaledTileID(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,(0===e.canonical.y?1<new t.OverscaledTileID(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y===(1<{const e=i.getSource().minzoom,n=t=>{const e=i.getTileByID(t);if(e&&e.hasData())return e.getBucket(o)},r=[0,-1,1];for(const i of r){if(t.overscaledZ+i(c[0]=Math.min(e.min.y,i.min.y),c[1]=Math.max(e.max.y,i.max.y),c[2]=t.EXTENT-i.min.x>e.max.x?i.min.x-t.EXTENT:e.max.x,c),h=(e,i)=>(c[0]=Math.min(e.min.x,i.min.x),c[1]=Math.max(e.max.x,i.max.x),c[2]=t.EXTENT-i.min.y>e.max.y?i.min.y-t.EXTENT:e.max.y,c),p=[(t,e)=>u(t,e),(t,e)=>u(e,t),(t,e)=>h(t,e),(t,e)=>h(e,t)],d=new t.Point(0,0);let f,m,g;const _=(e,i,r,o,a)=>{const l=[[o?r:e,o?e:r,0],[o?r:i,o?i:r,0]],c=a<0?t.EXTENT+a:a,u=[o?c:(e+i)/2,o?(e+i)/2:c,0];return 0===r&&a<0||0!==r&&a>0?s.getForTilePoints(g,[u],!0,m):l.push(u),s.getForTilePoints(n,l,!0,f),Math.max(l[0][2],l[1][2],u[2])/s.exaggeration()};for(let e=0;e<4;e++){const i=(e<2?1:5)-e,o=r.borders[e];if(0===o.length)continue;const c=g=a[e](n),u=l(c);if(!(u&&u instanceof t.FillExtrusionBucket&&u.enableTerrain))continue;if(r.borderDoneWithNeighborZ[e]===u.canonical.z&&u.borderDoneWithNeighborZ[i]===r.canonical.z)continue;if(m=s.findDEMTileFor(c),!m||!m.dem)continue;if(!f){const t=s.findDEMTileFor(n);if(!t||!t.dem)return;f=t}const h=u.borders[i];let y=0;const v=u.borderDoneWithNeighborZ[i]!==r.canonical.z;if(r.canonical.z===u.canonical.z){for(let n=0;na[0]+3));)v&&u.encodeCentroid(void 0,l,!1),y++;if(l&&ya[1]-3)&&(o++,++y!==h.length);)l=u.featuresOnBorder[h[y]];if(l=u.featuresOnBorder[h[n]],s.intersectsCount()>1||l.intersectsCount()>1||1!==o){1!==o&&(y=n),r.encodeCentroid(void 0,s,!1),v&&u.encodeCentroid(void 0,l,!1);continue}const c=p[e](s,l),f=e%2?t.EXTENT-1:0;d.x=_(c[0],Math.min(t.EXTENT-1,c[1]),f,e<2,c[2]),d.y=0,r.encodeCentroid(d,s,!1),v&&u.encodeCentroid(d,l,!1)}else r.encodeCentroid(void 0,s,!1)}r.borderDoneWithNeighborZ[e]=u.canonical.z,r.needsCentroidUpdate=!0,v&&(u.borderDoneWithNeighborZ[i]=r.canonical.z,u.needsCentroidUpdate=!0)}else{for(const t of o)r.encodeCentroid(void 0,r.featuresOnBorder[t],!1);if(v){for(const t of h)u.encodeCentroid(void 0,u.featuresOnBorder[t],!1);u.borderDoneWithNeighborZ[i]=r.canonical.z,u.needsCentroidUpdate=!0}r.borderDoneWithNeighborZ[e]=u.canonical.z,r.needsCentroidUpdate=!0}}(r.needsCentroidUpdate||!r.centroidVertexBuffer&&0!==r.centroidVertexArray.length)&&r.uploadCentroid(e)}const vn=new t.Color(1,0,0,1),xn=new t.Color(0,1,0,1),bn=new t.Color(0,0,1,1),wn=new t.Color(1,0,1,1),An=new t.Color(0,1,1,1);function En(e,i,n){const r=e.context,o=e.transform,s=r.gl,a="globe"===o.projection.name,l=a?["PROJECTION_GLOBE_VIEW"]:null;let c=n.projMatrix;if(a&&t.globeToMercatorTransition(o.zoom)>0){const e=t.transitionTileAABBinECEF(n.canonical,o),i=t.globeDenormalizeECEF(e);c=t.multiply(new Float32Array(16),o.globeMatrix,i),t.multiply(c,o.projMatrix,c)}const u=e.useProgram("debug",null,l),h=i.getTileByID(n.key);e.terrain&&e.terrain.setupElevationDraw(h,u);const p=t.DepthMode.disabled,d=t.StencilMode.disabled,f=e.colorModeForRenderPass(),m="$debug";r.activeTexture.set(s.TEXTURE0),e.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),a?h._makeGlobeTileDebugBuffers(e.context,o):h._makeDebugTileBoundsBuffers(e.context,o.projection);const g=h._tileDebugBuffer||e.debugBuffer,_=h._tileDebugIndexBuffer||e.debugIndexBuffer,y=h._tileDebugSegments||e.debugSegments;u.draw(r,s.LINE_STRIP,p,d,f,t.CullFaceMode.disabled,qi(c,t.Color.red),m,g,_,y,null,null,null,[h._globeTileDebugBorderBuffer]);const v=h.latestRawTileData,x=Math.floor((v&&v.byteLength||0)/1024),b=i.getTile(n).tileSize,w=512/Math.min(b,512)*(n.overscaledZ/o.zoom)*.5;let A=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(A+=` => ${n.overscaledZ}`),A+=` ${x}kb`,function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,n=t.context.gl,r=t.debugOverlayCanvas.getContext("2d");r.clearRect(0,0,i.width,i.height),r.shadowColor="white",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle="white",r.textBaseline="top",r.font="bold 36px Open Sans, sans-serif",r.fillText(e,5,5),r.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,A);const E=h._tileDebugTextBuffer||e.debugBuffer,C=h._tileDebugTextIndexBuffer||e.quadTriangleIndexBuffer,T=h._tileDebugTextSegments||e.debugSegments;u.draw(r,s.TRIANGLES,p,d,t.ColorMode.alphaBlended,t.CullFaceMode.disabled,qi(c,t.Color.transparent,w),m,E,C,T,null,null,null,[h._globeTileDebugTextBuffer])}function Cn(t,e,i,n){kn(t,0,e+i/2,t.transform.width,i,n)}function Tn(t,e,i,n){kn(t,e-i/2,0,i,t.transform.height,n)}function kn(e,i,n,r,o,s){const a=e.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*t.exported.devicePixelRatio,n*t.exported.devicePixelRatio,r*t.exported.devicePixelRatio,o*t.exported.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST)}const Sn=t.createLayout([{name:"a_pos_3f",components:3,type:"Float32"}]),{members:In}=Sn;function Mn(t,e,i,n){t.emplaceBack(e,i,n)}class Pn{constructor(e){this.vertexArray=new t.StructArrayLayout3f12,this.indices=new t.StructArrayLayout3ui6,Mn(this.vertexArray,-1,-1,1),Mn(this.vertexArray,1,-1,1),Mn(this.vertexArray,-1,1,1),Mn(this.vertexArray,1,1,1),Mn(this.vertexArray,-1,-1,-1),Mn(this.vertexArray,1,-1,-1),Mn(this.vertexArray,-1,1,-1),Mn(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=e.createVertexBuffer(this.vertexArray,In),this.indexBuffer=e.createIndexBuffer(this.indices),this.segment=t.SegmentVector.simpleSegment(0,0,36,12)}}function Ln(e,i,n,r,o,s){const a=e.gl,l=i.paint.get("sky-atmosphere-color"),c=i.paint.get("sky-atmosphere-halo-color"),u=i.paint.get("sky-atmosphere-sun-intensity"),h=((t,e,i,n,r)=>({u_matrix_3f:t,u_sun_direction:e,u_sun_intensity:i,u_color_tint_r:[n.r,n.g,n.b,n.a],u_color_tint_m:[r.r,r.g,r.b,r.a],u_luminance:5e-5}))(t.fromMat4(t.create$1(),r),o,u,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),n.draw(e,a.TRIANGLES,t.DepthMode.disabled,t.StencilMode.disabled,t.ColorMode.unblended,t.CullFaceMode.frontCW,h,"skyboxCapture",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}const zn=t.createLayout([{type:"Float32",name:"a_pos",components:3},{type:"Float32",name:"a_uv",components:2}]);class Dn{constructor(e){const i=new t.StructArrayLayout5f20;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const n=new t.StructArrayLayout3ui6;n.emplaceBack(0,1,2),n.emplaceBack(2,3,0),this.vertexBuffer=e.createVertexBuffer(i,zn.members),this.indexBuffer=e.createIndexBuffer(n),this.segments=t.SegmentVector.simpleSegment(0,0,4,2)}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy()}}const Rn={symbol:function(e,i,n,r,o){if("translucent"!==e.renderPass)return;const s=t.StencilMode.disabled,a=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,i,n,r,o,s,a){const l=i.transform,c="map"===o,u="map"===s;for(const i of e){const e=r.getTile(i),o=e.getBucket(n);if(!o||!o.text||!o.text.segments.get().length)continue;const s=t.evaluateSizeForZoom(o.textSizeData,l.zoom),h=ve(i,o.getProjection(),l),p=l.calculatePixelsToTileUnitsMatrix(e),d=te(h,e.tileID.canonical,u,c,l,o.getProjection(),p),f="none"!==n.layout.get("icon-text-fit")&&o.hasIconData();if(s){const n=Math.pow(2,l.zoom-e.tileID.overscaledZ);pn(o,c,u,a,t.symbolSize,l,d,i,n,s,f)}}}(r,e,n,i,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),o),0!==n.paint.get("icon-opacity").constantOr(1)&&fn(e,i,n,r,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),s,a),0!==n.paint.get("text-opacity").constantOr(1)&&fn(e,i,n,r,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),s,a),i.map.showCollisionBoxes&&(cn(e,i,n,r,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),!0),cn(e,i,n,r,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),!1))},circle:function(e,i,n,r){if("translucent"!==e.renderPass)return;const o=n.paint.get("circle-opacity"),s=n.paint.get("circle-stroke-width"),a=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0===o.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const c=e.context,u=c.gl,h=e.transform,p=e.depthModeForSublayer(0,t.DepthMode.ReadOnly),d=t.StencilMode.disabled,f=e.colorModeForRenderPass(),m="globe"===h.projection.name,g=[t.mercatorXfromLng(h.center.lng),t.mercatorYfromLat(h.center.lat)],_=[];for(let o=0;ot.sortKey-e.sortKey));const y={useDepthForOcclusion:!m};for(const i of _){const{programConfiguration:r,program:o,layoutVertexBuffer:s,globeExtVertexBuffer:a,indexBuffer:l,uniformValues:m,tile:g}=i.state,_=i.segments;e.terrain&&e.terrain.setupElevationDraw(g,o,y),e.prepareDrawProgram(c,o,g.tileID.toUnwrapped()),o.draw(c,u.TRIANGLES,p,d,f,t.CullFaceMode.disabled,m,n.id,s,l,_,n.paint,h.zoom,r,[a])}},heatmap:function(e,i,n,r){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const o=e.context,s=o.gl,a=t.StencilMode.disabled,l=new t.ColorMode([s.ONE,s.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i,n){const r=t.gl,o=e.width*n,s=e.height*n;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,o,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==o||a.height!==s)){a&&a.destroy();const e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),a=i.heatmapFbo=t.createFramebuffer(o,s,!1),function(t,e,i,n,r,o){const s=t.gl;s.texImage2D(s.TEXTURE_2D,0,t.isWebGL2&&t.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,r,o,0,s.RGBA,t.extRenderToTextureHalfFloat?t.isWebGL2?s.HALF_FLOAT:t.extTextureHalfFloat.HALF_FLOAT_OES:s.UNSIGNED_BYTE,null),n.colorAttachment.set(i)}(t,0,e,a,o,s)}else r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer)}(o,e,n,"globe"===e.transform.projection.name?.5:.25),o.clear({color:t.Color.transparent});const c=e.transform,u="globe"===c.projection.name,h=u?["PROJECTION_GLOBE_VIEW"]:null,p=u?t.CullFaceMode.frontCCW:t.CullFaceMode.disabled,d=[t.mercatorXfromLng(c.center.lng),t.mercatorYfromLat(c.center.lat)];for(let f=0;f({u_image:0,u_color_ramp:1,u_opacity:e.paint.get("heatmap-opacity")}))(0,i),i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,n))},line:function(e,i,n,r){if("translucent"!==e.renderPass)return;const o=n.paint.get("line-opacity"),s=n.paint.get("line-width");if(0===o.constantOr(1)||0===s.constantOr(1))return;const a=e.depthModeForSublayer(0,t.DepthMode.ReadOnly),l=e.colorModeForRenderPass(),c=e.terrain&&e.terrain.renderingToTexture?1:t.exported.devicePixelRatio,u=n.paint.get("line-dasharray"),h=u.constantOr(1),p=n.layout.get("line-cap"),d=n.paint.get("line-pattern"),f=d.constantOr(1),m=n.paint.get("line-gradient"),g=f?"linePattern":"line",_=e.context,y=_.gl,v=(t=>{const e=[];Ki(t)&&e.push("RENDER_LINE_DASH"),t.paint.get("line-gradient")&&e.push("RENDER_LINE_GRADIENT");const i=t.paint.get("line-trim-offset");0===i[0]&&0===i[1]||e.push("RENDER_LINE_TRIM_OFFSET");const n=t.paint.get("line-pattern").constantOr(1),r=1!==t.paint.get("line-opacity").constantOr(1);return!n&&r&&e.push("RENDER_LINE_ALPHA_DISCARD"),e})(n);let x=v.includes("RENDER_LINE_ALPHA_DISCARD");e.terrain&&e.terrain.clipOrMaskOverlapStencilType()&&(x=!1);for(const o of r){const r=i.getTile(o);if(f&&!r.patternsLoaded())continue;const s=r.getBucket(n);if(!s)continue;e.prepareDrawTile();const b=s.programConfigurations.get(n.id),w=e.useProgram(g,b,v),A=d.constantOr(null);if(A&&r.imageAtlas){const t=r.imageAtlas.patternPositions[A.toString()];t&&b.setConstantPatternPositions(t)}const E=u.constantOr(null),C=p.constantOr(null);if(!f&&E&&C&&r.lineAtlas){const t=r.lineAtlas.getDash(E,C);t&&b.setConstantPatternPositions(t)}let[T,k]=n.paint.get("line-trim-offset");if("round"===C||"square"===C){const t=1;T!==k&&(0===T&&(T-=t),1===k&&(k+=t))}const S=e.terrain?o.projMatrix:null,I=f?Wi(e,r,n,S,c):Xi(e,r,n,S,s.lineClipsArray.length,c,[T,k]);if(m){const r=s.gradients[n.id];let a=r.texture;if(n.gradientVersion!==r.version){let l=256;if(n.stepInterpolant){const n=i.getSource().maxzoom,r=o.canonical.z===n?Math.ceil(1<{w.draw(_,y.TRIANGLES,a,i,l,t.CullFaceMode.disabled,I,n.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,n.paint,e.transform.zoom,b,[s.layoutVertexBuffer2])};if(x){const i=e.stencilModeForClipping(o).ref;0===i&&e.terrain&&_.clear({stencil:0});const n={func:y.EQUAL,mask:255};I.u_alpha_discard_threshold=.8,M(new t.StencilMode(n,i,255,y.KEEP,y.KEEP,y.INVERT)),I.u_alpha_discard_threshold=0,M(new t.StencilMode(n,i,255,y.KEEP,y.KEEP,y.KEEP))}else M(e.stencilModeForClipping(o))}x&&(e.resetStencilClippingMasks(),e.terrain&&_.clear({stencil:0}))},fill:function(e,i,n,r){const o=n.paint.get("fill-color"),s=n.paint.get("fill-opacity");if(0===s.constantOr(1))return;const a=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===o.constantOr(t.Color.transparent).a&&1===s.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){const o=e.depthModeForSublayer(1,"opaque"===e.renderPass?t.DepthMode.ReadWrite:t.DepthMode.ReadOnly);gn(e,i,n,r,o,a,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){const o=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,t.DepthMode.ReadOnly);gn(e,i,n,r,o,a,!0)}},"fill-extrusion":function(e,i,n,r){const o=n.paint.get("fill-extrusion-opacity");if(0!==o&&"translucent"===e.renderPass){const s=new t.DepthMode(e.context.gl.LEQUAL,t.DepthMode.ReadWrite,e.depthRangeFor3D);if(1!==o||n.paint.get("fill-extrusion-pattern").constantOr(1))_n(e,i,n,r,s,t.StencilMode.disabled,t.ColorMode.disabled),_n(e,i,n,r,s,e.stencilModeFor3D(),e.colorModeForRenderPass()),e.resetStencilClippingMasks();else{const o=e.colorModeForRenderPass();_n(e,i,n,r,s,t.StencilMode.disabled,o)}}},hillshade:function(e,i,n,r){if("offscreen"!==e.renderPass&&"translucent"!==e.renderPass)return;const o=e.context,s=e.depthModeForSublayer(0,t.DepthMode.ReadOnly),a=e.colorModeForRenderPass(),l=e.terrain&&e.terrain.renderingToTexture,[c,u]="translucent"!==e.renderPass||l?[{},r]:e.stencilConfigForOverlap(r);for(const r of u){const o=i.getTile(r);if(o.needsHillshadePrepare&&"offscreen"===e.renderPass)gi(e,o,n,s,t.StencilMode.disabled,a);else if("translucent"===e.renderPass){const t=l&&e.terrain?e.terrain.stencilModeForRTTOverlap(r):c[r.overscaledZ];fi(e,r,o,n,s,t,a)}}o.viewport.set([0,0,e.width,e.height]),e.resetStencilClippingMasks()},raster:function(e,i,n,r,o,s){if("translucent"!==e.renderPass)return;if(0===n.paint.get("raster-opacity"))return;if(!r.length)return;const a=e.context,l=a.gl,c=i.getSource(),u=e.useProgram("raster"),h=e.colorModeForRenderPass(),p=e.terrain&&e.terrain.renderingToTexture,[d,f]=c instanceof St||p?[{},r]:e.stencilConfigForOverlap(r),m=f[f.length-1].overscaledZ,g=!e.options.moving;for(const r of f){const o=p?t.DepthMode.disabled:e.depthModeForSublayer(r.overscaledZ-m,1===n.paint.get("raster-opacity")?t.DepthMode.ReadWrite:t.DepthMode.ReadOnly,l.LESS),f=r.toUnwrapped(),_=i.getTile(r);if(p&&(!_||!_.hasData()))continue;const y=p?r.projMatrix:e.transform.calculateProjMatrix(f,g),v=e.terrain&&p?e.terrain.stencilModeForRTTOverlap(r):d[r.overscaledZ],x=s?0:n.paint.get("raster-fade-duration");_.registerFadeDuration(x);const b=i.findLoadedParent(r,0),w=Ti(_,b,i,e.transform,x);let A,E;e.terrain&&e.terrain.prepareDrawTile();const C="nearest"===n.paint.get("raster-resampling")?l.NEAREST:l.LINEAR;a.activeTexture.set(l.TEXTURE0),_.texture.bind(C,l.CLAMP_TO_EDGE),a.activeTexture.set(l.TEXTURE1),b?(b.texture.bind(C,l.CLAMP_TO_EDGE),A=Math.pow(2,b.tileID.overscaledZ-_.tileID.overscaledZ),E=[_.tileID.canonical.x*A%1,_.tileID.canonical.y*A%1]):_.texture.bind(C,l.CLAMP_TO_EDGE),_.texture.useMipmap&&a.extTextureFilterAnisotropic&&e.transform.pitch>20&&l.texParameterf(l.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax);const T=Ji(y,E||[0,0],A||1,w,n,c instanceof St?c.perspectiveTransform:[0,0]);if(e.prepareDrawProgram(a,u,f),c instanceof St)c.boundsBuffer&&c.boundsSegments&&u.draw(a,l.TRIANGLES,o,t.StencilMode.disabled,h,t.CullFaceMode.disabled,T,n.id,c.boundsBuffer,e.quadTriangleIndexBuffer,c.boundsSegments);else{const{tileBoundsBuffer:i,tileBoundsIndexBuffer:r,tileBoundsSegments:s}=e.getTileBoundsBuffers(_);u.draw(a,l.TRIANGLES,o,v,h,t.CullFaceMode.disabled,T,n.id,i,r,s)}}e.resetStencilClippingMasks()},background:function(e,i,n,r){const o=n.paint.get("background-color"),s=n.paint.get("background-opacity");if(0===s)return;const a=e.context,l=a.gl,c=e.transform,u=c.tileSize,h=n.paint.get("background-pattern");if(e.isPatternMissing(h))return;const p=!h&&1===o.a&&1===s&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==p)return;const d=t.StencilMode.disabled,f=e.depthModeForSublayer(0,"opaque"===p?t.DepthMode.ReadWrite:t.DepthMode.ReadOnly),m=e.colorModeForRenderPass(),g=e.useProgram(h?"backgroundPattern":"background");let _,y=r;y||(_=e.getBackgroundTiles(),y=Object.values(_).map((t=>t.tileID))),h&&(a.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context));for(const p of y){const y=p.toUnwrapped(),v=r?p.projMatrix:e.transform.calculateProjMatrix(y);e.prepareDrawTile();const x=i?i.getTile(p):_?_[p.key]:new t.Tile(p,u,c.zoom,e),b=h?sn(v,s,e,h,{tileID:p,tileSize:u}):on(v,s,o);e.prepareDrawProgram(a,g,y);const{tileBoundsBuffer:w,tileBoundsIndexBuffer:A,tileBoundsSegments:E}=e.getTileBoundsBuffers(x);g.draw(a,l.TRIANGLES,f,d,m,t.CullFaceMode.disabled,b,n.id,w,A,E)}},sky:function(e,i,n){const r=e.transform,o="mercator"===r.projection.name||"globe"===r.projection.name?1:t.smoothstep(7,8,r.zoom),s=n.paint.get("sky-opacity")*o;if(0===s)return;const a=e.context,l=n.paint.get("sky-type"),c=new t.DepthMode(a.gl.LEQUAL,t.DepthMode.ReadOnly,[0,1]),u=e.frameCounter/1e3%1;"atmosphere"===l?"offscreen"===e.renderPass?n.needsSkyboxCapture(e)&&(function(e,i,n,r){const o=e.context,s=o.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=o.createFramebuffer(32,32,!1),i.skyboxGeometry=new Pn(o),i.skyboxTexture=o.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let t=0;t<6;++t)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null)}o.bindFramebuffer.set(a.framebuffer),o.viewport.set([0,0,32,32]);const l=i.getCenter(e,!0),c=e.useProgram("skyboxCapture"),u=new Float64Array(16);t.identity(u),t.rotateY(u,u,.5*-Math.PI),Ln(o,i,c,u,l,0),t.identity(u),t.rotateY(u,u,.5*Math.PI),Ln(o,i,c,u,l,1),t.identity(u),t.rotateX(u,u,.5*-Math.PI),Ln(o,i,c,u,l,2),t.identity(u),t.rotateX(u,u,.5*Math.PI),Ln(o,i,c,u,l,3),t.identity(u),Ln(o,i,c,u,l,4),t.identity(u),t.rotateY(u,u,Math.PI),Ln(o,i,c,u,l,5),o.viewport.set([0,0,e.width,e.height])}(e,n),n.markSkyboxValid(e)):"sky"===e.renderPass&&function(e,i,n,r,o){const s=e.context,a=s.gl,l=e.transform,c=e.useProgram("skybox");s.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_CUBE_MAP,i.skyboxTexture);const u=((t,e,i,n,r)=>({u_matrix:t,u_sun_direction:e,u_cubemap:0,u_opacity:n,u_temporal_offset:r}))(l.skyboxMatrix,i.getCenter(e,!1),0,r,o);e.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,n,t.StencilMode.disabled,e.colorModeForRenderPass(),t.CullFaceMode.backCW,u,"skybox",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(e,n,c,s,u):"gradient"===l&&"sky"===e.renderPass&&function(e,i,n,r,o){const s=e.context,a=s.gl,l=e.transform,c=e.useProgram("skyboxGradient");i.skyboxGeometry||(i.skyboxGeometry=new Pn(s)),s.activeTexture.set(a.TEXTURE0);let u=i.colorRampTexture;u||(u=i.colorRampTexture=new t.Texture(s,i.colorRamp,a.RGBA)),u.bind(a.LINEAR,a.CLAMP_TO_EDGE);const h=((e,i,n,r,o)=>({u_matrix:e,u_color_ramp:0,u_center_direction:i,u_radius:t.degToRad(n),u_opacity:r,u_temporal_offset:o}))(l.skyboxMatrix,i.getCenter(e,!1),i.paint.get("sky-gradient-radius"),r,o);e.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,n,t.StencilMode.disabled,e.colorModeForRenderPass(),t.CullFaceMode.backCW,h,"skyboxGradient",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(e,n,c,s,u)},debug:function(t,e,i){for(let n=0;nn)return void(this.transform.fogCullDistSq=null);const r=i+.78*(n-i);this.transform.fogCullDistSq=r*r}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}resize(e,i){if(this.width=e*t.exported.devicePixelRatio,this.height=i*t.exported.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style.order)this.style._layers[t].resize()}setup(){const e=this.context,i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,t.posAttributes.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);const n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,t.posAttributes.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);const r=new t.StructArrayLayout2i4;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(-1,1),r.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(r,t.posAttributes.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);const o=new t.StructArrayLayout4i8;o.emplaceBack(0,0,0,0),o.emplaceBack(t.EXTENT,0,t.EXTENT,0),o.emplaceBack(0,t.EXTENT,0,t.EXTENT),o.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.mercatorBoundsBuffer=e.createVertexBuffer(o,t.boundsAttributes.members),this.mercatorBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);const s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);const a=new t.StructArrayLayout1ui2;for(const t of[0,1,3,2,0])a.emplaceBack(t);this.debugIndexBuffer=e.createIndexBuffer(a),this.emptyTexture=new t.Texture(e,new t.RGBAImage({width:1,height:1},Uint8Array.of(0,0,0,0)),e.gl.RGBA),this.identityMat=t.create();const l=this.context.gl;this.stencilClearMode=new t.StencilMode({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(t.window.performance.now()),this.atmosphereBuffer=new Dn(this.context)}getMercatorTileBoundsBuffers(){return{tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(t){return t._makeTileBoundsBuffers(this.context,this.transform.projection),t._tileBoundsBuffer?{tileBoundsBuffer:t._tileBoundsBuffer,tileBoundsIndexBuffer:t._tileBoundsIndexBuffer,tileBoundsSegments:t._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.useProgram("clippingMask").draw(e,i.TRIANGLES,t.DepthMode.disabled,this.stencilClearMode,t.ColorMode.disabled,t.CullFaceMode.disabled,Ci(this.identityMat),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={})}_renderTileClippingMasks(e,i,n){if(!i||this.currentStencilSource===i.id||!e.isTileClipped()||!n||0===n.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let t=!1;for(const e of n)if(void 0===this._tileClippingMaskIDs[e.key]){t=!0;break}if(!t)return}this.currentStencilSource=i.id;const r=this.context,o=r.gl;this.nextStencilID+n.length>256&&this.clearStencil(),r.setColorMode(t.ColorMode.disabled),r.setDepthMode(t.DepthMode.disabled);const s=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const e of n){const n=i.getTile(e),a=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,{tileBoundsBuffer:l,tileBoundsIndexBuffer:c,tileBoundsSegments:u}=this.getTileBoundsBuffers(n);s.draw(r,o.TRIANGLES,t.DepthMode.disabled,new t.StencilMode({func:o.ALWAYS,mask:0},a,255,o.KEEP,o.KEEP,o.REPLACE),t.ColorMode.disabled,t.CullFaceMode.disabled,Ci(e.projMatrix),"$clipping",l,c,u)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,i=this.context.gl;return new t.StencilMode({func:i.NOTEQUAL,mask:255},e,255,i.KEEP,i.KEEP,i.REPLACE)}stencilModeForClipping(e){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(e);const i=this.context.gl;return new t.StencilMode({func:i.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,i.KEEP,i.KEEP,i.REPLACE)}stencilConfigForOverlap(e){const i=this.context.gl,n=e.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=n[n.length-1].overscaledZ,o=n[0].overscaledZ-r+1;if(o>1){this.currentStencilSource=void 0,this.nextStencilID+o>256&&this.clearStencil();const e={};for(let n=0;n=0;this.currentLayer--){const t=this.style._layers[n[this.currentLayer]],i=e._getLayerSourceCache(t);if(t.isSky())continue;const r=i?s[i.id]:void 0;this._renderTileClippingMasks(t,i,r),this.renderLayer(this,i,t,r)}if(this.style.fog&&this.transform.projection.supportsFog&&function(e,i){const n=e.context,r=n.gl,o=e.transform,s=new t.DepthMode(r.LEQUAL,t.DepthMode.ReadOnly,[0,1]),a=e.useProgram("globeAtmosphere",null,"globe"===o.projection.name?["PROJECTION_GLOBE_VIEW","FOG"]:["FOG"]),l=t.globeToMercatorTransition(o.zoom),c=i.properties.get("color").toArray01(),u=i.properties.get("high-color").toArray01(),h=i.properties.get("space-color").toArray01PremultipliedAlpha(),p=t.identity$1([]);t.rotateY$1(p,p,-t.degToRad(o._center.lng)),t.rotateX$1(p,p,t.degToRad(o._center.lat)),t.rotateZ$1(p,p,o.angle),t.rotateX$1(p,p,-o._pitch);const d=t.fromQuat(new Float32Array(16),p),f=t.mapValue(i.properties.get("star-intensity"),0,1,0,.25),m=5e-4,g=t.mapValue(i.properties.get("horizon-blend"),0,1,m,.25),_=t.globeUseCustomAntiAliasing(e,n,o)&&g===m?o.worldSize/(2*Math.PI*1.025)-1:o.globeRadius,y=e.frameCounter/1e3%1,v=t.length(o.globeCenterInViewSpace),x=Math.sqrt(Math.pow(v,2)-Math.pow(_,2)),b=Math.acos(x/v),w=((e,i,n,r,o,s,a,l,c,u,h,p,d,f)=>({u_frustum_tl:e,u_frustum_tr:i,u_frustum_br:n,u_frustum_bl:r,u_horizon:o,u_transition:s,u_fadeout_range:a,u_color:l,u_high_color:c,u_space_color:u,u_star_intensity:h,u_star_size:5*t.exported.devicePixelRatio,u_star_density:0,u_temporal_offset:p,u_horizon_angle:d,u_rotation_matrix:f}))(o.frustumCorners.TL,o.frustumCorners.TR,o.frustumCorners.BR,o.frustumCorners.BL,o.frustumCorners.horizon,l,g,c,u,h,f,y,b,d);e.prepareDrawProgram(n,a);const A=e.atmosphereBuffer;A&&a.draw(n,r.TRIANGLES,s,t.StencilMode.disabled,t.ColorMode.alphaBlended,t.CullFaceMode.backCW,w,"skybox",A.vertexBuffer,A.indexBuffer,A.segments)}(this,this.style.fog),this.renderPass="sky",(t.globeToMercatorTransition(this.transform.zoom)>0||"globe"!==this.transform.projection.name)&&this.transform.isHorizonVisible())for(this.currentLayer=0;this.currentLayer{const n=e._getLayerSourceCache(t);n&&!t.isHidden(this.transform.zoom)&&(!i||i.getSource().maxzoom0?e.pop():null}isPatternMissing(t){return null===t||void 0!==t&&!this.imageManager.getPattern(t.toString())}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}currentGlobalDefines(){const t=this.terrain&&this.terrain.renderingToTexture,e=this.terrain&&0===this.terrain.exaggeration(),i=this.style&&this.style.fog,n=[];return this.terrainRenderModeElevated()&&n.push("TERRAIN"),"globe"===this.transform.projection.name&&n.push("GLOBE"),e&&n.push("ZERO_EXAGGERATION"),i&&!t&&0!==i.getOpacity(this.transform.pitch)&&n.push("FOG"),t&&n.push("RENDER_TO_TEXTURE"),this._showOverdrawInspector&&n.push("OVERDRAW_INSPECTOR"),n}useProgram(t,e,i){this.cache=this.cache||{};const n=i||[],r=this.currentGlobalDefines().concat(n),o=Pi.cacheKey(ci[t],t,r,e);return this.cache[o]||(this.cache[o]=new Pi(this.context,t,ci[t],e,an[t],r)),this.cache[o]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this._terrain&&this._terrain.destroy(),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.atmosphereBuffer&&this.atmosphereBuffer.destroy()}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile()}prepareDrawProgram(e,i,n){if(this.terrain&&this.terrain.renderingToTexture)return;const r=this.style.fog;if(r){const o=r.getOpacity(this.transform.pitch),s=((e,i,n,r,o,s,a,l,c,u,h)=>{const p=e.transform,d=i.properties.get("color").toArray01();d[3]=r;const f=e.frameCounter/1e3%1;return{u_fog_matrix:n?p.calculateFogTileMatrix(n):e.identityMat,u_fog_range:i.getFovAdjustedRange(p._fov),u_fog_color:d,u_fog_horizon_blend:i.properties.get("horizon-blend"),u_fog_temporal_offset:f,u_frustum_tl:o,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:u,u_viewport:h,u_globe_transition:t.globeToMercatorTransition(p.zoom),u_is_globe:+("globe"===p.projection.name)}})(this,r,n,o,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*t.exported.devicePixelRatio,this.transform.height*t.exported.devicePixelRatio]);i.setFogUniformValues(e,s)}}setTileLoadedFlag(t){this.tileLoaded=t}saveCanvasCopy(){const t=this.canvasCopy();t&&(this.frameCopies.push(t),this.tileLoaded=!1)}canvasCopy(){const t=this.context.gl,e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,t.drawingBufferWidth,t.drawingBufferHeight,0),e}getCanvasCopiesAndTimestamps(){return{canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return!1;const t=this.style&&this.style.fog;return!!t&&0!==t.getOpacity(this.transform.pitch)}getBackgroundTiles(){const e=this._backgroundTiles,i=this._backgroundTiles={},n=this.transform.coveringTiles({tileSize:512});for(const r of n)i[r.key]=e[r.key]||new t.Tile(r,512,this.transform.tileZoom,this);return i}clearBackgroundTiles(){this._backgroundTiles={}}}class Bn{constructor(t=0,e=0,i=0,n=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=i,this.right=n}interpolate(e,i,n){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,n)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,n)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,n)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,n)),this}getCenter(e,i){const n=t.clamp((this.left+e-this.right)/2,0,e),r=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(n,r)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Bn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Nn(e,i){const n=t.getColumn(e,3);t.fromQuat(e,i),t.setColumn(e,3,n)}function Fn(e,i){const n=t.identity$1([]);return t.rotateZ$1(n,n,-i),t.rotateX$1(n,n,-e),n}function Un(e,i){const n=[e[0],e[1],0],r=[i[0],i[1],0];if(t.length(n)>=1e-15){const e=t.normalize([],n);t.scale$2(r,e,t.dot(r,e)),i[0]=r[0],i[1]=r[1]}const o=t.cross([],i,e);if(t.len(o)<1e-15)return null;const s=Math.atan2(-o[1],o[0]);return Fn(Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2]),s)}class jn{constructor(t,e){this.position=t,this.orientation=e}get position(){return this._position}set position(e){if(e){const i=e instanceof t.MercatorCoordinate?e:new t.MercatorCoordinate(e[0],e[1],e[2]);this._renderWorldCopies&&(i.x=t.wrap(i.x,0,1)),this._position=i}else this._position=null}lookAtPoint(e,i){if(this.orientation=null,!this.position)return;const n=this.position,r=this._elevation?this._elevation.getAtPointOrZero(t.MercatorCoordinate.fromLngLat(e)):0,o=t.MercatorCoordinate.fromLngLat(e,r),s=[o.x-n.x,o.y-n.y,o.z-n.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=Un(s,i)}setPitchBearing(e,i){this.orientation=Fn(t.degToRad(e),t.degToRad(-i))}}class Vn{constructor(e,i){this._transform=t.identity([]),this.orientation=i,this.position=e}get mercatorPosition(){const e=this.position;return new t.MercatorCoordinate(e[0],e[1],e[2])}get position(){const e=t.getColumn(this._transform,3);return[e[0],e[1],e[2]]}set position(e){var i;e&&t.setColumn(this._transform,3,[(i=e)[0],i[1],i[2],1])}get orientation(){return this._orientation}set orientation(e){this._orientation=e||t.identity$1([]),e&&Nn(this._transform,this._orientation)}getPitchBearing(){const t=this.forward(),e=this.right();return{bearing:Math.atan2(-e[1],e[0]),pitch:Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2])}}setPitchBearing(t,e){this._orientation=Fn(t,e),Nn(this._transform,this._orientation)}forward(){const e=t.getColumn(this._transform,2);return[-e[0],-e[1],-e[2]]}up(){const e=t.getColumn(this._transform,1);return[-e[0],-e[1],-e[2]]}right(){const e=t.getColumn(this._transform,0);return[e[0],e[1],e[2]]}getCameraToWorld(e,i){const n=new Float64Array(16);return t.invert(n,this.getWorldToCamera(e,i)),n}getWorldToCameraPosition(e,i,n){const r=this.position;t.scale$2(r,r,-e);const o=new Float64Array(16);return t.fromScaling(o,[n,n,n]),t.translate(o,o,r),o[10]*=i,o}getWorldToCamera(e,i){const n=new Float64Array(16),r=new Float64Array(4),o=this.position;return t.conjugate(r,this._orientation),t.scale$2(o,o,-e),t.fromQuat(n,r),t.translate(n,n,o),n[1]*=-1,n[5]*=-1,n[9]*=-1,n[13]*=-1,n[8]*=i,n[9]*=i,n[10]*=i,n[11]*=i,n}getCameraToClipPerspective(e,i,n,r){const o=new Float64Array(16);return t.perspective(o,e,i,n,r),o}getDistanceToElevation(e,i=!1){const n=0===e?0:t.mercatorZfromAltitude(e,i?t.latFromMercatorY(this.position[1]):this.position[1]),r=this.forward();return(n-this.position[2])/r[2]}clone(){return new Vn([...this.position],[...this.orientation])}}function Gn(e,i){const n=Zn(e.projection,e.zoom,e.width,e.height),r=function(e,i,n,r,o){const s=new t.LngLat(n.lng-180*$n,n.lat),a=new t.LngLat(n.lng+180*$n,n.lat),l=e.project(s.lng,s.lat),c=e.project(a.lng,a.lat),u=-Math.atan2(c.y-l.y,c.x-l.x),h=t.MercatorCoordinate.fromLngLat(n);h.y=t.clamp(h.y,-1+$n,1-$n);const p=h.toLngLat(),d=e.project(p.lng,p.lat),f=t.MercatorCoordinate.fromLngLat(p);f.x+=$n;const m=f.toLngLat(),g=e.project(m.lng,m.lat),_=Wn(g.x-d.x,g.y-d.y,u),y=t.MercatorCoordinate.fromLngLat(p);y.y+=$n;const v=y.toLngLat(),x=e.project(v.lng,v.lat),b=Wn(x.x-d.x,x.y-d.y,u),w=Math.abs(_.x)/Math.abs(b.y),A=t.identity([]);t.rotateZ(A,A,-u*(1-(o?0:r)));const E=t.identity([]);return t.scale(E,E,[1,1-(1-w)*r,1]),E[4]=-b.x/b.y*r,t.rotateZ(E,E,u),t.multiply(E,A,E),E}(e.projection,0,e.center,n,i),o=qn(e);return t.scale(r,r,[o,o,1]),r}function qn(e){const i=e.projection,n=Zn(e.projection,e.zoom,e.width,e.height),r=Xn(i,e.center),o=Xn(i,t.LngLat.convert(i.center));return Math.pow(2,r*n+(1-n)*o)}function Zn(e,i,n,r,o=1/0){const s=e.range;if(!s)return 0;const a=Math.min(o,Math.max(n,r)),l=Math.log(a/1024)/Math.LN2;return t.smoothstep(s[0]+l,s[1]+l,i)}const $n=1/4e4;function Xn(e,i){const n=t.clamp(i.lat,-t.MAX_MERCATOR_LATITUDE,t.MAX_MERCATOR_LATITUDE),r=new t.LngLat(i.lng-180*$n,n),o=new t.LngLat(i.lng+180*$n,n),s=e.project(r.lng,n),a=e.project(o.lng,n),l=t.MercatorCoordinate.fromLngLat(r),c=t.MercatorCoordinate.fromLngLat(o),u=a.x-s.x,h=a.y-s.y,p=c.x-l.x,d=c.y-l.y,f=Math.sqrt((p*p+d*d)/(u*u+h*h));return Math.log(f)/Math.LN2}function Wn(t,e,i){const n=Math.cos(i),r=Math.sin(i);return{x:t*n-e*r,y:t*r+e*n}}class Hn{constructor(e,i,n,r,o,s,a){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==n?0:n,this._maxPitch=null==r?60:r,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new Bn,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._distanceTileDataCache={},this._camera=new Vn,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference="ground",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._horizonShift=.1}clone(){const t=new Hn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return t._elevation=this._elevation,t._centerAltitude=this._centerAltitude,t._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,t.tileSize=this.tileSize,t.mercatorFromTransition=this.mercatorFromTransition,t.width=this.width,t.height=this.height,t.cameraElevationReference=this.cameraElevationReference,t._center=this._center,t._setZoom(this.zoom),t._seaLevelZoom=this._seaLevelZoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._nearZ=this._nearZ,t._farZ=this._farZ,t._averageElevation=this._averageElevation,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._camera=this._camera.clone(),t._calcMatrices(),t.freezeTileCoverage=this.freezeTileCoverage,t.frustumCorners=this.frustumCorners,t}get elevation(){return this._elevation}set elevation(t){this._elevation!==t&&(this._elevation=t,this._updateCameraOnTerrain(),this._calcMatrices())}updateElevation(t,e=!1){const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(t||i)&&this._constrainCamera(e),this._calcMatrices()}getProjection(){return t.pick(this.projection,["name","center","parallels"])}setProjection(i){this.projectionOptions=i||{name:"mercator"};const n=this.projection?this.getProjection():void 0;this.projection=t.getProjection(this.projectionOptions);const r=!e(n,this.getProjection());return r&&this._calcMatrices(),this.mercatorFromTransition=!1,r}setMercatorFromTransition(){const e=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:"mercator"},this.projection=t.getProjection({name:"mercator"});const i=e!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const t=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(t))}get cameraWorldSize(){const t=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(t))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return t.mercatorZfromAltitude(this.center.lat,this.cameraWorldSizeForFog)}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.Point(this.width,this.height)}get bearing(){return t.wrap(this.rotation,-180,180)}set bearing(t){this.rotation=t}get rotation(){return-this.angle/Math.PI*180}set rotation(e){const i=-e*Math.PI/180;var n;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(n=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),function(t,e,i){var n=e[0],r=e[1],o=e[2],s=e[3],a=Math.sin(i),l=Math.cos(i);t[0]=n*l+o*a,t[1]=r*l+s*a,t[2]=n*-a+o*l,t[3]=r*-a+s*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const t=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/t)}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=t.degToRad(e),this._calcMatrices())}get averageElevation(){return this._averageElevation}set averageElevation(t){this._averageElevation=t,this._calcFogMatrices(),this._distanceTileDataCache={}}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._setZoom(e),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices())}_setZoom(t){this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom}_updateCameraOnTerrain(){if(!this._elevation||!this._elevation.isDataAvailableAtPoint(this.locationCoordinate(this.center)))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const t=this._elevation;this._centerAltitude=t.getAtPointOrZero(this.locationCoordinate(this.center)),this._centerAltitudeValidForExaggeration=t.exaggeration(),this._updateSeaLevelZoom()}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize))}sampleAverageElevation(){if(!this._elevation)return 0;const e=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],n=this.horizonLineFromTop();let r=0,o=0;for(let s=0;se.maxzoom&&(i=e.maxzoom);const s=this.locationCoordinate(this.center),a=this.center.lat,l=1<{const i=1/4e4,n=new t.MercatorCoordinate(e.x+i,e.y,e.z),r=new t.MercatorCoordinate(e.x,e.y+i,e.z),o=e.toLngLat(),s=n.toLngLat(),a=r.toLngLat(),l=this.locationCoordinate(o),c=this.locationCoordinate(s),u=this.locationCoordinate(a),h=Math.hypot(c.x-l.x,c.y-l.y),p=Math.hypot(u.x-l.x,u.y-l.y);return Math.sqrt(h*p)*b/i},A=e=>{const i=v,n=x;return{aabb:t.tileAABB(this,l,0,0,0,e,n,i,this.projection),zoom:0,x:0,y:0,minZ:n,maxZ:i,wrap:e,fullyVisible:!1}},E=[];let C=[];const T=i,k=e.reparseOverscaled?n:i,S=t=>t*t,I=S((m-this._centerAltitude)*f),M=t=>{if(!this._elevation||!t.tileID||!o)return;const e=this._elevation.getMinMaxForTile(t.tileID),i=t.aabb;e?(i.min[2]=e.min,i.max[2]=e.max,i.center[2]=(i.min[2]+i.max[2])/2):(t.shouldSplit=P(t),t.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude))},P=e=>{if(e.zoom=.9)return!0}else if(r&&(s=S(e.aabb.distanceZ(g)*f)),this.projection.isReprojectedInTileSpace&&n<=5){const i=Math.pow(2,e.zoom),n=w(new t.MercatorCoordinate((e.x+.5)/i,(e.y+.5)/i));l=n>.85?1:n}const c=i*i+o*o+s,h=S((1<{if(e*S(.707)0;){const n=E.pop(),s=n.x,a=n.y;let h=n.fullyVisible;if(!h){const t=n.aabb.intersects(p);if(0===t)continue;h=2===t}if(n.zoom!==T&&P(n))for(let e=0;e<4;e++){const i=(s<<1)+e%2,c=(a<<1)+(e>>1),p={aabb:o?n.aabb.quadrant(e):t.tileAABB(this,l,n.zoom+1,i,c,n.wrap,n.minZ,n.maxZ,this.projection),zoom:n.zoom+1,x:i,y:c,wrap:n.wrap,fullyVisible:h,tileID:void 0,shouldSplit:void 0,minZ:n.minZ,maxZ:n.maxZ};r&&!u&&(p.tileID=new t.OverscaledTileID(n.zoom+1===T?k:n.zoom+1,n.wrap,n.zoom+1,i,c),M(p)),E.push(p)}else{const r=n.zoom===T?k:n.zoom;if(e.minzoom&&e.minzoom>r)continue;const o=c[0]-(.5+s+(n.wrap<{const o=[0,0,0,1],s=[t.EXTENT,t.EXTENT,0,1],a=this.calculateFogTileMatrix(r.tileID.toUnwrapped());t.transformMat4$1(o,o,a),t.transformMat4$1(s,s,a);const l=t.getAABBPointSquareDist(o,s);if(0===l)return!0;let c=!1;const u=this._elevation;if(u&&l>i&&0!==n){const i=this.calculateProjMatrix(r.tileID.toUnwrapped());let o;e.isTerrainDEM||(o=u.getMinMaxForTile(r.tileID)),o||(o={min:x,max:v});const s=t.furthestTileCorner(this.rotation),a=[s[0]*t.EXTENT,s[1]*t.EXTENT,o.max];t.transformMat4(a,a,i),c=(1-a[1])*this.height*.5t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-t.MAX_MERCATOR_LATITUDE,t.MAX_MERCATOR_LATITUDE),n=this.projection.project(e.lng,i);return new t.Point(n.x*this.worldSize,n.y*this.worldSize)}unproject(t){return this.projection.unproject(t.x/this.worldSize,t.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/t.mercatorZfromAltitude(1,this.center.lat)/this.worldSize}setLocationAtPoint(e,i){let n,r;const o=this.centerPoint;if("globe"===this.projection.name){const t=this.worldSize;n=(i.x-o.x)/t,r=(i.y-o.y)/t}else{const t=this.pointCoordinate(i),e=this.pointCoordinate(o);n=t.x-e.x,r=t.y-e.y}const s=this.locationCoordinate(e);this.setLocation(new t.MercatorCoordinate(s.x-n,s.y-r))}setLocation(t){this.center=this.coordinateLocation(t),this.projection.wrap&&(this.center=this.center.wrap())}locationPoint(t){return this.projection.locationPoint(this,t)}locationPoint3D(t){return this.projection.locationPoint(this,t,!0)}pointLocation(t){return this.coordinateLocation(this.pointCoordinate(t))}pointLocation3D(t){return this.coordinateLocation(this.pointCoordinate3D(t))}locationCoordinate(e,i){const n=i?t.mercatorZfromAltitude(i,e.lat):void 0,r=this.projection.project(e.lng,e.lat);return new t.MercatorCoordinate(r.x,r.y,n)}coordinateLocation(t){return this.projection.unproject(t.x,t.y)}pointRayIntersection(e,i){const n=null!=i?i:this._centerAltitude,r=[e.x,e.y,0,1],o=[e.x,e.y,1,1];t.transformMat4$1(r,r,this.pixelMatrixInverse),t.transformMat4$1(o,o,this.pixelMatrixInverse);const s=o[3];t.scale$1(r,r,1/r[3]),t.scale$1(o,o,1/s);const a=r[2],l=o[2];return{p0:r,p1:o,t:a===l?0:(n-a)/(l-a)}}screenPointToMercatorRay(e){const i=[e.x,e.y,0,1],n=[e.x,e.y,1,1];return t.transformMat4$1(i,i,this.pixelMatrixInverse),t.transformMat4$1(n,n,this.pixelMatrixInverse),t.scale$1(i,i,1/i[3]),t.scale$1(n,n,1/n[3]),i[2]=t.mercatorZfromAltitude(i[2],this._center.lat)*this.worldSize,n[2]=t.mercatorZfromAltitude(n[2],this._center.lat)*this.worldSize,t.scale$1(i,i,1/this.worldSize),t.scale$1(n,n,1/this.worldSize),new t.Ray([i[0],i[1],i[2]],t.normalize([],t.sub([],n,i)))}rayIntersectionCoordinate(e){const{p0:i,p1:n,t:r}=e,o=t.mercatorZfromAltitude(i[2],this._center.lat),s=t.mercatorZfromAltitude(n[2],this._center.lat);return new t.MercatorCoordinate(t.number(i[0],n[0],r)/this.worldSize,t.number(i[1],n[1],r)/this.worldSize,t.number(o,s,r))}pointCoordinate(t,e=this._centerAltitude){return this.projection.pointCoordinate(this,t.x,t.y,e)}pointCoordinate3D(e){if(!this.elevation)return this.pointCoordinate(e);let i=this.projection.pointCoordinate3D(this,e.x,e.y);if(i)return new t.MercatorCoordinate(i[0],i[1],i[2]);let n=0,r=this.horizonLineFromTop();if(e.y>r)return this.pointCoordinate(e);const o=.02*r,s=e.clone();for(let e=0;e<10&&r-n>o;e++){s.y=t.number(n,r,.66);const e=this.projection.pointCoordinate3D(this,s.x,s.y);e?(r=s.y,i=e):n=s.y}return i?new t.MercatorCoordinate(i[0],i[1],i[2]):this.pointCoordinate(e)}isPointAboveHorizon(t){return this.projection.isPointAboveHorizon(this,t)}isPointOnSurface(e){if(e.y<0||e.y>this.height||e.x<0||e.x>this.width)return!1;if(this.elevation||this.zoom>=t.GLOBE_ZOOM_THRESHOLD_MAX)return!this.isPointAboveHorizon(e);const i=this.pointCoordinate(e);return i.y>=0&&i.y<=1}_coordinatePoint(e,i){const n=i&&this.elevation?this.elevation.getAtPointOrZero(e,this._centerAltitude):this._centerAltitude,r=[e.x*this.worldSize,e.y*this.worldSize,n+e.toAltitude(),1];return t.transformMat4$1(r,r,this.pixelMatrix),r[3]>0?new t.Point(r[0]/r[3],r[1]/r[3]):new t.Point(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:e,left:i}=this._edgeInsets,n=this.height-this._edgeInsets.bottom,r=this.width-this._edgeInsets.right,o=this.pointLocation3D(new t.Point(i,e)),s=this.pointLocation3D(new t.Point(r,e)),a=this.pointLocation3D(new t.Point(r,n)),l=this.pointLocation3D(new t.Point(i,n));let c=Math.min(o.lng,s.lng,a.lng,l.lng),u=Math.max(o.lng,s.lng,a.lng,l.lng),h=Math.min(o.lat,s.lat,a.lat,l.lat),p=Math.max(o.lat,s.lat,a.lat,l.lat);const d=Math.pow(2,-this.zoom)/16*270,f="globe"===this.projection.name?1:4,m=(e,i,n,r,o)=>{const s=(e+n)/2,a=(i+r)/2,l=new t.Point(s,a),{lng:g,lat:_}=this.pointLocation3D(l),y=Math.max(0,c-g,h-_,g-u,_-p);c=Math.min(c,g),u=Math.max(u,g),h=Math.min(h,_),p=Math.max(p,_),(od)&&(m(e,i,s,a,o+1),m(s,a,n,r,o+1))};if(m(i,e,r,e,1),m(r,e,r,n,1),m(r,n,i,n,1),m(i,n,i,e,1),"globe"===this.projection.name){const[e,i]=t.polesInViewport(this);e?(p=90,u=180,c=-180):i&&(h=-90,u=180,c=-180)}return new t.LngLatBounds(new t.LngLat(c,h),new t.LngLat(u,p))}_getBoundsRectangular(e,i){const{top:n,left:r}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new t.Point(r,n),l=new t.Point(s,n),c=new t.Point(s,o),u=new t.Point(r,o);let h=this.pointCoordinate(a,e),p=this.pointCoordinate(l,e);const d=this.pointCoordinate(c,i),f=this.pointCoordinate(u,i),m=(t,e)=>(e.y-t.y)/(e.x-t.x);return h.y>1&&p.y>=0?h=new t.MercatorCoordinate((1-f.y)/m(f,h)+f.x,1):h.y<0&&p.y<=1&&(h=new t.MercatorCoordinate(-f.y/m(f,h)+f.x,0)),p.y>1&&h.y>=0?p=new t.MercatorCoordinate((1-d.y)/m(d,p)+d.x,1):p.y<0&&h.y<=1&&(p=new t.MercatorCoordinate(-d.y/m(d,p)+d.x,0)),(new t.LngLatBounds).extend(this.coordinateLocation(h)).extend(this.coordinateLocation(p)).extend(this.coordinateLocation(f)).extend(this.coordinateLocation(d))}_getBoundsRectangularTerrain(){const t=this.elevation;if(!t.visibleDemTiles.length||t.isUsingMockSource())return this._getBoundsRectangular(0,0);const e=t.visibleDemTiles.reduce(((t,e)=>{if(e.dem){const i=e.dem.tree;t.min=Math.min(t.min,i.minimums[0]),t.max=Math.max(t.max,i.maximums[0])}return t}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(e.min*t.exaggeration(),e.max*t.exaggeration())}getBounds(){return"mercator"===this.projection.name||"equirectangular"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(t=!0){const e=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))+this.centerOffset.y,i=this.height/2-e*(1-this._horizonShift);return t?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(e){this.maxBounds=e,this.minLat=-t.MAX_MERCATOR_LATITUDE,this.maxLat=t.MAX_MERCATOR_LATITUDE,this.minLng=-180,this.maxLng=180,e&&(this.minLat=e.getSouth(),this.maxLat=e.getNorth(),this.minLng=e.getWest(),this.maxLng=e.getEast(),this.maxLngh&&(a=h-c),h-ue&&(s=e-l),e-t.5?x-1:x,b>.5?b-1:b,0]),this.alignedProjMatrix=w,a=t.create(),t.scale(a,a,[this.width/2,-this.height/2,1]),t.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=t.create(),t.scale(a,a,[1,-1,1]),t.translate(a,a,[-1,-1,0]),t.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),this._calcFogMatrices(),this._distanceTileDataCache={},a=t.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error("failed to invert matrix");if(this.pixelMatrixInverse=a,"globe"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=t.calculateGlobeMatrix(this);const e=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=t.transformMat4(e,e,o),this.globeRadius=this.worldSize/2/Math.PI-1}else this.globeMatrix=a;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={}}_calcFogMatrices(){this._fogTileMatrixCache={};const e=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,n=this._camera.position,r=1/this.height/this._pixelsPerMercatorPixel,o=[e,e,i];t.scale$2(o,o,r),t.scale$2(n,n,-1),t.multiply$2(n,n,o);const s=t.create();t.translate(s,s,n),t.scale(s,s,o),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(e,i,r)}_computeCameraPosition(t){const e=(t=t||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),n=this.point,r=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*e-t/this.worldSize*this._centerAltitude;return[n.x/this.worldSize-i[0]*r,n.y/this.worldSize-i[1]*r,t/this.worldSize*this._centerAltitude-i[2]*r]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition())}_translateCameraConstrained(e){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),n=this._camera.position[2],r=e[2];let o=1;this.projection.wrap&&(this.center=this.center.wrap()),r>0&&(o=Math.min((i-n)/r,1)),this._camera.position=t.scaleAndAdd([],this._camera.position,e,o),this._updateStateFromCamera()}_updateStateFromCamera(){const e=this._camera.position,i=this._camera.forward(),{pitch:n,bearing:r}=this._camera.getPitchBearing(),o=t.mercatorZfromAltitude(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(t.degToRad(this._maxPitch)),a=Math.max((e[2]-o)/Math.cos(n),s),l=this._zoomFromMercatorZ(a);t.scaleAndAdd(e,e,i,a),this._pitch=t.clamp(n,t.degToRad(this.minPitch),t.degToRad(this.maxPitch)),this.angle=t.wrap(r,-Math.PI,Math.PI),this._setZoom(t.clamp(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new t.MercatorCoordinate(e[0],e[1],e[2])),this._unmodified=!1,this._constrain(),this._calcMatrices()}_worldSizeFromZoom(t){return Math.pow(2,t)*this.tileSize}_mercatorZfromZoom(t){return this.cameraToCenterDistance/this._worldSizeFromZoom(t)}_minimumHeightOverTerrain(){const t=Math.min((null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom)+4,this._maxZoom);return this._mercatorZfromZoom(t)}_zoomFromMercatorZ(t){return this.scaleZoom(this.cameraToCenterDistance/(t*this.tileSize))}zoomFromMercatorZAdjusted(e){let i=0,n=t.GLOBE_ZOOM_THRESHOLD_MAX,r=0,o=1/0;for(;n-i>1e-6&&n>i;){const t=i+.5*(n-i),s=this.tileSize*Math.pow(2,t),a=this.getCameraToCenterDistance(this.projection,t,s),l=this.scaleZoom(a/(e*this.tileSize)),c=Math.abs(t-l);cc||i.y>1)return!0}return!1}isHorizonVisible(){return this.pitch+t.radToDeg(this.fovAboveCenter)>88||this.anyCornerOffEdge(new t.Point(0,0),new t.Point(this.width,this.height))}zoomDeltaToMovement(e,i){const n=t.length(t.sub([],this._camera.position,e)),r=this._zoomFromMercatorZ(n)+i;return n-this._mercatorZfromZoom(r)}getCameraPoint(){if("globe"===this.projection.name){const e=function([e,i,n],r){const o=[e,i,n,1];t.transformMat4$1(o,o,r);const s=o[3]=Math.max(o[3],1e-6);return o[0]/=s,o[1]/=s,o[2]/=s,o}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new t.Point(e[0],e[1])}{const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))}}getCameraToCenterDistance(t,e=this.zoom,i=this.worldSize){const n=Zn(t,e,this.width,this.height,1024),r=t.pixelSpaceConversion(this.center.lat,i,n);return.5/Math.tan(.5*this._fov)*this.height*r}getWorldToCameraMatrix(){const e=this._camera.getWorldToCamera(this.worldSize,"meters"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return"globe"===this.projection.name&&t.multiply(e,e,this.globeMatrix),e}}function Yn(t,e){let i=!1,n=null;const r=()=>{n=null,i&&(t(),n=setTimeout(r,e),i=!1)};return()=>(i=!0,n||r(),n)}class Kn{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=Yn(this._updateHashUnthrottled.bind(this),300)}addTo(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),e.on("moveend",this._updateHash),this}remove(){return this._map?(this._map.off("moveend",this._updateHash),t.window.removeEventListener("hashchange",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const e=this._map;if(!e)return"";const i=Jn(e);if(this._hashName){const e=this._hashName;let n=!1;const r=t.window.location.hash.slice(1).split("&").map((t=>{const r=t.split("=")[0];return r===e?(n=!0,`${r}=${i}`):t})).filter((t=>t));return n||r.push(`${e}=${i}`),`#${r.join("&")}`}return`#${i}`}_getCurrentHash(){const e=t.window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((t=>t.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")}_onHashChange(){const t=this._map;if(!t)return!1;const e=this._getCurrentHash();if(e.length>=3&&!e.some((t=>isNaN(t)))){const i=t.dragRotate.isEnabled()&&t.touchZoomRotate.isEnabled()?+(e[3]||0):t.getBearing();return t.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:i,pitch:+(e[4]||0)}),!0}return!1}_updateHashUnthrottled(){const e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());t.window.history.replaceState(t.window.history.state,null,e)}}function Jn(t,e){const i=t.getCenter(),n=Math.round(100*t.getZoom())/100,r=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),o=Math.pow(10,r),s=Math.round(i.lng*o)/o,a=Math.round(i.lat*o)/o,l=t.getBearing(),c=t.getPitch();let u=e?`/${s}/${a}/${n}`:`${n}/${a}/${s}`;return(l||c)&&(u+="/"+Math.round(10*l)/10),c&&(u+=`/${Math.round(c)}`),u}const Qn={linearity:.3,easing:t.bezier(0,0,.3,1)},tr=t.extend({deceleration:2500,maxSpeed:1400},Qn),er=t.extend({deceleration:20,maxSpeed:1400},Qn),ir=t.extend({deceleration:1e3,maxSpeed:360},Qn),nr=t.extend({deceleration:1e3,maxSpeed:90},Qn);class rr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={};if(i.pan.mag()){const o=sr(i.pan.mag(),n,t.extend({},tr,e||{}));r.offset=i.pan.mult(o.amount/i.pan.mag()),r.center=this._map.transform.center,or(r,o)}if(i.zoom){const t=sr(i.zoom,n,er);r.zoom=this._map.transform.zoom+t.amount,or(r,t)}if(i.bearing){const e=sr(i.bearing,n,ir);r.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),or(r,e)}if(i.pitch){const t=sr(i.pitch,n,nr);r.pitch=this._map.transform.pitch+t.amount,or(r,t)}if(r.zoom||r.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;r.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),r.noMoveStart=!0,r}}function or(t,e){(!t.duration||t.durationi.unproject(t))),a=o.reduce(((t,e,i,n)=>t.add(e.div(n.length))),new t.Point(0,0));super(e,{points:o,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:n}),this._defaultPrevented=!1}}class cr extends t.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}}class ur{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){this._mousedownPos=void 0}wheel(t){return this._firePreventable(new cr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new ar(t.type,this._map,t))}mouseup(t){this._map.fire(new ar(t.type,this._map,t))}preclick(e){const i=t.extend({},e);i.type="preclick",this._map.fire(new ar(i.type,this._map,i))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||(this.preclick(t),this._map.fire(new ar(t.type,this._map,t)))}dblclick(t){return this._firePreventable(new ar(t.type,this._map,t))}mouseover(t){this._map.fire(new ar(t.type,this._map,t))}mouseout(t){this._map.fire(new ar(t.type,this._map,t))}touchstart(t){return this._firePreventable(new lr(t.type,this._map,t))}touchmove(t){this._map.fire(new lr(t.type,this._map,t))}touchend(t){this._map.fire(new lr(t.type,this._map,t))}touchcancel(t){this._map.fire(new lr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class hr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0}mousemove(t){this._map.fire(new ar(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ar("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new ar(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class pr{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(u(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e,n=this._startPos,r=this._lastPos;if(!n||!r||r.equals(i)||!this._box&&i.dist(n){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+"px",this._box.style.height=c-l+"px")}))}mouseupWindow(e,i){if(!this._active)return;const n=this._startPos,r=i;if(n&&0===e.button){if(this.reset(),d(),n.x!==r.x||n.y!==r.y)return this._map.fire(new t.Event("boxzoomend",{originalEvent:e})),{cameraAnimation:t=>t.fitScreenCoordinates(n,r,this._map.getBearing(),{linear:!1})};this._fireEvent("boxzoomcancel",e)}}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}blur(){this.reset()}reset(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.remove(),this._box=null),h(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function dr(t,e){const i={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){const i=new t.Point(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=dr(n,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const n=dr(i,e);for(const t in this.touches){const e=n[t];(!e||e.dist(this.touches[t])>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class mr{constructor(t){this.singleTap=new fr(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const n=this.singleTap.touchend(t,e,i);if(n){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(n)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class gr{constructor(){this._zoomIn=new mr({numTouches:1,numTaps:2}),this._zoomOut=new mr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const n=this._zoomIn.touchend(t,e,i),r=this._zoomOut.touchend(t,e,i);return n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(n)},{originalEvent:t})}):r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(r)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const _r={0:1,2:2};class yr{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1}blur(){this.reset()}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0}_correctButton(t,e){return!1}_move(t,e){return{}}mousedown(t,e){if(this._lastPoint)return;const i=g(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i)}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),null!=this._eventButton&&function(t,e){const i=_r[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i)0&&(this._active=!0);const r=dr(n,i),o=new t.Point(0,0),s=new t.Point(0,0);let a=0;for(const t in r){const e=r[t],i=this._touches[t];i&&(o._add(e),s._add(e.sub(i)),a++,r[t]=e)}if(this._touches=r,a{this._alertContainer.classList.remove("mapboxgl-touch-pan-blocker-show"),this._alertContainer.setAttribute("role","null")}),500)}}class Ar{constructor(){this.reset()}reset(){this._active=!1,this._firstTwoTouches=void 0}_start(t){}_move(t,e,i){return{}}touchstart(t,e,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([e[0],e[1]]))}touchmove(t,e,i){const n=this._firstTwoTouches;if(!n)return;t.preventDefault();const[r,o]=n,s=Er(i,e,r),a=Er(i,e,o);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,t)}touchend(t,e,i){if(!this._firstTwoTouches)return;const[n,r]=this._firstTwoTouches,o=Er(i,e,n),s=Er(i,e,r);o&&s||(this._active&&d(),this.reset())}touchcancel(){this.reset()}enable(t){this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}function Er(t,e,i){for(let n=0;nMath.abs(t.x)}class Mr extends Ar{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0}_start(t){this._lastPoints=t,Ir(t[0].sub(t[1]))&&(this._valid=!1)}_move(e,i,n){const r=this._lastPoints;if(!r)return;const o=e[0].sub(r[0]),s=e[1].sub(r[1]);return this._map._cooperativeGestures&&!t.isFullscreen()&&n.touches.length<3||(this._valid=this.gestureBeginsVertically(o,s,n.timeStamp),!this._valid)?void 0:(this._lastPoints=e,this._active=!0,{pitchDelta:(o.y+s.y)/2*-.5})}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const n=t.mag()>=2,r=e.mag()>=2;if(!n&&!r)return;if(!n||!r)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return Ir(t)&&Ir(e)&&o}}const Pr={panStep:100,bearingStep:15,pitchStep:10};class Lr{constructor(){const t=Pr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}blur(){this.reset()}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,n=0,r=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),r=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),r=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?n=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,n=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:zr,zoom:e?Math.round(a)+e*(t.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+n*this._pitchStep,offset:[-r*this._panStep,-o*this._panStep],center:s.getCenter()},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function zr(t){return t*(2-t)}const Dr=4.000244140625;class Rr{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout","_addScrollZoomBlocker","_showBlockerAlert"],this)}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker())}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()))}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(e.ctrlKey||e.metaKey||this.isZooming()||t.isFullscreen()))return void this._showBlockerAlert();"hidden"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility="hidden",clearTimeout(this._alertTimer))}let i=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const n=t.exported.now(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==i&&i%Dr==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault()}_onTimeout(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const e=f(this._el,t);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:e,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;"wheel"===this._type&&e.projection.wrap&&(e._center.lng>=180||e._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>e._terrainEnabled()&&this._aroundCoord?e.computeZoomRelativeTo(this._aroundCoord):e.zoom;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Dr?this._wheelZoomRate:this._defaultZoomRate;let n=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==n&&(n=1/n);const r=i(),o=Math.pow(2,r),s="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):o;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(s*n))),"wheel"===this._type&&(this._startZoom=r,this._easing=this._smoothOutEasing(200)),this._delta=0}const n="number"==typeof this._targetZoom?this._targetZoom:i(),r=this._startZoom,o=this._easing;let s,a=!1;if("wheel"===this._type&&r&&o){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),i=o(e);s=t.number(r,n,i),e<1?this._frameId||(this._frameId=!0):a=!0}else s=n,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:s-i(),around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,n=(t.exported.now()-e.start)/e.duration,r=e.easing(n+.01)-e.easing(n),o=.27/Math.sqrt(r*r+1e-4)*.01,s=Math.sqrt(.0729-o*o);i=t.bezier(o,s,.25,1)}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}blur(){this.reset()}reset(){this._active=!1}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=o("div","mapboxgl-scroll-zoom-blocker",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(t.window.navigator.userAgent)?this._map._getUIString("ScrollZoomBlocker.CmdMessage"):this._map._getUIString("ScrollZoomBlocker.CtrlMessage"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showBlockerAlert(){this._alertContainer.style.visibility="visible",this._alertContainer.classList.add("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","alert"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","null")}),200)}}class Or{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Br{constructor(){this.reset()}reset(){this._active=!1}blur(){this.reset()}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Nr{constructor(){this._tap=new mr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset()}touchstart(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i))}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const n=e[0],r=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Ur{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class jr{constructor(t,e,i,n){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Vr=t=>t.zoom||t.drag||t.pitch||t.rotate;class Gr extends t.Event{}class qr{constructor(){this.constants=[1,1,.01],this.radius=0}setup(e,i){const n=t.sub([],i,e);this.radius=t.length(n[2]<0?t.div([],n,this.constants):[n[0],n[1],0])}projectRay(e){t.div(e,e,this.constants),t.normalize(e,e),t.mul$1(e,e,this.constants);const i=t.scale$2([],e,this.radius);if(i[2]>0){const e=t.scale$2([],[0,0,1],t.dot(i,[0,0,1])),n=t.scale$2([],t.normalize([],[i[0],i[1],0]),this.radius),r=t.add([],i,t.scale$2([],t.sub([],t.add([],n,e),i),2));i[0]=r[0],i[1]=r[1]}return i}}function Zr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class $r{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new qr,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll(["handleEvent","handleWindowEvent"],this);const n=this._el;this._listeners=[[n,"touchstart",{passive:!0}],[n,"touchmove",{passive:!1}],[n,"touchend",void 0],[n,"touchcancel",void 0],[n,"mousedown",void 0],[n,"mousemove",void 0],[n,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[n,"mouseover",void 0],[n,"mouseout",void 0],[n,"dblclick",void 0],[n,"click",void 0],[n,"keydown",{capture:!1}],[n,"keyup",void 0],[n,"wheel",{passive:!1}],[n,"contextmenu",void 0],[t.window,"blur",void 0]];for(const[e,i,n]of this._listeners)e.addEventListener(i,e===t.window.document?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(const[e,i,n]of this._listeners)e.removeEventListener(i,e===t.window.document?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new ur(e,t));const n=e.boxZoom=new pr(e,t);this._add("boxZoom",n);const r=new gr,o=new Br;e.doubleClickZoom=new Or(o,r),this._add("tapZoom",r),this._add("clickZoom",o);const s=new Nr;this._add("tapDragZoom",s);const a=e.touchPitch=new Mr(e);this._add("touchPitch",a);const l=new xr(t),c=new br(t);e.dragRotate=new Ur(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const u=new vr(t),h=new wr(e,t);e.dragPan=new Fr(i,u,h),this._add("mousePan",u),this._add("touchPan",h,["touchZoom","touchRotate"]);const p=new Sr,d=new Tr;e.touchZoomRotate=new jr(i,d,p,s),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]),this._add("blockableMapEvent",new hr(e));const f=e.scrollZoom=new Rr(e,this);this._add("scrollZoom",f,["mousePan"]);const m=e.keyboard=new Lr;this._add("keyboard",m);for(const i of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])t.interactive&&t[i]&&e[i].enable(t[i])}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Vr(this._eventsInProgress)||this.isZooming()}_isDragging(){return!!this._eventsInProgress.drag}_blockedByActive(t,e,i){for(const n in t)if(n!==i&&(!e||e.indexOf(n)<0))return!0;return!1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`)}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){this._updatingCamera=!0;const i="renderFrame"===t.type,n=i?void 0:t,r={needsRenderFrame:!1},o={},s={},a=t.touches?this._getMapTouches(t.touches):void 0,l=a?m(this._el,a):i?void 0:f(this._el,t);for(const{handlerName:i,handler:c,allowed:u}of this._handlers){if(!c.isEnabled())continue;let h;this._blockedByActive(s,u,i)?c.reset():c[e||t.type]&&(h=c[e||t.type](t,l,a),this.mergeHandlerResult(r,o,h,i,n),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||c.isActive())&&(s[i]=c)}const c={};for(const t in this._previousActiveHandlers)s[t]||(c[t]=n);this._previousActiveHandlers=s,(Object.keys(c).length||Zr(r))&&(this._changes.push([r,o,c]),this._triggerRenderFrame()),(Object.keys(s).length||Zr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))}mergeHandlerResult(e,i,n,r,o){if(!n)return;t.extend(e,n);const s={handlerName:r,originalEvent:n.originalEvent||o};void 0!==n.zoomDelta&&(i.zoom=s),void 0!==n.panDelta&&(i.drag=s),void 0!==n.pitchDelta&&(i.pitch=s),void 0!==n.bearingDelta&&(i.rotate=s)}_applyChanges(){const e={},i={},n={};for(const[r,o,s]of this._changes)r.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(r.panDelta)),r.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+r.pitchDelta),void 0!==r.around&&(e.around=r.around),void 0!==r.aroundCoord&&(e.aroundCoord=r.aroundCoord),void 0!==r.pinchAround&&(e.pinchAround=r.pinchAround),r.noInertia&&(e.noInertia=r.noInertia),t.extend(i,o),t.extend(n,s);this._updateMapTransform(e,i,n),this._changes=[]}_updateMapTransform(e,i,n){const r=this._map,o=r.transform,s=t=>[t.x,t.y,t.z];if((t=>{const e=this._eventsInProgress.drag;return e&&!this._handlersById[e.handlerName].isActive()})()&&!Zr(e)){const t=o.zoom;o.cameraElevationReference="sea",o.recenterOnTerrain(),o.cameraElevationReference="ground",t!==o.zoom&&this._map._update(!0)}if(o._isCameraConstrained&&r._stop(!0),!Zr(e))return void this._fireEvents(i,n,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:u,around:h,aroundCoord:p,pinchAround:d}=e;o._isCameraConstrained&&(l>0&&(l=0),o._isCameraConstrained=!1),void 0!==d&&(h=d),(l||(t=>i[t]&&!this._eventsInProgress[t])("drag"))&&h&&(this._dragOrigin=s(o.pointCoordinate3D(h)),this._trackingEllipsoid.setup(o._camera.position,this._dragOrigin)),o.cameraElevationReference="sea",r._stop(!0),h=h||r.transform.centerPoint,c&&(o.bearing+=c),u&&(o.pitch+=u),o._updateCameraState();const f=[0,0,0];if(a)if("mercator"===o.projection.name){const t=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(h).dir),e=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(h.sub(a)).dir);f[0]=e[0]-t[0],f[1]=e[1]-t[1]}else{const e=o.pointCoordinate(h);if("globe"===o.projection.name){a=a.rotate(-o.angle);const i=o._pixelsPerMercatorPixel/o.worldSize;f[0]=-a.x*t.mercatorScale(t.latFromMercatorY(e.y))*i,f[1]=-a.y*t.mercatorScale(o.center.lat)*i}else{const t=o.pointCoordinate(h.sub(a));e&&t&&(f[0]=t.x-e.x,f[1]=t.y-e.y)}}const m=o.zoom,g=[0,0,0];if(l){const e=s(p||o.pointCoordinate3D(h)),i={dir:t.normalize([],t.sub([],e,o._camera.position))};if(i.dir[2]<0){const n=o.zoomDeltaToMovement(e,l);t.scale$2(g,i.dir,n)}}const _=t.add(f,f,g);o._translateCameraConstrained(_),l&&Math.abs(o.zoom-m)>1e-4&&o.recenterOnTerrain(),o.cameraElevationReference="ground",this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,n,!0)}_fireEvents(e,i,n){const r=Vr(this._eventsInProgress),o=Vr(e),s={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!r&&o&&this._fireEvent("movestart",o.originalEvent);for(const t in s)this._fireEvent(t,s[t]);o&&this._fireEvent("move",o.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const a={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:n}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||n,a[`${t}end`]=l)}for(const t in a)this._fireEvent(t,a[t]);const c=Vr(this._eventsInProgress);if(n&&(r||o)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new Gr("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Xr="map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.";class Wr extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,this._respectPrefersReducedMotion=!1!==i.respectPrefersReducedMotion,t.bindAll(["_renderFrameCallback"],this)}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),n)}panTo(e,i,n){return this.easeTo(t.extend({center:e},i),n)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,n){return this.easeTo(t.extend({zoom:e},i),n)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,n){return this.easeTo(t.extend({bearing:e},i),n)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing())t.aspect?i/(2*Math.tan(.5*t.fovX)*t.aspect):n/(2*Math.tan(.5*t.fovY)*t.aspect)}_cameraForBoundsOnGlobe(e,i,n,r,o,s){const a=e.clone(),l=this._extendCameraOptions(s);a.bearing=r,a.pitch=o;const c=t.LngLat.convert(i),u=t.LngLat.convert(n),h=.5*(c.lat+u.lat),p=.5*(c.lng+u.lng),d=t.latLngToECEF(h,p),f=t.normalize([],d),m=t.normalize([],t.cross([],f,[0,1,0])),g=t.cross([],m,f),_=[m[0],m[1],m[2],0,g[0],g[1],g[2],0,f[0],f[1],f[2],0,0,0,0,1],y=[d,t.latLngToECEF(c.lat,c.lng),t.latLngToECEF(u.lat,c.lng),t.latLngToECEF(u.lat,u.lng),t.latLngToECEF(c.lat,u.lng),t.latLngToECEF(h,c.lng),t.latLngToECEF(h,u.lng),t.latLngToECEF(c.lat,p),t.latLngToECEF(u.lat,p)];let v=t.Aabb.fromPoints(y.map((e=>[t.dot(m,e),t.dot(g,e),t.dot(f,e)])));const x=t.transformMat4([],v.center,_);0===t.squaredLength(x)&&t.set(x,0,0,1),t.normalize(x,x),t.scale$2(x,x,t.GLOBE_RADIUS),a.center=t.ecefToLatLng(x);const b=a.getWorldToCameraMatrix(),w=t.invert(new Float64Array(16),b);v=t.Aabb.applyTransform(v,t.multiply([],b,_)),t.transformMat4(x,x,b);const A=.5*(v.max[2]-v.min[2]),E=this._minimumAABBFrustumDistance(a,v),C=t.scale$2([],[0,0,1],A),T=t.add(C,x,C),k=E+(0===a.pitch?0:t.distance(x,T)),S=a.globeCenterInViewSpace,I=t.sub([],x,[S[0],S[1],S[2]]);t.normalize(I,I),t.scale$2(I,I,k);const M=t.add([],x,I);t.transformMat4(M,M,w);const P=t.earthRadius/t.GLOBE_RADIUS,L=t.length(M),z=t.mercatorZfromAltitude(Math.max(L*P-t.earthRadius,Number.EPSILON),0),D=Math.min(a.zoomFromMercatorZAdjusted(z),l.maxZoom);return D>.5*(t.GLOBE_ZOOM_THRESHOLD_MIN+t.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"mercator"}),a.zoom=D,this._cameraForBounds(a,i,n,r,o,s)):{center:a.center,zoom:D,bearing:r,pitch:o}}queryTerrainElevation(e,i){const n=this.transform.elevation;return n?(i=t.extend({},{exaggerated:!0},i),n.getAtPoint(t.MercatorCoordinate.fromLngLat(e),null,i.exaggerated)):null}_cameraForBounds(e,i,n,r,o,s){if("globe"===e.projection.name)return this._cameraForBoundsOnGlobe(e,i,n,r,o,s);const a=e.clone(),l=this._extendCameraOptions(s),c=a.padding;a.bearing=r,a.pitch=o;const u=t.LngLat.convert(i),h=t.LngLat.convert(n),p=new t.LngLat(u.lng,h.lat),d=new t.LngLat(h.lng,u.lat),f=a.project(u),m=a.project(h),g=this.queryTerrainElevation(u),_=this.queryTerrainElevation(h),y=this.queryTerrainElevation(p),v=this.queryTerrainElevation(d),x=[[f.x,f.y,Math.min(g||0,_||0,y||0,v||0)],[m.x,m.y,Math.max(g||0,_||0,y||0,v||0)]];let b=t.Aabb.fromPoints(x);const w=a.getWorldToCameraMatrix(),A=t.invert(new Float64Array(16),w);b=t.Aabb.applyTransform(b,w);const E=t.sub([],b.max,b.min),C=c.left||0,T=c.right||0,k=c.bottom||0,S=c.top||0,{left:I,right:M,top:P,bottom:L}=l.padding,z=.5*(C+T),D=.5*(S+k),R=Math.min(a.scaleZoom(a.scale*Math.min((a.width-(C+T+I+M))/E[0],(a.height-(k+S+L+P))/E[1])),l.maxZoom),O=a.scale/a.zoomScale(R);b=new t.Aabb([b.min[0]-(I+z)*O,b.min[1]-(L+D)*O,b.min[2]],[b.max[0]+(M+z)*O,b.max[1]+(P+D)*O,b.max[2]]);const B=.5*E[2],N=this._minimumAABBFrustumDistance(a,b),F=[0,0,1,0];t.transformMat4$1(F,F,w),t.normalize$2(F,F);const U=t.scale$2([],F,N+B),j=t.add([],b.center,U),V=("number"==typeof l.offset.x&&"number"==typeof l.offset.y?new t.Point(l.offset.x,l.offset.y):t.Point.convert(l.offset)).rotate(-t.degToRad(r));b.center[0]-=V.x*O,b.center[1]+=V.y*O,t.transformMat4(b.center,b.center,A),t.transformMat4(j,j,A);const G=[b.center[0],b.center[1],j[2]*a.pixelsPerMeter];t.scale$2(G,G,1/a.worldSize);const q=t.lngFromMercatorX(G[0]),Z=t.latFromMercatorY(G[1]),$=Math.min(a._zoomFromMercatorZ(G[2]),l.maxZoom),X=new t.LngLat(q,Z);return a.mercatorFromTransition&&$<.5*(t.GLOBE_ZOOM_THRESHOLD_MIN+t.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:"globe"}),a.zoom=$,this._cameraForBounds(a,i,n,r,o,s)):{center:X,zoom:$,bearing:r,pitch:o}}fitBounds(t,e,i){const n=this.cameraForBounds(t,e);return this._fitInternal(n,e,i)}fitScreenCoordinates(e,i,n,r,o){const s=t.Point.convert(e),a=t.Point.convert(i),l=new t.Point(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new t.Point(Math.max(s.x,a.x),Math.max(s.y,a.y));if("mercator"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const u=this.transform.pointLocation3D(l),h=this.transform.pointLocation3D(c),p=this.transform.pointLocation3D(new t.Point(l.x,c.y)),d=this.transform.pointLocation3D(new t.Point(c.x,l.y)),f=[Math.min(u.lng,h.lng,p.lng,d.lng),Math.min(u.lat,h.lat,p.lat,d.lat)],m=[Math.max(u.lng,h.lng,p.lng,d.lng),Math.max(u.lat,h.lat,p.lat,d.lat)],g=r&&r.pitch?r.pitch:this.getPitch(),_=this._cameraForBounds(this.transform,f,m,n,g,r);return this._fitInternal(_,r,o)}_fitInternal(e,i,n){return e?(delete(i=t.extend(e,i)).padding,i.linear?this.easeTo(i,n):this.flyTo(i,n)):this}jumpTo(e,i){this.stop();const n=e.preloadOnly?this.transform.clone():this.transform;let r=!1,o=!1,s=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(r=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(o=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(s=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),e.preloadOnly?(this._preloadTiles(n),this):(this.fire(new t.Event("movestart",i)).fire(new t.Event("move",i)),r&&this.fire(new t.Event("zoomstart",i)).fire(new t.Event("zoom",i)).fire(new t.Event("zoomend",i)),o&&this.fire(new t.Event("rotatestart",i)).fire(new t.Event("rotate",i)).fire(new t.Event("rotateend",i)),s&&this.fire(new t.Event("pitchstart",i)).fire(new t.Event("pitch",i)).fire(new t.Event("pitchend",i)),this.fire(new t.Event("moveend",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||t.warnOnce(Xr),this.transform.getFreeCameraOptions()}setFreeCameraOptions(e,i){const n=this.transform;if(!n.projection.supportsFreeCamera)return t.warnOnce(Xr),this;this.stop();const r=n.zoom,o=n.pitch,s=n.bearing;n.setFreeCameraOptions(e);const a=r!==n.zoom,l=o!==n.pitch,c=s!==n.bearing;return this.fire(new t.Event("movestart",i)).fire(new t.Event("move",i)),a&&this.fire(new t.Event("zoomstart",i)).fire(new t.Event("zoom",i)).fire(new t.Event("zoomend",i)),c&&this.fire(new t.Event("rotatestart",i)).fire(new t.Event("rotate",i)).fire(new t.Event("rotateend",i)),l&&this.fire(new t.Event("pitchstart",i)).fire(new t.Event("pitch",i)).fire(new t.Event("pitchend",i)),this.fire(new t.Event("moveend",i)),this}easeTo(e,i){this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||this._prefersReducedMotion(e))&&(e.duration=0);const n=this.transform,r=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in e?+e.zoom:r,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:n.padding,p=t.Point.convert(e.offset);let d,f,m;if("globe"===n.projection.name){const i=t.MercatorCoordinate.fromLngLat(n.center),r=p.rotate(-n.angle);i.x+=r.x/n.worldSize,i.y+=r.y/n.worldSize;const o=i.toLngLat(),s=t.LngLat.convert(e.center||o);this._normalizeCenter(s),d=n.centerPoint.add(r),f=new t.Point(i.x,i.y).mult(n.worldSize),m=new t.Point(t.mercatorXfromLng(s.lng),t.mercatorYfromLat(s.lat)).mult(n.worldSize).sub(f)}else{d=n.centerPoint.add(p);const i=n.pointLocation(d),r=t.LngLat.convert(e.center||i);this._normalizeCenter(r),f=n.project(i),m=n.project(r).sub(f)}const g=n.zoomScale(l-r);let _,y;e.around&&(_=t.LngLat.convert(e.around),y=n.locationPoint(_));const v=this._zooming||l!==r,x=this._rotating||o!==c,b=this._pitching||u!==s,w=!n.isPaddingEqual(h),A=n=>A=>{if(v&&(n.zoom=t.number(r,l,A)),x&&(n.bearing=t.number(o,c,A)),b&&(n.pitch=t.number(s,u,A)),w&&(n.interpolatePadding(a,h,A),d=n.centerPoint.add(p)),_)n.setLocationAtPoint(_,y);else{const t=n.zoomScale(n.zoom-r),e=l>r?Math.min(2,g):Math.max(.5,g),i=Math.pow(e,1-A),o=n.unproject(f.add(m.mult(A*i)).mult(t));n.setLocationAtPoint(n.renderWorldCopies?o.wrap():o,d)}return e.preloadOnly||this._fireMoveEvents(i),n};if(e.preloadOnly){const t=this._emulate(A,e.duration,n);return this._preloadTiles(t),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=v,this._rotating=x,this._pitching=b,this._padding=w,this._easeId=e.easeId,this._prepareEase(i,e.noMoveStart,E),this._ease(A(n),(t=>{n.recenterOnTerrain(),this._afterEase(i,t)}),e),this}_prepareEase(e,i,n={}){this._moving=!0,this.transform.cameraElevationReference="sea",i||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))}_fireMoveEvents(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference="ground";const n=this._zooming,r=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),r&&this.fire(new t.Event("rotateend",e)),o&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(this._prefersReducedMotion(e)){const n=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const n=this.transform,r=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,n.minZoom,n.maxZoom):r,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:n.padding,p=n.zoomScale(l-r),d=t.Point.convert(e.offset);let f=n.centerPoint.add(d);const m=n.pointLocation(f),g=t.LngLat.convert(e.center||m);this._normalizeCenter(g);const _=n.project(m),y=n.project(g).sub(_);let v=e.curve;const x=Math.max(n.width,n.height),b=x/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,r,l),n.minZoom,n.maxZoom),o=x/n.zoomScale(i-r);v=Math.sqrt(o/w*2)}const A=v*v;function E(t){const e=(b*b-x*x+(t?-1:1)*A*A*w*w)/(2*(t?b:x)*A*w);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function T(t){return(Math.exp(t)+Math.exp(-t))/2}const k=E(0);let S=function(t){return T(k)/T(k+v*t)},I=function(t){return x*((T(k)*(C(e=k+v*t)/T(e))-C(k))/A)/w;var e},M=(E(1)-k)/v;if(Math.abs(w)<1e-6||!isFinite(M)){if(Math.abs(x-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0);const P=o!==c,L=u!==s,z=!n.isPaddingEqual(h),D=n=>p=>{const m=p*M,v=1/S(m);n.zoom=1===p?l:r+n.scaleZoom(v),P&&(n.bearing=t.number(o,c,p)),L&&(n.pitch=t.number(s,u,p)),z&&(n.interpolatePadding(a,h,p),f=n.centerPoint.add(d));const x=1===p?g:n.unproject(_.add(y.mult(I(m))).mult(v));return n.setLocationAtPoint(n.renderWorldCopies?x.wrap():x,f),n._updateCameraOnTerrain(),e.preloadOnly||this._fireMoveEvents(i),n};if(e.preloadOnly){const t=this._emulate(D,e.duration,n);return this._preloadTiles(t),this}return this._zooming=!0,this._rotating=P,this._pitching=L,this._padding=z,this._prepareEase(i,!1),this._ease(D(n),(()=>this._afterEase(i)),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const t=this._onEaseEnd;this._onEaseEnd=void 0,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,n){!1===n.animate||0===n.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const n=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}_prefersReducedMotion(e){return this._respectPrefersReducedMotion&&t.exported.prefersReducedMotion&&!(e&&e.essential)}_emulate(t,e,i){const n=Math.ceil(15*e/1e3),r=[],o=t(i.clone());for(let t=0;t<=n;t++){const e=o(t/n);r.push(e.clone())}return r}}class Hr{constructor(e={}){this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)}getDefaultPosition(){return"bottom-right"}onAdd(t){const e=this.options&&this.options.compact;return this._map=t,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o("button","mapboxgl-ctrl-attrib-button",this._container),o("span","mapboxgl-ctrl-icon",this._compactButton).setAttribute("aria-hidden","true"),this._compactButton.type="button",this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.setAttribute("aria-label",i),t.removeAttribute("title"),t.firstElementChild&&t.firstElementChild.setAttribute("title",i)}_toggleAttribution(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","true"))}_updateEditLink(){let e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));const i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){const n=i.reduce(((t,e,n)=>(e.value&&(t+=`${e.key}=${e.value}${nt.length-e.length)),t=t.filter(((e,i)=>{for(let n=i+1;n=0)return!1;return!0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=[...this.options.customAttribution,...t]:t.unshift(this.options.customAttribution));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")}}class Yr{constructor(){t.bindAll(["_updateLogo","_updateCompact"],this)}onAdd(t){this._map=t,this._container=o("div","mapboxgl-ctrl");const e=o("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)}getDefaultPosition(){return"bottom-left"}_updateLogo(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")}_logoRequired(){if(!this._map.style)return!0;const t=this._map.style._sourceCaches;if(0===Object.entries(t).length)return!0;for(const e in t){const i=t[e].getSource();if(i.hasOwnProperty("mapbox_logo")&&!i.mapbox_logo)return!1}return!0}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}}}class Kr{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}function Jr(e,i,n){if(e=new t.LngLat(e.lng,e.lat),i){const r=new t.LngLat(e.lng-360,e.lat),o=new t.LngLat(e.lng+360,e.lat),s=360*Math.ceil(Math.abs(e.lng-n.center.lng)/360),a=n.locationPoint(e).distSqr(i),l=i.x<0||i.y<0||i.x>n.width||i.y>n.height;n.locationPoint(r).distSqr(i)180;){const t=n.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}const Qr={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};class to extends t.Evented{constructor(e,i){if(super(),(e instanceof t.window.HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress","_clearFadeTimer"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment||"auto",this._updateMoving=()=>this._update(!0),this._occludedOpacity=e&&e.occludedOpacity||.2,e&&e.element)this._element=e.element,this._offset=t.Point.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=o("div");const i=41,n=27,r=s("svg",{display:"block",height:i*this._scale+"px",width:n*this._scale+"px",viewBox:`0 0 ${n} ${i}`},this._element),a=s("radialGradient",{id:"shadowGradient"},s("defs",{},r));s("stop",{offset:"10%","stop-opacity":.4},a),s("stop",{offset:"100%","stop-opacity":.05},a),s("ellipse",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:"url(#shadowGradient)"},r),s("path",{fill:this._color,d:"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z"},r),s("path",{opacity:.25,d:"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z"},r),s("circle",{fill:"white",cx:13.5,cy:13.5,r:5.5},r),this._offset=t.Point.convert(e&&e.offset||[0,-14])}this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label","Map marker"),this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()}));const n=this._element.classList;for(const t in Qr)n.remove(`mapboxgl-marker-anchor-${t}`);n.add(`mapboxgl-marker-anchor-${this._anchor}`),this._popup=null}addTo(t){return t===this._map||(this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._updateMoving),t.on("moveend",this._update),t.on("remove",this._clearFadeTimer),t._addMarker(this),this.setDraggable(this._draggable),this._update(),t.on("click",this._onMapClick)),this}remove(){const t=this._map;return t&&(t.off("click",this._onMapClick),t.off("move",this._updateMoving),t.off("moveend",this._update),t.off("mousedown",this._addDragHandler),t.off("touchstart",this._addDragHandler),t.off("mouseup",this._onUp),t.off("touchend",this._onUp),t.off("mousemove",this._onMove),t.off("touchmove",this._onMove),t.off("remove",this._clearFadeTimer),t._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute("role"),this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,n=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[n,-1*(e-i+n)],"bottom-right":[-n,-1*(e-i+n)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset}this._popup=t,t._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute("role","button"),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress),this._element.setAttribute("aria-expanded","false")}return this}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?(t.remove(),this._element.setAttribute("aria-expanded","false")):this._map&&(t.addTo(this._map),this._element.setAttribute("aria-expanded","true")),this):this}_behindTerrain(){const t=this._map,e=this._pos;if(!t||!e)return!1;const i=t.unproject(e),n=t.getFreeCameraOptions();if(!n.position)return!1;const r=n.position.toLngLat();return r.distanceTo(i)<.9*r.distanceTo(this._lngLat)}_evaluateOpacity(){const e=this._map;if(!e)return;const i=this._pos;if(!i||i.x<0||i.x>e.transform.width||i.y<0||i.y>e.transform.height)return void this._clearFadeTimer();const n=e.unproject(i);let r;e._showingGlobe()&&t.isLngLatBehindGlobe(e.transform,this._lngLat)?r=0:(r=1-e._queryFogOpacity(n),e.transform._terrainEnabled()&&e.getTerrain()&&this._behindTerrain()&&(r*=this._occludedOpacity)),this._element.style.opacity=`${r}`,this._element.style.pointerEvents=r>0?"auto":"none",this._popup&&this._popup._setOpacity(r),this._fadeTimer=null}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null)}_updateDOM(){const t=this._pos;if(!t||!this._map)return;const e=this._offset.mult(this._scale);this._element.style.transform=`\n translate(${t.x}px,${t.y}px)\n ${Qr[this._anchor]}\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\n translate(${e.x}px,${e.y}px)\n `}_calculateXYTransform(){const e=this._pos,i=this._map,n=this.getPitchAlignment();if(!i||!e||"map"!==n)return"";if(!i._showingGlobe()){const t=i.getPitch();return t?`rotateX(${t}deg)`:""}const r=t.radToDeg(t.globeTiltAtLngLat(i.transform,this._lngLat)),o=e.sub(t.globeCenterToScreenPoint(i.transform)),s=Math.abs(o.x)+Math.abs(o.y);if(0===s)return"";const a=r/s;return`rotateX(${-o.y*a}deg) rotateY(${o.x*a}deg)`}_calculateZTransform(){const e=this._pos,i=this._map;if(!i||!e)return"";let n=0;const r=this.getRotationAlignment();if("map"===r)if(i._showingGlobe()){const e=i.project(new t.LngLat(this._lngLat.lng,this._lngLat.lat+.001)),r=i.project(new t.LngLat(this._lngLat.lng,this._lngLat.lat-.001)).sub(e);n=t.radToDeg(Math.atan2(r.y,r.x))-90}else n=-i.getBearing();else if("horizon"===r){const r=t.smoothstep(4,6,i.getZoom()),o=t.globeCenterToScreenPoint(i.transform);o.y+=r*i.transform.height;const s=e.sub(o),a=t.radToDeg(Math.atan2(s.y,s.x));n=(a>90?a-270:a+90)*(1-r)}return n+=this._rotation,n?`rotateZ(${n}deg)`:""}_update(e){t.window.cancelAnimationFrame(this._updateFrameId);const i=this._map;i&&(i.transform.renderWorldCopies&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),this._pos=i.project(this._lngLat),!0===e?this._updateFrameId=t.window.requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())})):this._pos=this._pos.round(),i._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(i._showingGlobe()||i.getTerrain()||i.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)))})))}getOffset(){return this._offset}setOffset(e){return this._offset=t.Point.convert(e),this._update(),this}_onMove(e){const i=this._map;if(!i)return;const n=this._pointerdownPos,r=this._positionDelta;if(n&&r){if(!this._isDragging){const t=this._clickTolerance||i._clickTolerance;if(e.point.dist(n)=this._endTime)return this._end;const i=t.easeCubicInOut((e-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(t){return t>=this._startTime&&t<=this._endTime}jumpTo(t){this._startTime=-1/0,this._endTime=-1/0,this._start=t,this._end=t}easeTo(t,e,i){this._start=this.getValue(e),this._end=t,this._startTime=e,this._endTime=e+i}}const oo={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use ⌘ + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},so={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,optimizeForTerrain:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0},ao={showCompass:!0,showZoom:!0,visualizePitch:!1};class lo{constructor(e,i,n=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new xr({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,n&&(this.mousePitch=new br({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),i.addEventListener("mousedown",this.mousedown),i.addEventListener("touchstart",this.touchstart,{passive:!1}),i.addEventListener("touchmove",this.touchmove),i.addEventListener("touchend",this.touchend),i.addEventListener("touchcancel",this.reset)}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),u()}move(t,e){const i=this.map,n=this.mouseRotate.mousemoveWindow(t,e),r=n&&n.bearingDelta;if(r&&i.setBearing(i.getBearing()+r),this.mousePitch){const n=this.mousePitch.mousemoveWindow(t,e),r=n&&n.pitchDelta;r&&i.setPitch(i.getPitch()+r)}}off(){const t=this.element;t.removeEventListener("mousedown",this.mousedown),t.removeEventListener("touchstart",this.touchstart,{passive:!1}),t.removeEventListener("touchmove",this.touchmove),t.removeEventListener("touchend",this.touchend),t.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){h(),t.window.removeEventListener("mousemove",this.mousemove),t.window.removeEventListener("mouseup",this.mouseup)}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),f(this.element,e)),t.window.addEventListener("mousemove",this.mousemove),t.window.addEventListener("mouseup",this.mouseup)}mousemove(t){this.move(t,f(this.element,t))}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos))}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=m(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos))}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(e.antialias&&t.isSafariWithAntialiasingBug(t.window)&&(e.antialias=!1,t.warnOnce("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new Hn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),e),this._interactive=e.interactive,this._minTileCacheSize=e.minTileCacheSize,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._useWebGL2=e.useWebGL2,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=e.crossSourceCollisions,this._collectResourceTiming=e.collectResourceTiming,this._optimizeForTerrain=e.optimizeForTerrain,this._language=this._parseLanguage(e.language),this._worldview=e.worldview,this._renderTaskQueue=new Kr,this._domRenderTaskQueue=new Kr,this._controls=[],this._markers=[],this._popups=[],this._mapId=t.uniqueId(),this._locale=t.extend({},oo,e.locale),this._clickTolerance=e.clickTolerance,this._cooperativeGestures=e.cooperativeGestures,this._performanceMetricsCollection=e.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new ro(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken,e.testMode),this._silenceAuthErrors=!!e.testMode,"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof t.window.HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(this._container.childNodes.length>0&&t.warnOnce("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1),t.window.addEventListener("webkitfullscreenchange",this._onWindowResize,!1),t.window.addEventListener("visibilitychange",this._onVisibilityChange,!1)),this.handlers=new $r(this,e),this._localFontFamily=e.localFontFamily,this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),e.projection&&this.setProjection(e.projection),this._hash=e.hash&&new Kn("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),e.attributionControl&&this.addControl(new Hr({customAttribution:e.customAttribution})),this._logoControl=new Yr,this.addControl(this._logoControl,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))}))}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=e.onAdd(this);this._controls.push(e);const r=this._controlPositions[i];return-1!==i.indexOf("bottom")?r.insertBefore(n,r.firstChild):r.appendChild(n),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(e){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)),this.fire(new t.Event("resize",e)),i&&this.fire(new t.Event("moveend",e)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()}setMinZoom(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e?this.setZoom(e):this.fire(new t.Event("zoomstart")).fire(new t.Event("zoom")).fire(new t.Event("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=null==e?0:e)<0)throw new Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e?this.setPitch(e):this.fire(new t.Event("pitchstart")).fire(new t.Event("pitch")).fire(new t.Event("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(e){return"auto"===e?t.window.navigator.language:Array.isArray(e)?0===e.length?void 0:e.map((e=>"auto"===e?t.window.navigator.language:e)):e}setLanguage(t){const e=this._parseLanguage(t);if(!this.style||e===this._language)return this;this._language=e,this.style._reloadSources();for(const t of this._controls)t._setLanguage&&t._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(t){return this.style&&t!==this._worldview?(this._worldview=t,this.style._reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return"globe"===this.transform.projection.name}setProjection(t){return this._lazyInitEmptyStyle(),t?"string"==typeof t&&(t={name:t}):t=null,this._useExplicitProjection=!!t,this._prioritizeAndUpdateProjection(t,this.style.stylesheet?this.style.stylesheet.projection:null)}_updateProjectionTransition(){if("globe"!==this.getProjection().name)return;const e=this.transform,i=e.projection.name;let n;"globe"===i&&e.zoom>=t.GLOBE_ZOOM_THRESHOLD_MAX?(e.setMercatorFromTransition(),n=!0):"mercator"===i&&e.zoom=t.GLOBE_ZOOM_THRESHOLD_MAX?this.transform.setMercatorFromTransition():this.transform.setProjection(e),this.style.applyProjectionUpdate(),i){this.painter.clearBackgroundTiles();for(const t in this.style._sourceCaches)this.style._sourceCaches[t].clearTiles();this._update(!0),this._forceMarkerAndPopupUpdate(!0)}return this}project(e){return this.transform.locationPoint3D(t.LngLat.convert(e))}unproject(e){return this.transform.pointLocation3D(t.Point.convert(e))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let n=!1;const r=r=>{const o=e.filter((t=>this.getLayer(t))),s=o.length?this.queryRenderedFeatures(r.point,{layers:o}):[];s.length?n||(n=!0,i.call(this,new ar(t,this,r.originalEvent,{features:s}))):n=!1},o=()=>{n=!1};return{layers:new Set(e),listener:i,delegates:{mousemove:r,mouseout:o}}}if("mouseleave"===t||"mouseout"===t){let n=!1;const r=r=>{const o=e.filter((t=>this.getLayer(t)));(o.length?this.queryRenderedFeatures(r.point,{layers:o}):[]).length?n=!0:n&&(n=!1,i.call(this,new ar(t,this,r.originalEvent)))},o=e=>{n&&(n=!1,i.call(this,new ar(t,this,e.originalEvent)))};return{layers:new Set(e),listener:i,delegates:{mousemove:r,mouseout:o}}}{const n=t=>{const n=e.filter((t=>this.getLayer(t))),r=n.length?this.queryRenderedFeatures(t.point,{layers:n}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layers:new Set(e),listener:i,delegates:{[t]:n}}}}on(t,e,i){if(void 0===i)return super.on(t,e);Array.isArray(e)||(e=[e]);const n=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(n);for(const t in n.delegates)this.on(t,n.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);Array.isArray(e)||(e=[e]);const n=this._createDelegatedListener(t,e,i);for(const t in n.delegates)this.once(t,n.delegates[t]);return this}off(t,e,i){if(void 0===i)return super.off(t,e);e=new Set(Array.isArray(e)?e:[e]);const n=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0},r=this._delegatedListeners?this._delegatedListeners[t]:void 0;return r&&(t=>{for(let r=0;r{e?this.fire(new t.ErrorEvent(e)):n&&this._updateDiff(n,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(t.warnOnce("There is no style added to the map."),!1)}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){return!!this.style&&this.style._isSourceCacheLoaded(t)}areTilesLoaded(){const t=this.style&&this.style._sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}addSourceType(t,e,i){this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._updateTerrain(),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:n=1,sdf:r=!1,stretchX:o,stretchY:s,content:a}={}){if(this._lazyInitEmptyStyle(),i instanceof t.window.HTMLImageElement||t.window.ImageBitmap&&i instanceof t.window.ImageBitmap){const{width:l,height:c,data:u}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},u),pixelRatio:n,stretchX:o,stretchY:s,content:a,sdf:r,version:0})}else if(void 0===i.width||void 0===i.height)this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else{const{width:l,height:c}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(u.data)),pixelRatio:n,stretchX:o,stretchY:s,content:a,sdf:r,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}}updateImage(e,i){const n=this.style.getImage(e);if(!n)return void this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const r=i instanceof t.window.HTMLImageElement||t.window.ImageBitmap&&i instanceof t.window.ImageBitmap?t.exported.getImageData(i):i,{width:o,height:s}=r;void 0!==o&&void 0!==s?o===n.data.width&&s===n.data.height?(n.data.replace(r.data,!(i instanceof t.window.HTMLImageElement||t.window.ImageBitmap&&i instanceof t.window.ImageBitmap)),this.style.updateImage(e,n)):this.fire(new t.ErrorEvent(new Error(`The width and height of the updated image (${o}, ${s})\n must be that same as the previous version of the image\n (${n.data.width}, ${n.data.height})`))):this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")))}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),((e,n)=>{i(e,n instanceof t.window.HTMLImageElement?t.exported.getImageData(n):n)}))}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,n={}){return this.style.setPaintProperty(t,e,i,n),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,n={}){return this.style.setLayoutProperty(t,e,i,n),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setTerrain(t){return this._lazyInitEmptyStyle(),!t&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(t),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(t){return this._lazyInitEmptyStyle(),this.style.setFog(t),this._update(!0)}getFog(){return this.style?this.style.getFog():null}_queryFogOpacity(e){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(t.LngLat.convert(e),this.transform):0}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}_updateContainerDimensions(){if(!this._container)return;const e=this._container.getBoundingClientRect().width||400,i=this._container.getBoundingClientRect().height||300;let n,r,o,s=this._container;for(;s&&(!r||!o);){const e=t.window.getComputedStyle(s).transform;e&&"none"!==e&&(n=e.match(/matrix.*\((.+)\)/)[1].split(", "),n[0]&&"0"!==n[0]&&"1"!==n[0]&&(r=n[0]),n[3]&&"0"!==n[3]&&"1"!==n[3]&&(o=n[3])),s=s.parentElement}this._containerWidth=r?Math.abs(e/r):e,this._containerHeight=o?Math.abs(i/o):i}_detectMissingCSS(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=o("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();const e=this._canvasContainer=o("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=o("canvas","mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=o("div","mapboxgl-control-container",t),n=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{n[t]=o("div",`mapboxgl-ctrl-${t}`,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,i){const n=t.exported.devicePixelRatio||1;this._canvas.width=n*Math.ceil(e),this._canvas.height=n*Math.ceil(i),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${i}px`}_addMarker(t){this._markers.push(t)}_removeMarker(t){const e=this._markers.indexOf(t);-1!==e&&this._markers.splice(e,1)}_addPopup(t){this._popups.push(t)}_removePopup(t){const e=this._popups.indexOf(t);-1!==e&&this._popups.splice(e,1)}_setupPainter(){const e=t.extend({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._useWebGL2&&this._canvas.getContext("webgl2",e),r=n||this._canvas.getContext("webgl",e)||this._canvas.getContext("experimental-webgl",e);r?(this._useWebGL2&&!n&&t.warnOnce("Failed to create WebGL 2 context. Using WebGL 1."),t.storeAuthState(r,!0),this.painter=new On(r,this.transform,!!n),this.on("data",(t=>{"source"===t.dataType&&this.painter.setTileLoadedFlag(!0)})),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_requestDomTask(t){!this.loaded()||this.loaded()&&!this.isMoving()?t():this._domRenderTaskQueue.add(t)}_render(e){let i;const n=this.painter.context.extTimerQuery,r=t.exported.now();if(this.listens("gpu-timing-frame")&&(i=n.createQueryEXT(),n.beginQueryEXT(n.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],t.window.performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],t.window.performance.now())),this._renderTaskQueue.run(e),this._domRenderTaskQueue.run(e),this._removed)return;this._updateProjectionTransition();const o=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=this.transform.pitch,n=t.exported.now(),r=new t.EvaluationParameters(e,{now:n,fadeDuration:o,pitch:i,transition:this.style.getTransition()});this.style.update(r)}this.style&&this.style.fog&&this.style.fog.hasTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let s=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),s=this._updateAverageElevation(r),this.style._updateSources(this.transform),this._forceMarkerAndPopupUpdate()):s=this._updateAverageElevation(r),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,o,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showTerrainWireframe:this.showTerrainWireframe,showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:o,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const e=t.exported.now()-r;n.endQueryEXT(n.TIME_ELAPSED_EXT,i),setTimeout((()=>{const o=n.getQueryObjectEXT(i,n.QUERY_RESULT_EXT)/1e6;n.deleteQueryEXT(i),this.fire(new t.Event("gpu-timing-frame",{cpuTime:e,gpuTime:o})),t.window.performance.mark("frame-gpu",{startTime:r,detail:{gpuTime:o}})}),50)}if(this.listens("gpu-timing-layer")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event("gpu-timing-layer",{layerTimes:i}))}),50)}if(this.listens("gpu-timing-deferred-render")){const e=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(e);this.fire(new t.Event("gpu-timing-deferred-render",{gpuTime:i}))}),50)}const a=this._sourcesDirty||this._styleDirty||this._placementDirty||s;if(a||this._repaint)this.triggerRepaint();else{const e=!this.isMoving()&&this.loaded();if(e&&(s=this._updateAverageElevation(r,!0)),s)this.triggerRepaint();else if(this._triggerFrame(!1),e&&(this.fire(new t.Event("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const e=this._calculateSpeedIndex();this.fire(new t.Event("speedindexcompleted",{speedIndex:e})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,t.LivePerformanceUtils.mark(t.PerformanceMarkers.fullLoad),this._performanceMetricsCollection&&t.postPerformanceEvent(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(t){for(const e of this._markers)t&&!this.getRenderWorldCopies()&&(e._lngLat=e._lngLat.wrap()),e._update();for(const e of this._popups)!t||this.getRenderWorldCopies()||e._trackPointer||(e._lngLat=e._lngLat.wrap()),e._update()}_updateAverageElevation(t,e=!1){const i=t=>(this.transform.averageElevation=t,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);if((e||t-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(t)){const e=this.transform.averageElevation;let n=this.transform.sampleAverageElevation(),r=!1;this.transform.elevation&&(r=this.transform.elevation.exaggeration()!==this._averageElevationExaggeration,this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(n)?n=0:this._averageElevationLastSampledAt=t;const o=Math.abs(e-n);if(o>1){if(this._isInitialLoad||r)return this._averageElevation.jumpTo(n),i(n);this._averageElevation.easeTo(n,t,300)}else if(o>1e-4)return this._averageElevation.jumpTo(n),i(n)}return!!this._averageElevation.isEasing(t)&&i(this._averageElevation.getValue(t))}_authenticate(){t.getMapSessionAPI(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(e=>{if(e&&(e.message===t.AUTH_ERR_MSG||401===e.status)){const e=this.painter.context.gl;t.storeAuthState(e,!1),this._logoControl instanceof Yr&&this._logoControl._updateLogo(),e&&e.clear(e.DEPTH_BUFFER_BIT|e.COLOR_BUFFER_BIT|e.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new t.ErrorEvent(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}})),t.postMapLoadEvent(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}))}_updateTerrain(){const t=this._isDragging();this.painter.updateTerrain(this.style,t)}_calculateSpeedIndex(){const t=this.painter.canvasCopy(),e=this.painter.getCanvasCopiesAndTimestamps();e.timeStamps.push(performance.now());const i=this.painter.context.gl,n=i.createFramebuffer();function r(t){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,t,0);const e=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,e),e}return i.bindFramebuffer(i.FRAMEBUFFER,n),this._canvasPixelComparison(r(t),e.canvasCopies.map(r),e.timeStamps)}_canvasPixelComparison(t,e,i){let n=i[1]-i[0];const r=t.length/4;for(let o=0;o{const e=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,e&&this._render(t)})))}_preloadTiles(e){const i=this.style?Object.values(this.style._sourceCaches):[];return t.asyncAll(i,((t,i)=>t._preloadTiles(e,i)),(()=>{this.triggerRepaint()})),this}_onWindowOnline(){this._update()}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update()}_onVisibilityChange(){"hidden"===t.window.document.visibilityState&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(t){this._showTerrainWireframe!==t&&(this._showTerrainWireframe=t,this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(t){this._speedIndexTiming!==t&&(this._speedIndexTiming=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(t){this._showTileAABBs!==t&&(this._showTileAABBs=t,t&&this._update())}_setCacheLimits(e,i){t.setCacheLimits(e,i)}get version(){return t.version}},NavigationControl:class{constructor(e){this.options=t.extend({},ao,e),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(t=>{this._map&&this._map.zoomIn({},{originalEvent:t})})),o("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(t=>{this._map&&this._map.zoomOut({},{originalEvent:t})})),o("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(t=>{const e=this._map;e&&(this.options.visualizePitch?e.resetNorthPitch({},{originalEvent:t}):e.resetNorth({},{originalEvent:t}))})),this._compassIcon=o("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const t=this._map;if(!t)return;const e=t.getZoom(),i=e===t.getMaxZoom(),n=e===t.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute("aria-disabled",i.toString()),this._zoomOutButton.setAttribute("aria-disabled",n.toString())}_rotateCompassArrow(){const t=this._map;if(!t)return;const e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(t.transform.pitch*(Math.PI/180)),.5)}) rotateX(${t.transform.pitch}deg) rotateZ(${t.transform.angle*(180/Math.PI)}deg)`:`rotate(${t.transform.angle*(180/Math.PI)}deg)`;t._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=e)}))}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),t.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&t.on("pitch",this._rotateCompassArrow),t.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new lo(t,this._compass,this.options.visualizePitch)),this._container}onRemove(){const t=this._map;t&&(this._container.remove(),this.options.showZoom&&t.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&t.off("pitch",this._rotateCompassArrow),t.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(t,e){const i=o("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}_setButtonTitle(t,e){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${e}`);t.setAttribute("aria-label",i),t.firstElementChild&&t.firstElementChild.setAttribute("title",i)}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({geolocation:t.window.navigator.geolocation},co,e),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Yn(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(t){return this._map=t,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(e){const i=(t=!!this.options.geolocation)=>{this._supportsGeolocation=t,e(t)};void 0!==this._supportsGeolocation?e(this._supportsGeolocation):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((t=>i("denied"!==t.state))).catch((()=>i())):i()}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return!!e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,r=this._map.getBearing(),o=t.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(n),o,{geolocateSource:!0})}_updateMarker(e){if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const e=this._map.transform,i=t.mercatorZfromAltitude(1,e._center.lat)*e.worldSize,n=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&"number"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._dotElement.classList.add("mapboxgl-user-location-show-heading")):(this._dotElement.classList.remove("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&this._noTimeout)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(e){if(void 0!==this._map){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=o("button","mapboxgl-ctrl-geolocate",this._container),o("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o("div","mapboxgl-user-location"),this._dotElement.appendChild(o("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(o("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new to({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=o("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new to({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}}_onDeviceOrientation(t){this._userLocationDotMarker&&(t.webkitCompassHeading?this._heading=t.webkitCompassHeading:!0===t.absolute&&(this._heading=-1*t.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(t={maximumAge:6e5,timeout:0},this._noTimeout=!0):(t=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,t),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_addDeviceOrientationListener(){const e=()=>{t.window.addEventListener("ondeviceorientationabsolute"in t.window?"deviceorientationabsolute":"deviceorientation",this._onDeviceOrientation)};void 0!==t.window.DeviceMotionEvent&&"function"==typeof t.window.DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((t=>{"granted"===t&&e()})).catch(console.error):e()}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),t.window.removeEventListener("deviceorientation",this._onDeviceOrientation),t.window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Hr,ScaleControl:class{constructor(e){this.options=t.extend({},uo,e),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat("en",{style:"unit",unitDisplay:"short",unit:"meter"}),!0}catch(t){return!1}}(),t.bindAll(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const t=this.options.maxWidth||100,e=this._map,i=e._containerHeight/2,n=e._containerWidth/2-t/2,r=e.unproject([n,i]),o=e.unproject([n+t,i]),s=r.distanceTo(o);if("imperial"===this.options.unit){const e=3.2808*s;e>5280?this._setScale(t,e/5280,"mile"):this._setScale(t,e,"foot")}else"nautical"===this.options.unit?this._setScale(t,s/1852,"nautical-mile"):s>=1e3?this._setScale(t,s/1e3,"kilometer"):this._setScale(t,s,"meter")}_setScale(t,e,i){this._map._requestDomTask((()=>{const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(e),r=n/e;this._container.innerHTML=this._isNumberFormatSupported&&"nautical-mile"!==i?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:i}).format(n):`${n} ${ho[i]}`,this._container.style.width=t*r+"px"}))}onAdd(t){return this._map=t,this._language=t.getLanguage(),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(t){this._language=t,this._update()}setUnit(t){this.options.unit=t,this._update()}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in t.window.document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!t.window.document.fullscreenEnabled&&!t.window.document.webkitFullscreenEnabled)}_setupUI(){const e=this._fullscreenButton=o("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",t)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(t.window.document.fullscreenElement||t.window.document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(eo),e),t.bindAll(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(e&&e.className?e.className.trim().split(/\s+/):[])}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&e.on("preclick",this._onClose),this.options.closeOnMove&&e.on("move",this._onClose),e.on("remove",this.remove),this._update(),e._addPopup(this),this._focusFirstElement(),this._trackPointer?(e.on("mousemove",this._onMouseEvent),e.on("mouseup",this._onMouseEvent),e._canvasContainer.classList.add("mapboxgl-track-pointer")):e.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const e=this._map;return e&&(e.off("move",this._update),e.off("move",this._onClose),e.off("preclick",this._onClose),e.off("click",this._onClose),e.off("remove",this.remove),e.off("mousemove",this._onMouseEvent),e.off("mouseup",this._onMouseEvent),e.off("drag",this._onMouseEvent),e._canvasContainer&&e._canvasContainer.classList.remove("mapboxgl-track-pointer"),e._removePopup(this),this._map=void 0),this.fire(new t.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(e){this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on("move",this._update),i.off("mousemove",this._onMouseEvent),i._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const t=this._map;return t&&(t.off("move",this._update),t.on("mousemove",this._onMouseEvent),t.on("drag",this._onMouseEvent),t._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(t.window.document.createTextNode(e))}setHTML(e){const i=t.window.document.createDocumentFragment(),n=t.window.document.createElement("body");let r;for(n.innerHTML=e;r=n.firstChild,r;)i.appendChild(r);return this.setDOMContent(i)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){let e=this._content;if(e)for(;e.hasChildNodes();)e.firstChild&&e.removeChild(e.firstChild);else e=this._content=o("div","mapboxgl-popup-content",this._container||void 0);if(e.appendChild(t),this.options.closeButton){const t=this._closeButton=o("button","mapboxgl-popup-close-button",e);t.type="button",t.setAttribute("aria-label","Close popup"),t.setAttribute("aria-hidden","true"),t.innerHTML="×",t.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(t){return this._classList.add(t),this._updateClassList(),this}removeClassName(t){return this._classList.delete(t),this._updateClassList(),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){let e;return this._classList.delete(t)?e=!1:(this._classList.add(t),e=!0),this._updateClassList(),e}_onMouseEvent(t){this._update(t.point)}_getAnchor(t){if(this.options.anchor)return this.options.anchor;const e=this._map,i=this._container,n=this._pos;if(!e||!i||!n)return"bottom";const r=i.offsetWidth,o=i.offsetHeight,s=n.xe.transform.width-r/2;if(n.y+te.transform.height-o){if(s)return"bottom-left";if(a)return"bottom-right"}return s?"left":a?"right":"bottom"}_updateClassList(){const t=this._container;if(!t)return;const e=[...this._classList];e.push("mapboxgl-popup"),this._anchor&&e.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&e.push("mapboxgl-popup-track-pointer"),t.className=e.join(" ")}_update(e){const i=this._map,n=this._content;if(!i||!this._lngLat&&!this._trackPointer||!n)return;let r=this._container;if(r||(r=this._container=o("div","mapboxgl-popup",i.getContainer()),this._tip=o("div","mapboxgl-popup-tip",r),r.appendChild(n)),this.options.maxWidth&&r.style.maxWidth!==this.options.maxWidth&&(r.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),!this._trackPointer||e){const t=this._pos=this._trackPointer&&e?e:i.project(this._lngLat),n=no(this.options.offset),r=this._anchor=this._getAnchor(n.y),o=no(this.options.offset,r),s=t.add(o).round();i._requestDomTask((()=>{this._container&&r&&(this._container.style.transform=`${Qr[r]} translate(${s.x}px,${s.y}px)`)}))}if(!this._marker&&i._showingGlobe()){const e=t.isLngLatBehindGlobe(i.transform,this._lngLat)?0:1;this._setOpacity(e)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(io);t&&t.focus()}_onClose(){this.remove()}_setOpacity(t){this._container&&(this._container.style.opacity=`${t}`),this._content&&(this._content.style.pointerEvents=t?"auto":"none")}},Marker:to,Style:Ke,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,FreeCameraOptions:jn,Evented:t.Evented,config:t.config,prewarm:function(){Ft().acquire(Ot)},clearPrewarmedResources:function(){const t=Nt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Ot),Nt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Bt.workerCount},set workerCount(t){Bt.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage(e){t.clearTileCache(e)},workerUrl:"",workerClass:null,setNow:t.exported.setNow,restoreNow:t.exported.restoreNow};return po})),i}()},8859:(t,e,i)=>{var n="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=n&&r&&"function"==typeof r.get?r.get:null,s=n&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=a&&l&&"function"==typeof l.get?l.get:null,u=a&&Set.prototype.forEach,h="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,p="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,m=Object.prototype.toString,g=Function.prototype.toString,_=String.prototype.match,y=String.prototype.slice,v=String.prototype.replace,x=String.prototype.toUpperCase,b=String.prototype.toLowerCase,w=RegExp.prototype.test,A=Array.prototype.concat,E=Array.prototype.join,C=Array.prototype.slice,T=Math.floor,k="function"==typeof BigInt?BigInt.prototype.valueOf:null,S=Object.getOwnPropertySymbols,I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,M="function"==typeof Symbol&&"object"==typeof Symbol.iterator,P="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||"symbol")?Symbol.toStringTag:null,L=Object.prototype.propertyIsEnumerable,z=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function D(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||w.call(/e/,e))return e;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var n=t<0?-T(-t):T(t);if(n!==t){var r=String(n),o=y.call(e,r.length+1);return v.call(r,i,"$&_")+"."+v.call(v.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(e,i,"$&_")}var R=i(2634),O=R.custom,B=V(O)?O:null;function N(t,e,i){var n="double"===(i.quoteStyle||e)?'"':"'";return n+t+n}function F(t){return v.call(String(t),/"/g,""")}function U(t){return!("[object Array]"!==Z(t)||P&&"object"==typeof t&&P in t)}function j(t){return!("[object RegExp]"!==Z(t)||P&&"object"==typeof t&&P in t)}function V(t){if(M)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!I)return!1;try{return I.call(t),!0}catch(t){}return!1}t.exports=function t(e,n,r,a){var l=n||{};if(q(l,"quoteStyle")&&"single"!==l.quoteStyle&&"double"!==l.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(q(l,"maxStringLength")&&("number"==typeof l.maxStringLength?l.maxStringLength<0&&l.maxStringLength!==1/0:null!==l.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var m=!q(l,"customInspect")||l.customInspect;if("boolean"!=typeof m&&"symbol"!==m)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(q(l,"indent")&&null!==l.indent&&"\t"!==l.indent&&!(parseInt(l.indent,10)===l.indent&&l.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(q(l,"numericSeparator")&&"boolean"!=typeof l.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var x=l.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return X(e,l);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var w=String(e);return x?D(e,w):w}if("bigint"==typeof e){var T=String(e)+"n";return x?D(e,T):T}var S=void 0===l.depth?5:l.depth;if(void 0===r&&(r=0),r>=S&&S>0&&"object"==typeof e)return U(e)?"[Array]":"[Object]";var O=function(t,e){var i;if("\t"===t.indent)i="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;i=E.call(Array(t.indent+1)," ")}return{base:i,prev:E.call(Array(e+1),i)}}(l,r);if(void 0===a)a=[];else if($(a,e)>=0)return"[Circular]";function G(e,i,n){if(i&&(a=C.call(a)).push(i),n){var o={depth:l.depth};return q(l,"quoteStyle")&&(o.quoteStyle=l.quoteStyle),t(e,o,r+1,a)}return t(e,l,r+1,a)}if("function"==typeof e&&!j(e)){var W=function(t){if(t.name)return t.name;var e=_.call(g.call(t),/^function\s*([\w$]+)/);if(e)return e[1];return null}(e),tt=Q(e,G);return"[Function"+(W?": "+W:" (anonymous)")+"]"+(tt.length>0?" { "+E.call(tt,", ")+" }":"")}if(V(e)){var et=M?v.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):I.call(e);return"object"!=typeof e||M?et:H(et)}if(function(t){if(!t||"object"!=typeof t)return!1;if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)return!0;return"string"==typeof t.nodeName&&"function"==typeof t.getAttribute}(e)){for(var it="<"+b.call(String(e.nodeName)),nt=e.attributes||[],rt=0;rt"}if(U(e)){if(0===e.length)return"[]";var ot=Q(e,G);return O&&!function(t){for(var e=0;e=0)return!1;return!0}(ot)?"["+J(ot,O)+"]":"[ "+E.call(ot,", ")+" ]"}if(function(t){return!("[object Error]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e)){var st=Q(e,G);return"cause"in Error.prototype||!("cause"in e)||L.call(e,"cause")?0===st.length?"["+String(e)+"]":"{ ["+String(e)+"] "+E.call(st,", ")+" }":"{ ["+String(e)+"] "+E.call(A.call("[cause]: "+G(e.cause),st),", ")+" }"}if("object"==typeof e&&m){if(B&&"function"==typeof e[B]&&R)return R(e,{depth:S-r});if("symbol"!==m&&"function"==typeof e.inspect)return e.inspect()}if(function(t){if(!o||!t||"object"!=typeof t)return!1;try{o.call(t);try{c.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(e)){var at=[];return s&&s.call(e,(function(t,i){at.push(G(i,e,!0)+" => "+G(t,e))})),K("Map",o.call(e),at,O)}if(function(t){if(!c||!t||"object"!=typeof t)return!1;try{c.call(t);try{o.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(e)){var lt=[];return u&&u.call(e,(function(t){lt.push(G(t,e))})),K("Set",c.call(e),lt,O)}if(function(t){if(!h||!t||"object"!=typeof t)return!1;try{h.call(t,h);try{p.call(t,p)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(e))return Y("WeakMap");if(function(t){if(!p||!t||"object"!=typeof t)return!1;try{p.call(t,p);try{h.call(t,h)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(e))return Y("WeakSet");if(function(t){if(!d||!t||"object"!=typeof t)return!1;try{return d.call(t),!0}catch(t){}return!1}(e))return Y("WeakRef");if(function(t){return!("[object Number]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e))return H(G(Number(e)));if(function(t){if(!t||"object"!=typeof t||!k)return!1;try{return k.call(t),!0}catch(t){}return!1}(e))return H(G(k.call(e)));if(function(t){return!("[object Boolean]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e))return H(f.call(e));if(function(t){return!("[object String]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e))return H(G(String(e)));if("undefined"!=typeof window&&e===window)return"{ [object Window] }";if(e===i.g)return"{ [object globalThis] }";if(!function(t){return!("[object Date]"!==Z(t)||P&&"object"==typeof t&&P in t)}(e)&&!j(e)){var ct=Q(e,G),ut=z?z(e)===Object.prototype:e instanceof Object||e.constructor===Object,ht=e instanceof Object?"":"null prototype",pt=!ut&&P&&Object(e)===e&&P in e?y.call(Z(e),8,-1):ht?"Object":"",dt=(ut||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(pt||ht?"["+E.call(A.call([],pt||[],ht||[]),": ")+"] ":"");return 0===ct.length?dt+"{}":O?dt+"{"+J(ct,O)+"}":dt+"{ "+E.call(ct,", ")+" }"}return String(e)};var G=Object.prototype.hasOwnProperty||function(t){return t in this};function q(t,e){return G.call(t,e)}function Z(t){return m.call(t)}function $(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;ie.maxStringLength){var i=t.length-e.maxStringLength,n="... "+i+" more character"+(i>1?"s":"");return X(y.call(t,0,e.maxStringLength),e)+n}return N(v.call(v.call(t,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,W),"single",e)}function W(t){var e=t.charCodeAt(0),i={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return i?"\\"+i:"\\x"+(e<16?"0":"")+x.call(e.toString(16))}function H(t){return"Object("+t+")"}function Y(t){return t+" { ? }"}function K(t,e,i,n){return t+" ("+e+") {"+(n?J(i,n):E.call(i,", "))+"}"}function J(t,e){if(0===t.length)return"";var i="\n"+e.prev+e.base;return i+E.call(t,","+i)+"\n"+e.prev}function Q(t,e){var i=U(t),n=[];if(i){n.length=t.length;for(var r=0;r{"use strict";var e=function(t){return t!=t};t.exports=function(t,i){return 0===t&&0===i?1/t==1/i:t===i||!(!e(t)||!e(i))}},7653:(t,e,i)=>{"use strict";var n=i(8452),r=i(487),o=i(9211),s=i(9394),a=i(6576),l=r(s(),Object);n(l,{getPolyfill:s,implementation:o,shim:a}),t.exports=l},9394:(t,e,i)=>{"use strict";var n=i(9211);t.exports=function(){return"function"==typeof Object.is?Object.is:n}},6576:(t,e,i)=>{"use strict";var n=i(9394),r=i(8452);t.exports=function(){var t=n();return r(Object,{is:t},{is:function(){return Object.is!==t}}),t}},8875:(t,e,i)=>{"use strict";var n;if(!Object.keys){var r=Object.prototype.hasOwnProperty,o=Object.prototype.toString,s=i(1093),a=Object.prototype.propertyIsEnumerable,l=!a.call({toString:null},"toString"),c=a.call((function(){}),"prototype"),u=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],h=function(t){var e=t.constructor;return e&&e.prototype===t},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!p["$"+t]&&r.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{h(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();n=function(t){var e=null!==t&&"object"==typeof t,i="[object Function]"===o.call(t),n=s(t),a=e&&"[object String]"===o.call(t),p=[];if(!e&&!i&&!n)throw new TypeError("Object.keys called on a non-object");var f=c&&i;if(a&&t.length>0&&!r.call(t,0))for(var m=0;m0)for(var g=0;g{"use strict";var n=Array.prototype.slice,r=i(1093),o=Object.keys,s=o?function(t){return o(t)}:i(8875),a=Object.keys;s.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return r(t)?a(n.call(t)):a(t)})}else Object.keys=s;return Object.keys||s},t.exports=s},1093:t=>{"use strict";var e=Object.prototype.toString;t.exports=function(t){var i=e.call(t),n="[object Arguments]"===i;return n||(n="[object Array]"!==i&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),n}},8403:(t,e,i)=>{"use strict";var n=i(1189),r=i(1333)(),o=i(8075),s=Object,a=o("Array.prototype.push"),l=o("Object.prototype.propertyIsEnumerable"),c=r?Object.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var i=s(t);if(1===arguments.length)return i;for(var o=1;o{"use strict";var n=i(8452),r=i(487),o=i(8403),s=i(1514),a=i(984),l=r.apply(s()),c=function(t,e){return l(Object,arguments)};n(c,{getPolyfill:s,implementation:o,shim:a}),t.exports=c},1514:(t,e,i)=>{"use strict";var n=i(8403);t.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),i={},n=0;n{"use strict";var n=i(8452),r=i(1514);t.exports=function(){var t=r();return n(Object,{assign:t},{assign:function(){return Object.assign!==t}}),t}},6578:t=>{"use strict";t.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},5606:t=>{var e,i,n=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(i){try{return e.call(null,t,0)}catch(i){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:r}catch(t){e=r}try{i="function"==typeof clearTimeout?clearTimeout:o}catch(t){i=o}}();var a,l=[],c=!1,u=-1;function h(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&p())}function p(){if(!c){var t=s(h);c=!0;for(var e=l.length;e;){for(a=l,l=[];++u1)for(var i=1;i{"use strict";var n=i(3206),r=i(9675),o=Object;t.exports=n((function(){if(null==this||this!==o(this))throw new r("RegExp.prototype.flags getter called on non-object");var t="";return this.hasIndices&&(t+="d"),this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.dotAll&&(t+="s"),this.unicode&&(t+="u"),this.unicodeSets&&(t+="v"),this.sticky&&(t+="y"),t}),"get flags",!0)},1589:(t,e,i)=>{"use strict";var n=i(8452),r=i(487),o=i(7675),s=i(5330),a=i(3984),l=r(s());n(l,{getPolyfill:s,implementation:o,shim:a}),t.exports=l},5330:(t,e,i)=>{"use strict";var n=i(7675),r=i(8452).supportsDescriptors,o=Object.getOwnPropertyDescriptor;t.exports=function(){if(r&&"gim"===/a/gim.flags){var t=o(RegExp.prototype,"flags");if(t&&"function"==typeof t.get&&"boolean"==typeof RegExp.prototype.dotAll&&"boolean"==typeof RegExp.prototype.hasIndices){var e="",i={};if(Object.defineProperty(i,"hasIndices",{get:function(){e+="d"}}),Object.defineProperty(i,"sticky",{get:function(){e+="y"}}),"dy"===e)return t.get}}return n}},3984:(t,e,i)=>{"use strict";var n=i(8452).supportsDescriptors,r=i(5330),o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,a=TypeError,l=Object.getPrototypeOf,c=/a/;t.exports=function(){if(!n||!l)throw new a("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=r(),e=l(c),i=o(e,"flags");return i&&i.get===t||s(e,"flags",{configurable:!0,enumerable:!1,get:t}),t}},6897:(t,e,i)=>{"use strict";var n=i(453),r=i(41),o=i(592)(),s=i(5795),a=i(9675),l=n("%Math.floor%");t.exports=function(t,e){if("function"!=typeof t)throw new a("`fn` is not a function");if("number"!=typeof e||e<0||e>4294967295||l(e)!==e)throw new a("`length` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],n=!0,c=!0;if("length"in t&&s){var u=s(t,"length");u&&!u.configurable&&(n=!1),u&&!u.writable&&(c=!1)}return(n||c||!i)&&(o?r(t,"length",e,!0,!0):r(t,"length",e)),t}},3206:(t,e,i)=>{"use strict";var n=i(41),r=i(592)(),o=i(4462).functionsHaveConfigurableNames(),s=i(9675);t.exports=function(t,e){if("function"!=typeof t)throw new s("`fn` is not a function");return arguments.length>2&&!!arguments[2]&&!o||(r?n(t,"name",e,!0,!0):n(t,"name",e)),t}},920:(t,e,i)=>{"use strict";var n=i(453),r=i(8075),o=i(8859),s=i(9675),a=n("%WeakMap%",!0),l=n("%Map%",!0),c=r("WeakMap.prototype.get",!0),u=r("WeakMap.prototype.set",!0),h=r("WeakMap.prototype.has",!0),p=r("Map.prototype.get",!0),d=r("Map.prototype.set",!0),f=r("Map.prototype.has",!0),m=function(t,e){for(var i,n=t;null!==(i=n.next);n=i)if(i.key===e)return n.next=i.next,i.next=t.next,t.next=i,i};t.exports=function(){var t,e,i,n={assert:function(t){if(!n.has(t))throw new s("Side channel does not contain "+o(t))},get:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(t)return c(t,n)}else if(l){if(e)return p(e,n)}else if(i)return function(t,e){var i=m(t,e);return i&&i.value}(i,n)},has:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(t)return h(t,n)}else if(l){if(e)return f(e,n)}else if(i)return function(t,e){return!!m(t,e)}(i,n);return!1},set:function(n,r){a&&n&&("object"==typeof n||"function"==typeof n)?(t||(t=new a),u(t,n,r)):l?(e||(e=new l),d(e,n,r)):(i||(i={key:{},next:null}),function(t,e,i){var n=m(t,e);n?n.value=i:t.next={key:e,next:t.next,value:i}}(i,n,r))}};return n}},1820:(t,e,i)=>{"use strict";var n=i(63),r=SyntaxError,o="object"==typeof StopIteration?StopIteration:null;t.exports=function(t){if(!o)throw new r("this environment lacks StopIteration");n.set(t,"[[Done]]",!1);var e={next:function(){var t=n.get(this,"[[Iterator]]"),e=n.get(t,"[[Done]]");try{return{done:e,value:e?void 0:t.next()}}catch(e){if(n.set(t,"[[Done]]",!0),e!==o)throw e;return{done:!0,value:void 0}}}};return n.set(e,"[[Iterator]]",t),e}},5072:(t,e,i)=>{"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},o=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),s=[];function a(t){for(var e=-1,i=0;i{"use strict";var n=i(4761),r=i(1703),o=i(5128),s=i(3612),a=i(9803);t.exports=function(t){return null==t||"object"!=typeof t&&"function"!=typeof t?null:n(t)?"String":r(t)?"Number":o(t)?"Boolean":s(t)?"Symbol":a(t)?"BigInt":void 0}},593:(t,e,i)=>{"use strict";var n=i(3802),r=i(256),o=i(7842),s=i(2648);t.exports=function(t){if(t&&"object"==typeof t){if(n(t))return"Map";if(r(t))return"Set";if(o(t))return"WeakMap";if(s(t))return"WeakSet"}return!1}},5767:(t,e,i)=>{"use strict";var n=i(2682),r=i(9209),o=i(487),s=i(8075),a=i(5795),l=s("Object.prototype.toString"),c=i(9092)(),u="undefined"==typeof globalThis?i.g:globalThis,h=r(),p=s("String.prototype.slice"),d=Object.getPrototypeOf,f=s("Array.prototype.indexOf",!0)||function(t,e){for(var i=0;i-1?e:"Object"===e&&function(t){var e=!1;return n(m,(function(i,n){if(!e)try{i(t),e=p(n,1)}catch(t){}})),e}(t)}return a?function(t){var e=!1;return n(m,(function(i,n){if(!e)try{"$"+i(t)===n&&(e=p(n,1))}catch(t){}})),e}(t):null}},2634:()=>{},9209:(t,e,i)=>{"use strict";var n=i(6578),r="undefined"==typeof globalThis?i.g:globalThis;t.exports=function(){for(var t=[],e=0;e{"use strict";var n=i(5606),r=i(7244),o=i(1820);if(i(4039)()||i(1333)()){var s=Symbol.iterator;t.exports=function(t){return null!=t&&void 0!==t[s]?t[s]():r(t)?Array.prototype[s].call(t):void 0}}else{var a=i(7738),l=i(4761),c=i(453),u=c("%Map%",!0),h=c("%Set%",!0),p=i(8075),d=p("Array.prototype.push"),f=p("String.prototype.charCodeAt"),m=p("String.prototype.slice"),g=function(t){var e=0;return{next:function(){var i,n=e>=t.length;return n||(i=t[e],e+=1),{done:n,value:i}}}},_=function(t,e){if(a(t)||r(t))return g(t);if(l(t)){var i=0;return{next:function(){var e=function(t,e){if(e+1>=t.length)return e+1;var i=f(t,e);if(i<55296||i>56319)return e+1;var n=f(t,e+1);return n<56320||n>57343?e+1:e+2}(t,i),n=m(t,i,e);return i=e,{done:e>t.length,value:n}}}}return e&&void 0!==t["_es6-shim iterator_"]?t["_es6-shim iterator_"]():void 0};if(u||h){var y=i(3802),v=i(256),x=p("Map.prototype.forEach",!0),b=p("Set.prototype.forEach",!0);if(void 0===n||!n.versions||!n.versions.node)var w=p("Map.prototype.iterator",!0),A=p("Set.prototype.iterator",!0);var E=p("Map.prototype.@@iterator",!0)||p("Map.prototype._es6-shim iterator_",!0),C=p("Set.prototype.@@iterator",!0)||p("Set.prototype._es6-shim iterator_",!0);t.exports=function(t){return function(t){if(y(t)){if(w)return o(w(t));if(E)return E(t);if(x){var e=[];return x(t,(function(t,i){d(e,[i,t])})),g(e)}}if(v(t)){if(A)return o(A(t));if(C)return C(t);if(b){var i=[];return b(t,(function(t){d(i,t)})),g(i)}}}(t)||_(t)}}else t.exports=function(t){if(null!=t)return _(t,!0)}}}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={id:n,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.nc=void 0,(()=>{"use strict";var t=i(5072),e=i.n(t),n=i(9887),r={insert:"head",singleton:!1};e()(n.A,r);n.A.locals;var o=i(4982),s=Object.defineProperty,a=(t,e)=>s(t,"name",{value:e,configurable:!0}),l=class{constructor(t){var e,i,n;this.direction=!1,this.compareProperties=!0,this.precision=10**-(null!=(e=null==t?void 0:t.precision)?e:17),this.direction=null!=(i=null==t?void 0:t.direction)&&i,this.compareProperties=null==(n=null==t?void 0:t.compareProperties)||n}compare(t,e){if(t.type!==e.type)return!1;if(!c(t,e))return!1;switch(t.type){case"Point":return this.compareCoord(t.coordinates,e.coordinates);case"LineString":return this.compareLine(t.coordinates,e.coordinates);case"Polygon":return this.comparePolygon(t,e);case"GeometryCollection":return this.compareGeometryCollection(t,e);case"Feature":return this.compareFeature(t,e);case"FeatureCollection":return this.compareFeatureCollection(t,e);default:if(t.type.startsWith("Multi")){const i=u(t),n=u(e);return i.every((t=>n.some((e=>this.compare(t,e)))))}}return!1}compareCoord(t,e){return t.length===e.length&&t.every(((t,i)=>Math.abs(t-e[i])=0&&(i=[].concat(t.slice(n,t.length),t.slice(1,n+1))),i}comparePath(t,e){return t.every(((t,i)=>this.compareCoord(t,e[i])))}comparePolygon(t,e){if(this.compareLine(t.coordinates[0],e.coordinates[0],1,!0)){const i=t.coordinates.slice(1,t.coordinates.length),n=e.coordinates.slice(1,e.coordinates.length);return i.every((t=>n.some((e=>this.compareLine(t,e,1,!0)))))}return!1}compareGeometryCollection(t,e){return c(t.geometries,e.geometries)&&this.compareBBox(t,e)&&t.geometries.every(((t,i)=>this.compare(t,e.geometries[i])))}compareFeature(t,e){return t.id===e.id&&(!this.compareProperties||o(t.properties,e.properties))&&this.compareBBox(t,e)&&this.compare(t.geometry,e.geometry)}compareFeatureCollection(t,e){return c(t.features,e.features)&&this.compareBBox(t,e)&&t.features.every(((t,i)=>this.compare(t,e.features[i])))}compareBBox(t,e){return Boolean(!t.bbox&&!e.bbox)||!(!t.bbox||!e.bbox)&&this.compareCoord(t.bbox,e.bbox)}};a(l,"GeojsonEquality");function c(t,e){return t.coordinates?t.coordinates.length===e.coordinates.length:t.length===e.length}function u(t){return t.coordinates.map((e=>({type:t.type.replace("Multi",""),coordinates:e})))}a(c,"sameLength"),a(u,"explode");var h=6371008.8,p={centimeters:100*h,centimetres:100*h,degrees:360/(2*Math.PI),feet:3.28084*h,inches:39.37*h,kilometers:h/1e3,kilometres:h/1e3,meters:h,metres:h,miles:h/1609.344,millimeters:1e3*h,millimetres:1e3*h,nauticalmiles:h/1852,radians:1,yards:1.0936*h},d={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:2.9155334959812285e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046};function f(t,e,i={}){const n={type:"Feature"};return(0===i.id||i.id)&&(n.id=i.id),i.bbox&&(n.bbox=i.bbox),n.properties=e||{},n.geometry=t,n}function m(t,e,i={}){if(!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!T(t[0])||!T(t[1]))throw new Error("coordinates must contain numbers");return f({type:"Point",coordinates:t},e,i)}function g(t,e,i={}){for(const e of t){if(e.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(e[e.length-1].length!==e[0].length)throw new Error("First and last Position are not equivalent.");for(let t=0;tm(t,e))),i)}),"points"),a(g,"polygon"),a((function(t,e,i={}){return y(t.map((t=>g(t,e))),i)}),"polygons"),a(_,"lineString"),a((function(t,e,i={}){return y(t.map((t=>_(t,e))),i)}),"lineStrings"),a(y,"featureCollection"),a(v,"multiLineString"),a(x,"multiPoint"),a(b,"multiPolygon"),a((function(t,e,i={}){return f({type:"GeometryCollection",geometries:t},e,i)}),"geometryCollection"),a((function(t,e=0){if(e&&!(e>=0))throw new Error("precision must be a positive number");const i=Math.pow(10,e||0);return Math.round(t*i)/i}),"round"),a(w,"radiansToLength"),a(A,"lengthToRadians"),a((function(t,e){return E(A(t,e))}),"lengthToDegrees"),a((function(t){let e=t%360;return e<0&&(e+=360),e}),"bearingToAzimuth"),a(E,"radiansToDegrees"),a(C,"degreesToRadians"),a((function(t,e="kilometers",i="kilometers"){if(!(t>=0))throw new Error("length must be a positive number");return w(A(t,e),i)}),"convertLength"),a((function(t,e="meters",i="kilometers"){if(!(t>=0))throw new Error("area must be a positive number");const n=d[e];if(!n)throw new Error("invalid original units");const r=d[i];if(!r)throw new Error("invalid final units");return t/n*r}),"convertArea"),a(T,"isNumber"),a(k,"isObject"),a((function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((t=>{if(!T(t))throw new Error("bbox must only contain numbers")}))}),"validateBBox"),a((function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}),"validateId");var S=Object.defineProperty,I=(t,e)=>S(t,"name",{value:e,configurable:!0});function M(t,e,i){if(null!==t)for(var n,r,o,s,a,l,c,u,h=0,p=0,d=t.type,f="FeatureCollection"===d,m="Feature"===d,g=f?t.features.length:1,_=0;_a||p>l||d>c)return s=o,a=i,l=p,c=d,void(r=0);var f=_([s,o],t.properties);if(!1===e(f,i,n,d,r))return!1;r++,s=o}))&&void 0}}}))}function O(t,e){if(!t)throw new Error("geojson is required");D(t,(function(t,i,n){if(null!==t.geometry){var r=t.geometry.type,o=t.geometry.coordinates;switch(r){case"LineString":if(!1===e(t,i,n,0,0))return!1;break;case"Polygon":for(var s=0;s{i[0]>t[0]&&(i[0]=t[0]),i[1]>t[1]&&(i[1]=t[1]),i[2]{N(t,"name",{value:e,configurable:!0})})(F,"center");var U=i(3114);function j(){return new V}function V(){this.reset()}V.prototype={constructor:V,reset:function(){this.s=this.t=0},add:function(t){q(G,t,this.t),q(this,G.s,this.s),this.s?this.t+=G.t:this.s=G.t},valueOf:function(){return this.s}};var G=new V;function q(t,e,i){var n=t.s=e+i,r=n-e,o=n-r;t.t=e-o+(i-r)}var Z=1e-6,$=Math.PI,X=$/2,W=$/4,H=2*$,Y=180/$,K=$/180,J=Math.abs,Q=Math.atan,tt=Math.atan2,et=Math.cos,it=(Math.ceil,Math.exp),nt=(Math.floor,Math.log),rt=(Math.pow,Math.sin),ot=(Math.sign,Math.sqrt),st=Math.tan;function at(t){return t>1?0:t<-1?$:Math.acos(t)}function lt(t){return t>1?X:t<-1?-X:Math.asin(t)}function ct(){}function ut(t,e){t&&pt.hasOwnProperty(t.type)&&pt[t.type](t,e)}var ht={Feature:function(t,e){ut(t.geometry,e)},FeatureCollection:function(t,e){for(var i=t.features,n=-1,r=i.length;++n$?t-H:t<-$?t+H:t,e]}function Ct(t,e,i){return(t%=H)?e||i?At(kt(t),St(e,i)):kt(t):e||i?St(e,i):Et}function Tt(t){return function(e,i){return[(e+=t)>$?e-H:e<-$?e+H:e,i]}}function kt(t){var e=Tt(t);return e.invert=Tt(-t),e}function St(t,e){var i=et(t),n=rt(t),r=et(e),o=rt(e);function s(t,e){var s=et(e),a=et(t)*s,l=rt(t)*s,c=rt(e),u=c*i+a*n;return[tt(l*r-u*o,a*i-c*n),lt(u*r+l*o)]}return s.invert=function(t,e){var s=et(e),a=et(t)*s,l=rt(t)*s,c=rt(e),u=c*r-l*o;return[tt(l*r+c*o,a*i+u*n),lt(u*i-a*n)]},s}function It(t,e,i,n,r,o){if(i){var s=et(e),a=rt(e),l=n*i;null==r?(r=e+n*H,o=e-l/2):(r=Mt(s,r),o=Mt(s,o),(n>0?ro)&&(r+=n*H));for(var c,u=r;n>0?u>o:u1&&e.push(e.pop().concat(e.shift()))},result:function(){var i=e;return e=[],t=null,i}}}function Lt(t,e){return J(t[0]-e[0])=0;--o)r.point((u=c[o])[0],u[1]);else n(p.x,p.p.x,-1,r);p=p.p}c=(p=p.o).z,d=!d}while(!p.v);r.lineEnd()}}}function Rt(t){if(e=t.length){for(var e,i,n=0,r=t[0];++ne?1:t>=e?0:NaN}Et.invert=Et;var Bt,Nt;1===(Bt=Ot).length&&(Nt=Bt,Bt=function(t,e){return Ot(Nt(t),e)});var Ft=Array.prototype;Ft.slice,Ft.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);function Ut(t){for(var e,i,n,r=t.length,o=-1,s=0;++o=0;)for(e=(n=t[r]).length;--e>=0;)i[--s]=n[e];return i}var jt=1e9,Vt=-jt;function Gt(t,e,i,n){function r(r,o){return t<=r&&r<=i&&e<=o&&o<=n}function o(r,o,a,c){var u=0,h=0;if(null==r||(u=s(r,a))!==(h=s(o,a))||l(r,o)<0^a>0)do{c.point(0===u||3===u?t:i,u>1?n:e)}while((u=(u+a+4)%4)!==h);else c.point(o[0],o[1])}function s(n,r){return J(n[0]-t)0?0:3:J(n[0]-i)0?2:1:J(n[1]-e)0?1:0:r>0?3:2}function a(t,e){return l(t.x,e.x)}function l(t,e){var i=s(t,1),n=s(e,1);return i!==n?i-n:0===i?e[1]-t[1]:1===i?t[0]-e[0]:2===i?t[1]-e[1]:e[0]-t[0]}return function(s){var l,c,u,h,p,d,f,m,g,_,y,v=s,x=Pt(),b={point:w,lineStart:function(){b.point=A,c&&c.push(u=[]);_=!0,g=!1,f=m=NaN},lineEnd:function(){l&&(A(h,p),d&&g&&x.rejoin(),l.push(x.result()));b.point=w,g&&v.lineEnd()},polygonStart:function(){v=x,l=[],c=[],y=!0},polygonEnd:function(){var e=function(){for(var e=0,i=0,r=c.length;in&&(p-o)*(n-s)>(d-s)*(t-o)&&++e:d<=n&&(p-o)*(n-s)<(d-s)*(t-o)&&--e;return e}(),i=y&&e,r=(l=Ut(l)).length;(i||r)&&(s.polygonStart(),i&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),r&&Dt(l,a,e,o,s),s.polygonEnd());v=s,l=c=u=null}};function w(t,e){r(t,e)&&v.point(t,e)}function A(o,s){var a=r(o,s);if(c&&u.push([o,s]),_)h=o,p=s,d=a,_=!1,a&&(v.lineStart(),v.point(o,s));else if(a&&g)v.point(o,s);else{var l=[f=Math.max(Vt,Math.min(jt,f)),m=Math.max(Vt,Math.min(jt,m))],x=[o=Math.max(Vt,Math.min(jt,o)),s=Math.max(Vt,Math.min(jt,s))];!function(t,e,i,n,r,o){var s,a=t[0],l=t[1],c=0,u=1,h=e[0]-a,p=e[1]-l;if(s=i-a,h||!(s>0)){if(s/=h,h<0){if(s0){if(s>u)return;s>c&&(c=s)}if(s=r-a,h||!(s<0)){if(s/=h,h<0){if(s>u)return;s>c&&(c=s)}else if(h>0){if(s0)){if(s/=p,p<0){if(s0){if(s>u)return;s>c&&(c=s)}if(s=o-l,p||!(s<0)){if(s/=p,p<0){if(s>u)return;s>c&&(c=s)}else if(p>0){if(s0&&(t[0]=a+c*h,t[1]=l+c*p),u<1&&(e[0]=a+u*h,e[1]=l+u*p),!0}}}}}(l,x,t,e,i,n)?a&&(v.lineStart(),v.point(o,s),y=!1):(g||(v.lineStart(),v.point(l[0],l[1])),v.point(x[0],x[1]),a||v.lineEnd(),y=!1)}f=o,m=s,g=a}return b}}var qt=j();function Zt(t,e){var i=e[0],n=e[1],r=[rt(i),-et(i),0],o=0,s=0;qt.reset();for(var a=0,l=t.length;a=0?1:-1,E=A*w,C=E>$,T=f*x;if(qt.add(tt(T*A*rt(E),m*b+T*et(E))),o+=C?w+A*H:w,C^p>=i^y>=i){var k=vt(_t(h),_t(_));wt(k);var S=vt(r,k);wt(S);var I=(C^w>=0?-1:1)*lt(S[2]);(n>I||n===I&&(k[0]||k[1]))&&(s+=C^w>=0?1:-1)}}return(o<-Z||oWt&&(Wt=t);eHt&&(Ht=e)},lineStart:ct,lineEnd:ct,polygonStart:ct,polygonEnd:ct,result:function(){var t=[[$t,Xt],[Wt,Ht]];return Wt=Ht=-(Xt=$t=1/0),t}};const Kt=Yt;j();function Jt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Qt(t,e,i,n){return function(r,o){var s,a,l,c=e(o),u=r.invert(n[0],n[1]),h=Pt(),p=e(h),d=!1,f={point:m,lineStart:_,lineEnd:y,polygonStart:function(){f.point=v,f.lineStart=x,f.lineEnd=b,a=[],s=[]},polygonEnd:function(){f.point=m,f.lineStart=_,f.lineEnd=y,a=Ut(a);var t=Zt(s,u);a.length?(d||(o.polygonStart(),d=!0),Dt(a,ee,t,i,o)):t&&(d||(o.polygonStart(),d=!0),o.lineStart(),i(null,null,1,o),o.lineEnd()),d&&(o.polygonEnd(),d=!1),a=s=null},sphere:function(){o.polygonStart(),o.lineStart(),i(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function m(e,i){var n=r(e,i);t(e=n[0],i=n[1])&&o.point(e,i)}function g(t,e){var i=r(t,e);c.point(i[0],i[1])}function _(){f.point=g,c.lineStart()}function y(){f.point=m,c.lineEnd()}function v(t,e){l.push([t,e]);var i=r(t,e);p.point(i[0],i[1])}function x(){p.lineStart(),l=[]}function b(){v(l[0][0],l[0][1]),p.lineEnd();var t,e,i,n,r=p.clean(),c=h.result(),u=c.length;if(l.pop(),s.push(l),l=null,u)if(1&r){if((e=(i=c[0]).length-1)>0){for(d||(o.polygonStart(),d=!0),o.lineStart(),t=0;t1&&2&r&&c.push(c.pop().concat(c.shift())),a.push(c.filter(te))}return f}}function te(t){return t.length>1}function ee(t,e){return((t=t.x)[0]<0?t[1]-X-Z:X-t[1])-((e=e.x)[0]<0?e[1]-X-Z:X-e[1])}Jt(4.5);const ie=Qt((function(){return!0}),(function(t){var e,i=NaN,n=NaN,r=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,s){var a=o>0?$:-$,l=J(o-i);J(l-$)0?X:-X),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),t.point(o,n),e=0):r!==a&&l>=$&&(J(i-r)Z?Q((rt(e)*(o=et(n))*rt(i)-rt(n)*(r=et(e))*rt(t))/(r*o*s)):(e+n)/2}(i,n,o,s),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),e=0),t.point(i=o,n=s),r=a},lineEnd:function(){t.lineEnd(),i=n=NaN},clean:function(){return 2-e}}}),(function(t,e,i,n){var r;if(null==t)r=i*X,n.point(-$,r),n.point(0,r),n.point($,r),n.point($,0),n.point($,-r),n.point(0,-r),n.point(-$,-r),n.point(-$,0),n.point(-$,r);else if(J(t[0]-e[0])>Z){var o=t[0]4*e&&m--){var x=s+p,b=a+d,w=l+f,A=ot(x*x+b*b+w*w),E=lt(w/=A),C=J(J(w)-1)e||J((_*I+y*M)/v-.5)>.3||s*p+a*d+l*f0,r=J(i)>Z;function o(t,e){return et(t)*et(e)>i}function s(t,e,n){var r=[1,0,0],o=vt(_t(t),_t(e)),s=yt(o,o),a=o[0],l=s-a*a;if(!l)return!n&&t;var c=i*s/l,u=-i*a/l,h=vt(r,o),p=bt(r,c);xt(p,bt(o,u));var d=h,f=yt(p,d),m=yt(d,d),g=f*f-m*(yt(p,p)-1);if(!(g<0)){var _=ot(g),y=bt(d,(-f-_)/m);if(xt(y,p),y=gt(y),!n)return y;var v,x=t[0],b=e[0],w=t[1],A=e[1];b0^y[1]<(J(y[0]-x)$^(x<=y[0]&&y[0]<=b)){var T=bt(d,(-f+_)/m);return xt(T,p),[y,gt(T)]}}}function a(e,i){var r=n?t:$-t,o=0;return e<-r?o|=1:e>r&&(o|=2),i<-r?o|=4:i>r&&(o|=8),o}return Qt(o,(function(t){var e,i,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,p){var d,f=[h,p],m=o(h,p),g=n?m?0:a(h,p):m?a(h+(h<0?$:-$),p):0;if(!e&&(c=l=m)&&t.lineStart(),m!==l&&(!(d=s(e,f))||Lt(e,d)||Lt(f,d))&&(f[0]+=Z,f[1]+=Z,m=o(f[0],f[1])),m!==l)u=0,m?(t.lineStart(),d=s(f,e),t.point(d[0],d[1])):(d=s(e,f),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(r&&e&&n^m){var _;g&i||!(_=s(f,e,!0))||(u=0,n?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!m||e&&Lt(e,f)||t.point(f[0],f[1]),e=f,l=m,i=g},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}}),(function(i,n,r,o){It(o,t,e,r,i,n)}),n?[0,-t]:[-$,t-$])}(v=t*K,6*K):(v=null,ie),I()):v*Y},C.clipExtent=function(t){return arguments.length?(w=null==t?(b=s=a=l=null,ne):Gt(b=+t[0][0],s=+t[0][1],a=+t[1][0],l=+t[1][1]),I()):null==b?null:[[b,s],[a,l]]},C.scale=function(t){return arguments.length?(h=+t,S()):h},C.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],S()):[p,d]},C.center=function(t){return arguments.length?(f=t[0]%360*K,m=t[1]%360*K,S()):[f*Y,m*Y]},C.rotate=function(t){return arguments.length?(g=t[0]%360*K,_=t[1]%360*K,y=t.length>2?t[2]%360*K:0,S()):[g*Y,_*Y,y*Y]},C.precision=function(t){return arguments.length?(E=ce(k,A=t*t),I()):ot(A)},C.fitExtent=function(t,e){return se(C,t,e)},C.fitSize=function(t,e){return function(t,e,i){return se(t,[[0,0],e],i)}(C,t,e)},function(){return e=t.apply(this,arguments),C.invert=e.invert&&T,S()}}((function(){return t}))()}function pe(t){return function(e,i){var n=et(e),r=et(i),o=t(n*r);return[o*r*rt(e),o*rt(i)]}}function de(t){return function(e,i){var n=ot(e*e+i*i),r=t(n),o=rt(r),s=et(r);return[tt(e*o,n*s),lt(n&&i*o/n)]}}var fe=pe((function(t){return ot(2/(1+t))}));fe.invert=de((function(t){return 2*lt(t/2)}));var me=pe((function(t){return(t=at(t))&&t/rt(t)}));function ge(t,e){return[t,nt(st((X+e)/2))]}function _e(t,e){return[t,e]}function ye(t,e){var i=et(e),n=et(t)*i;return[i*rt(t)/n,rt(e)/n]}function ve(t,e){var i=e*e,n=i*i;return[t*(.8707-.131979*i+n*(n*(.003971*i-.001529*n)-.013791)),e*(1.007226+i*(.015085+n*(.028874*i-.044475-.005916*n)))]}function xe(t,e){return[et(e)*rt(t),rt(e)]}function be(t,e){var i=et(e),n=1+et(t)*i;return[i*rt(t)/n,rt(e)/n]}function we(t,e){return[nt(st((X+e)/2)),-t]}me.invert=de((function(t){return t})),ge.invert=function(t,e){return[t,2*Q(it(e))-X]},_e.invert=_e,ye.invert=de(Q),ve.invert=function(t,e){var i,n=e,r=25;do{var o=n*n,s=o*o;n-=i=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while(J(i)>Z&&--r>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]},xe.invert=de(lt),be.invert=de((function(t){return 2*Q(t)})),we.invert=function(t,e){return[-e,2*Q(it(t))-X]};var Ae=Object.defineProperty,Ee=(t,e)=>Ae(t,"name",{value:e,configurable:!0}),{BufferOp:Ce,GeoJSONReader:Te,GeoJSONWriter:ke}=U;function Se(t,e,i){var n=(i=i||{}).units||"kilometers",r=i.steps||8;if(!t)throw new Error("geojson is required");if("object"!=typeof i)throw new Error("options must be an object");if("number"!=typeof r)throw new Error("steps must be an number");if(void 0===e)throw new Error("radius is required");if(r<=0)throw new Error("steps must be greater than 0");var o=[];switch(t.type){case"GeometryCollection":return z(t,(function(t){var i=Ie(t,e,n,r);i&&o.push(i)})),y(o);case"FeatureCollection":return L(t,(function(t){var i=Ie(t,e,n,r);i&&L(i,(function(t){t&&o.push(t)}))})),y(o)}return Ie(t,e,n,r)}function Ie(t,e,i,n){var r=t.properties||{},o="Feature"===t.type?t.geometry:t;if("GeometryCollection"===o.type){var s=[];return z(t,(function(t){var r=Ie(t,e,i,n);r&&s.push(r)})),y(s)}var a=ze(o),l={type:o.type,coordinates:Pe(o.coordinates,a)},c=(new Te).read(l),u=w(A(e,i),"meters"),h=Ce.bufferOp(c,u,n);if(!Me((h=(new ke).write(h)).coordinates))return f({type:h.type,coordinates:Le(h.coordinates,a)},r)}function Me(t){return Array.isArray(t[0])?Me(t[0]):isNaN(t[0])}function Pe(t,e){return"object"!=typeof t[0]?e(t):t.map((function(t){return Pe(t,e)}))}function Le(t,e){return"object"!=typeof t[0]?e.invert(t):t.map((function(t){return Le(t,e)}))}function ze(t){var e=F(t).geometry.coordinates,i=[-e[0],-e[1]];return he(me).scale(79.4188).clipAngle(179.999).rotate(i).scale(h)}Ee(Se,"buffer"),Ee(Ie,"bufferFeature"),Ee(Me,"coordsIsNaN"),Ee(Pe,"projectCoords"),Ee(Le,"unprojectCoords"),Ee(ze,"defineProjection");var De=Object.defineProperty,Re=(t,e)=>De(t,"name",{value:e,configurable:!0});function Oe(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return[...t.geometry.coordinates];if("Point"===t.type)return[...t.coordinates]}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return[...t];throw new Error("coord must be GeoJSON Point or an Array of numbers")}Re(Oe,"getCoord"),Re((function(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}),"getCoords"),Re((function t(e){if(e.length>1&&T(e[0])&&T(e[1]))return!0;if(Array.isArray(e[0])&&e[0].length)return t(e[0]);throw new Error("coordinates must only contain numbers")}),"containsNumber"),Re((function(t,e,i){if(!e||!i)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+i+": must be a "+e+", given "+t.type)}),"geojsonType"),Re((function(t,e,i){if(!t)throw new Error("No feature passed");if(!i)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+i+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+i+": must be a "+e+", given "+t.geometry.type)}),"featureOf"),Re((function(t,e,i){if(!t)throw new Error("No featureCollection passed");if(!i)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+i+", FeatureCollection required");for(const n of t.features){if(!n||"Feature"!==n.type||!n.geometry)throw new Error("Invalid input to "+i+", Feature with geometry required");if(!n.geometry||n.geometry.type!==e)throw new Error("Invalid input to "+i+": must be a "+e+", given "+n.geometry.type)}}),"collectionOf"),Re((function(t){return"Feature"===t.type?t.geometry:t}),"getGeom"),Re((function(t,e){return"FeatureCollection"===t.type?"FeatureCollection":"GeometryCollection"===t.type?"GeometryCollection":"Feature"===t.type&&null!==t.geometry?t.geometry.type:t.type}),"getType");var Be=Object.defineProperty;function Ne(t,e,i,n={}){const r=Oe(t),o=C(r[0]),s=C(r[1]),a=C(i),l=A(e,n.units),c=Math.asin(Math.sin(s)*Math.cos(l)+Math.cos(s)*Math.sin(l)*Math.cos(a));return m([E(o+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(s),Math.cos(l)-Math.sin(s)*Math.sin(c))),E(c)],n.properties)}((t,e)=>{Be(t,"name",{value:e,configurable:!0})})(Ne,"destination");var Fe=Object.defineProperty;function Ue(t,e,i={}){const n=i.steps||64,r=i.properties?i.properties:!Array.isArray(t)&&"Feature"===t.type&&t.properties?t.properties:{},o=[];for(let r=0;r{Fe(t,"name",{value:e,configurable:!0})})(Ue,"circle");var je=i(7121),Ve={insert:"head",singleton:!1};e()(je.A,Ve);je.A.locals;var Ge=i(842),qe=i.n(Ge);function Ze(t){return Ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ze(t)}function $e(){$e=function(){return e};var t,e={},i=Object.prototype,n=i.hasOwnProperty,r=Object.defineProperty||function(t,e,i){t[e]=i.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,i){return t[e]=i}}function u(t,e,i,n){var o=e&&e.prototype instanceof _?e:_,s=Object.create(o.prototype),a=new M(n||[]);return r(s,"_invoke",{value:T(t,i,a)}),s}function h(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var p="suspendedStart",d="suspendedYield",f="executing",m="completed",g={};function _(){}function y(){}function v(){}var x={};c(x,s,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(P([])));w&&w!==i&&n.call(w,s)&&(x=w);var A=v.prototype=_.prototype=Object.create(x);function E(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function C(t,e){function i(r,o,s,a){var l=h(t[r],t,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==Ze(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(u).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function T(e,i,n){var r=p;return function(o,s){if(r===f)throw Error("Generator is already running");if(r===m){if("throw"===o)throw s;return{value:t,done:!0}}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var l=k(a,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===p)throw r=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=h(e,i,n);if("normal"===c.type){if(r=n.done?m:d,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=m,n.method="throw",n.arg=c.arg)}}}function k(e,i){var n=i.method,r=e.iterator[n];if(r===t)return i.delegate=null,"throw"===n&&e.iterator.return&&(i.method="return",i.arg=t,k(e,i),"throw"===i.method)||"return"!==n&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var o=h(r,e.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,g;var s=o.arg;return s?s.done?(i[e.resultName]=s.value,i.next=e.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,g):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,g)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function P(e){if(e||""===e){var i=e[s];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function i(){for(;++r=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var l=n.call(s,"catchLoc"),c=n.call(s,"finallyLoc");if(l&&c){if(this.prev=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var r=n.arg;I(i)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:P(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function Xe(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=function(t,e){if(!t)return;if("string"==typeof t)return We(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return We(t,e)}(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,r=function(){};return{s:r,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}function We(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]&&arguments[1],i=function(){var i=t[n].toLowerCase().replace(/ /g,"-").replace(/[^\w-]+/g,"");ii.push(i),Promise.all([vi(t[n],i)]).then((function(t){var n;t[0]&&(n=i,ai.addLayer({id:"locationFill_"+n,type:"fill",source:"location_"+n,layout:{},paint:{"fill-color":"#0080ff","fill-opacity":.1}}),ai.addLayer({id:"locationOutline_"+n,type:"line",source:"location_"+n,layout:{},paint:{"line-color":"#000","line-width":2}}),e&&(ai.fitBounds(t[0],{padding:50,duration:200}),Ei()))}))},n=0;n1)||t.geojson.type.includes("Polygon")&&"tourism"!=t.class}));if(0===n.length&&(n=i.filter((function(t){return!(i.length>1)||t.geojson.type.includes("Polygon")}))),n.length){var r,o=(i=n).find((function(t){return"boundary"==t.class}));return r=bi(i=xi(o||i[0])),i,ai.addSource("location_"+e,{type:"geojson",data:i.geometry}),"USA"==t||"United States"==t?[[-124.736342,49.382808],[-66.945392,24.521208]]:"Canada"==t?[[-127.04488959947128,46.84335005883247],[-93.56611457505713,67.56632192699053]]:"Australia"==t?[[113.1833866242153,-43.18948268415735],[155.58306008612902,-8.396740704298026]]:"New Zealand"==t?[[167.56687045493499,-47.123778189733535],[176.25112313112277,-40.23886012876884]]:r}return!1}))}function xi(t){var e={type:"Feature",properties:{},geometry:Ye({},t.geojson),lat:t.lat,lng:t.lon};return"LineString"===t.geojson.type?e=Se(e,1):"Point"===t.geojson.type&&(e=Ue(e,1)),e}function bi(t){var e=B(t);return[[e[0],e[1]],[e[2],e[3]]]}function wi(){var t,e=[],i=Xe(new URLSearchParams(window.location.search).entries());try{for(i.s();!(t=i.n()).done;){var n=t.value;e.push({name:n[0],value:n[1]})}}catch(t){i.e(t)}finally{i.f()}return e}function Ai(t){if(t.includes("[]")){var e=[];return pi.forEach((function(i,n){i.name==t&&e.push(i.value)})),e}var i="";return pi.forEach((function(e,n){e.name==t&&(i=e.value)})),i}function Ei(){document.querySelectorAll(".ajax--loading").forEach((function(t){t.classList.add("hidden")}))}window.addEventListener("load",(function(t){var e,i;qe().accessToken=ti.dataset.mapbox,(ai=new(qe().Map)({container:Qe,style:"mapbox://styles/mapbox/light-v10",center:[null!==(e=ti.dataset.longitude)&&void 0!==e?e:32.53248643419619,null!==(i=ti.dataset.latitude)&&void 0!==i?i:13.839994950862705],zoom:ni,minZoom:ri,maxZoom:oi,scrollZoom:!0}).addControl(new(qe().NavigationControl),"top-right")).on("load",(function(){di(pi)})).on("click","clusters",(function(t){var e=ai.queryRenderedFeatures(t.point,{layers:["clusters"]}),i=e[0].properties.cluster_id;ai.getSource("markers").getClusterExpansionZoom(i,(function(t,i){t||ai.easeTo({center:e[0].geometry.coordinates,zoom:i})}))})).on("click","markers",(function(t){var e=t.features[0],i=function(t){var e=JSON.parse(t.image),i=(JSON.parse(t.country),JSON.parse(t.casework)),n='
';e.length&&(n+='
\n ').concat(t.title,'\n
'));return n+='
\n

'.concat(t.title,'

\n

STAGE: ').concat(t.stage,'

\n

Focus Area: ').concat(i[0].title,'

\n \n
\n
')}(e.properties);(new si.Popup).setLngLat(e.geometry.coordinates.slice()).setHTML(i).setMaxWidth("420px").addTo(ai)})).on("mouseenter","markers",(function(t){ai.getCanvas().style.cursor="pointer"})).on("mouseenter","clusters",(function(t){ai.getCanvas().style.cursor="pointer"})).on("mouseleave","markers",(function(){ai.getCanvas().style.cursor=""})).on("mouseleave","clusters",(function(){ai.getCanvas().style.cursor=""}))})),window.submitFormViaAjax=function(){var t=new FormData(ei);pi=[],t.forEach((function(t,e){pi.push({name:e,value:t})})),di(pi)},window.getQueryParams=wi,window.getFromParams=Ai})()})(); //# sourceMappingURL=projects-search.js.map \ No newline at end of file diff --git a/web/assets/js/projects-search.js.map b/web/assets/js/projects-search.js.map index 739bed1..3ef80a1 100644 --- a/web/assets/js/projects-search.js.map +++ b/web/assets/js/projects-search.js.map @@ -1 +1 @@ -{"version":3,"file":"/js/projects-search.js","mappings":"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","sources":["webpack:///./node_modules/@turf/jsts/dist/jsts.min.js","webpack:///./node_modules/array-buffer-byte-length/index.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css","webpack:///./node_modules/mapbox-gl/dist/mapbox-gl.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./node_modules/deep-equal/index.js","webpack:///./node_modules/deep-equal/node_modules/isarray/index.js","webpack:///./node_modules/define-data-property/index.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/es-define-property/index.js","webpack:///./node_modules/es-errors/eval.js","webpack:///./node_modules/es-errors/index.js","webpack:///./node_modules/es-errors/range.js","webpack:///./node_modules/es-errors/ref.js","webpack:///./node_modules/es-errors/syntax.js","webpack:///./node_modules/es-errors/type.js","webpack:///./node_modules/es-errors/uri.js","webpack:///./node_modules/es-get-iterator/node_modules/isarray/index.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/functions-have-names/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/has-bigints/index.js","webpack:///./node_modules/has-property-descriptors/index.js","webpack:///./node_modules/has-proto/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/hasown/index.js","webpack:///./node_modules/internal-slot/index.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/is-array-buffer/index.js","webpack:///./node_modules/is-bigint/index.js","webpack:///./node_modules/is-boolean-object/index.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/is-date-object/index.js","webpack:///./node_modules/is-map/index.js","webpack:///./node_modules/is-number-object/index.js","webpack:///./node_modules/is-regex/index.js","webpack:///./node_modules/is-set/index.js","webpack:///./node_modules/is-shared-array-buffer/index.js","webpack:///./node_modules/is-string/index.js","webpack:///./node_modules/is-symbol/index.js","webpack:///./node_modules/is-weakmap/index.js","webpack:///./node_modules/is-weakset/index.js","webpack:///./node_modules/mapbox-gl/dist/mapbox-gl.js","webpack:///./node_modules/object-inspect/index.js","webpack:///./node_modules/object-is/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./node_modules/object-is/polyfill.js","webpack:///./node_modules/object-is/shim.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/object.assign/implementation.js","webpack:///./node_modules/object.assign/index.js","webpack:///./node_modules/object.assign/polyfill.js","webpack:///./node_modules/object.assign/shim.js","webpack:///./node_modules/possible-typed-array-names/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/regexp.prototype.flags/implementation.js","webpack:///./node_modules/regexp.prototype.flags/index.js","webpack:///./node_modules/regexp.prototype.flags/polyfill.js","webpack:///./node_modules/regexp.prototype.flags/shim.js","webpack:///./node_modules/set-function-length/index.js","webpack:///./node_modules/set-function-name/index.js","webpack:///./node_modules/side-channel/index.js","webpack:///./node_modules/stop-iteration-iterator/index.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/which-boxed-primitive/index.js","webpack:///./node_modules/which-collection/index.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///./node_modules/es-get-iterator/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/nonce","webpack:///./node_modules/@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css?f1e1","webpack:///./node_modules/@turf/helpers/dist/esm/index.js","webpack:///./node_modules/@turf/meta/dist/esm/index.js","webpack:///./node_modules/@turf/bbox/dist/esm/index.js","webpack:///./node_modules/@turf/center/dist/esm/index.js","webpack:///./node_modules/d3-geo/src/adder.js","webpack:///./node_modules/d3-geo/src/math.js","webpack:///./node_modules/d3-geo/src/noop.js","webpack:///./node_modules/d3-geo/src/stream.js","webpack:///./node_modules/d3-geo/src/area.js","webpack:///./node_modules/d3-geo/src/cartesian.js","webpack:///./node_modules/d3-geo/src/bounds.js","webpack:///./node_modules/d3-geo/src/compose.js","webpack:///./node_modules/d3-geo/src/rotation.js","webpack:///./node_modules/d3-geo/src/circle.js","webpack:///./node_modules/d3-geo/src/clip/buffer.js","webpack:///./node_modules/d3-geo/src/pointEqual.js","webpack:///./node_modules/d3-geo/src/clip/polygon.js","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/array.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-array/src/merge.js","webpack:///./node_modules/d3-geo/src/clip/extent.js","webpack:///./node_modules/d3-geo/src/clip/line.js","webpack:///./node_modules/d3-geo/src/polygonContains.js","webpack:///./node_modules/d3-geo/src/length.js","webpack:///./node_modules/d3-geo/src/path/area.js","webpack:///./node_modules/d3-geo/src/path/bounds.js","webpack:///./node_modules/d3-geo/src/path/measure.js","webpack:///./node_modules/d3-geo/src/path/string.js","webpack:///./node_modules/d3-geo/src/clip/index.js","webpack:///./node_modules/d3-geo/src/clip/antimeridian.js","webpack:///./node_modules/d3-geo/src/identity.js","webpack:///./node_modules/d3-geo/src/transform.js","webpack:///./node_modules/d3-geo/src/projection/fit.js","webpack:///./node_modules/d3-geo/src/projection/resample.js","webpack:///./node_modules/d3-geo/src/projection/index.js","webpack:///./node_modules/d3-geo/src/clip/circle.js","webpack:///./node_modules/d3-geo/src/projection/azimuthal.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack:///./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack:///./node_modules/d3-geo/src/projection/mercator.js","webpack:///./node_modules/d3-geo/src/projection/equirectangular.js","webpack:///./node_modules/d3-geo/src/projection/gnomonic.js","webpack:///./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack:///./node_modules/d3-geo/src/projection/orthographic.js","webpack:///./node_modules/d3-geo/src/projection/stereographic.js","webpack:///./node_modules/d3-geo/src/projection/transverseMercator.js","webpack:///./node_modules/@turf/buffer/dist/esm/index.js","webpack:///./node_modules/@turf/invariant/dist/esm/index.js","webpack:///./node_modules/@turf/destination/dist/esm/index.js","webpack:///./node_modules/@turf/circle/dist/esm/index.js","webpack:///./node_modules/mapbox-gl/dist/mapbox-gl.css?7902","webpack:///./src/js/projects-search.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).jsts=e()}(this,(function(){\"use strict\";function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var s,a=!0,o=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){o=!0,s=t},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw s}}}}var _=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getEndCapStyle\",value:function(){return this._endCapStyle}},{key:\"isSingleSided\",value:function(){return this._isSingleSided}},{key:\"setQuadrantSegments\",value:function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=e.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=e.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==e.JOIN_ROUND&&(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS)}},{key:\"getJoinStyle\",value:function(){return this._joinStyle}},{key:\"setJoinStyle\",value:function(t){this._joinStyle=t}},{key:\"setSimplifyFactor\",value:function(t){this._simplifyFactor=t<0?0:t}},{key:\"getSimplifyFactor\",value:function(){return this._simplifyFactor}},{key:\"getQuadrantSegments\",value:function(){return this._quadrantSegments}},{key:\"setEndCapStyle\",value:function(t){this._endCapStyle=t}},{key:\"getMitreLimit\",value:function(){return this._mitreLimit}},{key:\"setMitreLimit\",value:function(t){this._mitreLimit=t}},{key:\"setSingleSided\",value:function(t){this._isSingleSided=t}}],[{key:\"constructor_\",value:function(){if(this._quadrantSegments=e.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=e.CAP_ROUND,this._joinStyle=e.JOIN_ROUND,this._mitreLimit=e.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=e.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setQuadrantSegments(t)}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.setQuadrantSegments(n),this.setEndCapStyle(i)}else if(4===arguments.length){var r=arguments[0],s=arguments[1],a=arguments[2],o=arguments[3];this.setQuadrantSegments(r),this.setEndCapStyle(s),this.setJoinStyle(a),this.setMitreLimit(o)}}},{key:\"bufferDistanceError\",value:function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)}}]),e}();_.CAP_ROUND=1,_.CAP_FLAT=2,_.CAP_SQUARE=3,_.JOIN_ROUND=1,_.JOIN_MITRE=2,_.JOIN_BEVEL=3,_.DEFAULT_QUADRANT_SEGMENTS=8,_.DEFAULT_MITRE_LIMIT=5,_.DEFAULT_SIMPLIFY_FACTOR=.01;var p=function(e){i(s,e);var r=c(s);function s(e){var n;return t(this,s),(n=r.call(this,e)).name=Object.keys({Exception:s})[0],n}return n(s,[{key:\"toString\",value:function(){return this.message}}]),s}(u(Error)),m=function(e){i(r,e);var n=c(r);function r(e){var i;return t(this,r),(i=n.call(this,e)).name=Object.keys({IllegalArgumentException:r})[0],i}return r}(p),k=function(){function e(){t(this,e)}return n(e,[{key:\"filter\",value:function(t){}}]),e}();function x(){}function I(){}function E(){}var N,T,S,L,C,R,w,O,b=function(){function e(){t(this,e)}return n(e,null,[{key:\"equalsWithTolerance\",value:function(t,e,n){return Math.abs(t-e)<=n}}]),e}(),M=function(){function e(n,i){t(this,e),this.low=i||0,this.high=n||0}return n(e,null,[{key:\"toBinaryString\",value:function(t){var e,n=\"\";for(e=2147483648;e>0;e>>>=1)n+=(t.high&e)===e?\"1\":\"0\";for(e=2147483648;e>0;e>>>=1)n+=(t.low&e)===e?\"1\":\"0\";return n}}]),e}();function A(){}function P(){}A.NaN=NaN,A.isNaN=function(t){return Number.isNaN(t)},A.isInfinite=function(t){return!Number.isFinite(t)},A.MAX_VALUE=Number.MAX_VALUE,A.POSITIVE_INFINITY=Number.POSITIVE_INFINITY,A.NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,\"function\"==typeof Float64Array&&\"function\"==typeof Int32Array?(R=2146435072,w=new Float64Array(1),O=new Int32Array(w.buffer),A.doubleToLongBits=function(t){w[0]=t;var e=0|O[0],n=0|O[1];return(n&R)===R&&0!=(1048575&n)&&0!==e&&(e=0,n=2146959360),new M(n,e)},A.longBitsToDouble=function(t){return O[0]=t.low,O[1]=t.high,w[0]}):(N=1023,T=Math.log2,S=Math.floor,L=Math.pow,C=function(){for(var t=53;t>0;t--){var e=L(2,t)-1;if(S(T(e))+1===t)return e}return 0}(),A.doubleToLongBits=function(t){var e,n,i,r,s,a,o,u,l;if(t<0||1/t===Number.NEGATIVE_INFINITY?(a=1<<31,t=-t):a=0,0===t)return new M(u=a,l=0);if(t===1/0)return new M(u=2146435072|a,l=0);if(t!=t)return new M(u=2146959360,l=0);if(r=0,l=0,(e=S(t))>1)if(e<=C)(r=S(T(e)))<=20?(l=0,u=e<<20-r&1048575):(l=e%(n=L(2,i=r-20))<<32-i,u=e/n&1048575);else for(i=e,l=0;0!==(i=S(n=i/2));)r++,l>>>=1,l|=(1&u)<<31,u>>>=1,n!==i&&(u|=524288);if(o=r+N,s=0===e,e=t-e,r<52&&0!==e)for(i=0;;){if((n=2*e)>=1?(e=n-1,s?(o--,s=!1):(i<<=1,i|=1,r++)):(e=n,s?0==--o&&(r++,s=!1):(i<<=1,r++)),20===r)u|=i,i=0;else if(52===r){l|=i;break}if(1===n){r<20?u|=i<<20-r:r<52&&(l|=i<<52-r);break}}return u|=o<<20,new M(u|=a,l)},A.longBitsToDouble=function(t){var e,n,i,r,s=t.high,a=t.low,o=s&1<<31?-1:1;for(i=((2146435072&s)>>20)-N,r=0,n=1<<19,e=1;e<=20;e++)s&n&&(r+=L(2,-e)),n>>>=1;for(n=1<<31,e=21;e<=52;e++)a&n&&(r+=L(2,-e)),n>>>=1;if(-1023===i){if(0===r)return 0*o;i=-1022}else{if(1024===i)return 0===r?o/0:NaN;r+=1}return o*r*L(2,i)});var D=function(e){i(r,e);var n=c(r);function r(e){var i;return t(this,r),(i=n.call(this,e)).name=Object.keys({RuntimeException:r})[0],i}return r}(p),F=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),e=r.call(this),s.constructor_.apply(l(e),arguments),e}return n(s,null,[{key:\"constructor_\",value:function(){if(0===arguments.length)D.constructor_.call(this);else if(1===arguments.length){var t=arguments[0];D.constructor_.call(this,t)}}}]),s}(D),G=function(){function e(){t(this,e)}return n(e,null,[{key:\"shouldNeverReachHere\",value:function(){if(0===arguments.length)e.shouldNeverReachHere(null);else if(1===arguments.length){var t=arguments[0];throw new F(\"Should never reach here\"+(null!==t?\": \"+t:\"\"))}}},{key:\"isTrue\",value:function(){if(1===arguments.length){var t=arguments[0];e.isTrue(t,null)}else if(2===arguments.length){var n=arguments[0],i=arguments[1];if(!n)throw null===i?new F:new F(i)}}},{key:\"equals\",value:function(){if(2===arguments.length){var t=arguments[0],n=arguments[1];e.equals(t,n,null)}else if(3===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2];if(!r.equals(i))throw new F(\"Expected \"+i+\" but encountered \"+r+(null!==s?\": \"+s:\"\"))}}}]),e}(),q=new ArrayBuffer(8),Y=new Float64Array(q),z=new Int32Array(q),X=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getM\",value:function(){return A.NaN}},{key:\"setOrdinate\",value:function(t,n){switch(t){case e.X:this.x=n;break;case e.Y:this.y=n;break;case e.Z:this.setZ(n);break;default:throw new m(\"Invalid ordinate index: \"+t)}}},{key:\"equals2D\",value:function(){if(1===arguments.length){var t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!b.equalsWithTolerance(this.x,e.x,n)&&!!b.equalsWithTolerance(this.y,e.y,n)}}},{key:\"setM\",value:function(t){throw new m(\"Invalid ordinate index: \"+e.M)}},{key:\"getZ\",value:function(){return this.z}},{key:\"getOrdinate\",value:function(t){switch(t){case e.X:return this.x;case e.Y:return this.y;case e.Z:return this.getZ()}throw new m(\"Invalid ordinate index: \"+t)}},{key:\"equals3D\",value:function(t){return this.x===t.x&&this.y===t.y&&(this.getZ()===t.getZ()||A.isNaN(this.getZ())&&A.isNaN(t.getZ()))}},{key:\"equals\",value:function(t){return t instanceof e&&this.equals2D(t)}},{key:\"equalInZ\",value:function(t,e){return b.equalsWithTolerance(this.getZ(),t.getZ(),e)}},{key:\"setX\",value:function(t){this.x=t}},{key:\"compareTo\",value:function(t){var e=t;return this.xe.x?1:this.ye.y?1:0}},{key:\"getX\",value:function(){return this.x}},{key:\"setZ\",value:function(t){this.z=t}},{key:\"clone\",value:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return G.shouldNeverReachHere(\"this shouldn't happen because this class is Cloneable\"),null;throw t}}},{key:\"copy\",value:function(){return new e(this)}},{key:\"toString\",value:function(){return\"(\"+this.x+\", \"+this.y+\", \"+this.getZ()+\")\"}},{key:\"distance3D\",value:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.getZ()-t.getZ();return Math.sqrt(e*e+n*n+i*i)}},{key:\"getY\",value:function(){return this.y}},{key:\"setY\",value:function(t){this.y=t}},{key:\"distance\",value:function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)}},{key:\"hashCode\",value:function(){var t=17;return t=37*(t=37*t+e.hashCode(this.x))+e.hashCode(this.y)}},{key:\"setCoordinate\",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ()}},{key:\"interfaces_\",get:function(){return[x,I,E]}}],[{key:\"constructor_\",value:function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)e.constructor_.call(this,0,0);else if(1===arguments.length){var t=arguments[0];e.constructor_.call(this,t.x,t.y,t.getZ())}else if(2===arguments.length){var n=arguments[0],i=arguments[1];e.constructor_.call(this,n,i,e.NULL_ORDINATE)}else if(3===arguments.length){var r=arguments[0],s=arguments[1],a=arguments[2];this.x=r,this.y=s,this.z=a}}},{key:\"hashCode\",value:function(t){return Y[0]=t,z[0]^z[1]}}]),e}(),B=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"compare\",value:function(t,n){var i=e.compare(t.x,n.x);if(0!==i)return i;var r=e.compare(t.y,n.y);return 0!==r?r:this._dimensionsToTest<=2?0:e.compare(t.getZ(),n.getZ())}},{key:\"interfaces_\",get:function(){return[P]}}],[{key:\"constructor_\",value:function(){if(this._dimensionsToTest=2,0===arguments.length)e.constructor_.call(this,2);else if(1===arguments.length){var t=arguments[0];if(2!==t&&3!==t)throw new m(\"only 2 or 3 dimensions may be specified\");this._dimensionsToTest=t}}},{key:\"compare\",value:function(t,e){return te?1:A.isNaN(t)?A.isNaN(e)?0:-1:A.isNaN(e)?1:0}}]),e}();X.DimensionalComparator=B,X.NULL_ORDINATE=A.NaN,X.X=0,X.Y=1,X.Z=2,X.M=3;var U=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getArea\",value:function(){return this.getWidth()*this.getHeight()}},{key:\"equals\",value:function(t){if(!(t instanceof e))return!1;var n=t;return this.isNull()?n.isNull():this._maxx===n.getMaxX()&&this._maxy===n.getMaxY()&&this._minx===n.getMinX()&&this._miny===n.getMinY()}},{key:\"intersection\",value:function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new e;var n=this._minx>t._minx?this._minx:t._minx,i=this._miny>t._miny?this._miny:t._miny;return new e(n,this._maxx=this._minx&&n.getMaxX()<=this._maxx&&n.getMinY()>=this._miny&&n.getMaxY()<=this._maxy)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];return!this.isNull()&&(i>=this._minx&&i<=this._maxx&&r>=this._miny&&r<=this._maxy)}}},{key:\"intersects\",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx)return!1;var a=i.x>r.x?i.x:r.x;if(athis._maxy)return!1;var u=i.y>r.y?i.y:r.y;return!(uthis._maxx||lthis._maxy||hthis._maxx&&(this._maxx=n._maxx),n._minythis._maxy&&(this._maxy=n._maxy))}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];this.isNull()?(this._minx=i,this._maxx=i,this._miny=r,this._maxy=r):(ithis._maxx&&(this._maxx=i),rthis._maxy&&(this._maxy=r))}}},{key:\"minExtent\",value:function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}},{key:\"translate\",value:function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}},{key:\"copy\",value:function(){return new e(this)}},{key:\"toString\",value:function(){return\"Env[\"+this._minx+\" : \"+this._maxx+\", \"+this._miny+\" : \"+this._maxy+\"]\"}},{key:\"setToNull\",value:function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}},{key:\"disjoint\",value:function(t){return!(!this.isNull()&&!t.isNull())||(t._minx>this._maxx||t._maxxthis._maxy||t._maxye?t:e}},{key:\"expandBy\",value:function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=n,this._maxy+=n,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}},{key:\"contains\",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof X){var n=arguments[0];return this.covers(n)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];return this.covers(i,r)}}},{key:\"centre\",value:function(){return this.isNull()?null:new X((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}},{key:\"init\",value:function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof X){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var n=arguments[0];this._minx=n._minx,this._maxx=n._maxx,this._miny=n._miny,this._maxy=n._maxy}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];this.init(i.x,r.x,i.y,r.y)}else if(4===arguments.length){var s=arguments[0],a=arguments[1],o=arguments[2],u=arguments[3];st._maxx&&(e=this._minx-t._maxx);var n=0;return this._maxyt._maxy&&(n=this._miny-t._maxy),0===e?n:0===n?e:Math.sqrt(e*e+n*n)}},{key:\"hashCode\",value:function(){var t=17;return t=37*(t=37*(t=37*(t=37*t+X.hashCode(this._minx))+X.hashCode(this._maxx))+X.hashCode(this._miny))+X.hashCode(this._maxy)}},{key:\"interfaces_\",get:function(){return[x,E]}}],[{key:\"constructor_\",value:function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof X){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof e){var n=arguments[0];this.init(n)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];this.init(i.x,r.x,i.y,r.y)}else if(4===arguments.length){var s=arguments[0],a=arguments[1],o=arguments[2],u=arguments[3];this.init(s,a,o,u)}}},{key:\"intersects\",value:function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2];return n.x>=(t.xe.x?t.x:e.x)&&n.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2],a=arguments[3],o=Math.min(s.x,a.x),u=Math.max(s.x,a.x),l=Math.min(i.x,r.x),h=Math.max(i.x,r.x);return!(l>u)&&(!(hu)&&!(h=this.size())throw new et;return this.array[t]}},{key:\"push\",value:function(t){return this.array.push(t),t}},{key:\"pop\",value:function(){if(0===this.array.length)throw new tt;return this.array.pop()}},{key:\"peek\",value:function(){if(0===this.array.length)throw new tt;return this.array[this.array.length-1]}},{key:\"empty\",value:function(){return 0===this.array.length}},{key:\"isEmpty\",value:function(){return this.empty()}},{key:\"search\",value:function(t){return this.array.indexOf(t)}},{key:\"size\",value:function(){return this.array.length}},{key:\"toArray\",value:function(){return this.array.slice()}}]),s}(nt);function rt(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}var st=function(){function e(n){t(this,e),this.str=n}return n(e,[{key:\"append\",value:function(t){this.str+=t}},{key:\"setCharAt\",value:function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)}},{key:\"toString\",value:function(){return this.str}}]),e}(),at=function(){function e(n){t(this,e),this.value=n}return n(e,[{key:\"intValue\",value:function(){return this.value}},{key:\"compareTo\",value:function(t){return this.valuet?1:0}}],[{key:\"compare\",value:function(t,e){return te?1:0}},{key:\"isNan\",value:function(t){return Number.isNaN(t)}},{key:\"valueOf\",value:function(t){return new e(t)}}]),e}(),ot=function(){function e(){t(this,e)}return n(e,null,[{key:\"isWhitespace\",value:function(t){return t<=32&&t>=0||127===t}},{key:\"toUpperCase\",value:function(t){return t.toUpperCase()}}]),e}(),ut=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"le\",value:function(t){return this._hi9?(c=!0,f=\"9\"):f=\"0\"+h,o.append(f),i=i.subtract(e.valueOf(h)).multiply(e.TEN),c&&i.selfAdd(e.TEN);var v=!0,g=e.magnitude(i._hi);if(g<0&&Math.abs(g)>=u-l&&(v=!1),!v)break}return n[0]=r,o.toString()}},{key:\"sqr\",value:function(){return this.multiply(this)}},{key:\"doubleValue\",value:function(){return this._hi+this._lo}},{key:\"subtract\",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.add(t.negate())}if(\"number\"==typeof arguments[0]){var n=arguments[0];return this.add(-n)}}},{key:\"equals\",value:function(){if(1===arguments.length&&arguments[0]instanceof e){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}},{key:\"isZero\",value:function(){return 0===this._hi&&0===this._lo}},{key:\"selfSubtract\",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if(\"number\"==typeof arguments[0]){var n=arguments[0];return this.isNaN()?this:this.selfAdd(-n,0)}}},{key:\"getSpecialNumberString\",value:function(){return this.isZero()?\"0.0\":this.isNaN()?\"NaN \":null}},{key:\"min\",value:function(t){return this.le(t)?this:t}},{key:\"selfDivide\",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var n=arguments[0];return this.selfDivide(n,0)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1],s=null,a=null,o=null,u=null,l=null,h=null,c=null,f=null;return l=this._hi/i,f=(s=(h=e.SPLIT*l)-(s=h-l))*(o=(f=e.SPLIT*i)-(o=f-i))-(c=l*i)+s*(u=i-o)+(a=l-s)*o+a*u,f=l+(h=(this._hi-c-f+this._lo-l*r)/i),this._hi=f,this._lo=l-f+h,this}}},{key:\"dump\",value:function(){return\"DD<\"+this._hi+\", \"+this._lo+\">\"}},{key:\"divide\",value:function(){if(arguments[0]instanceof e){var t=arguments[0],n=null,i=null,r=null,s=null,a=null,o=null,u=null,l=null;i=(a=this._hi/t._hi)-(n=(o=e.SPLIT*a)-(n=o-a)),l=n*(r=(l=e.SPLIT*t._hi)-(r=l-t._hi))-(u=a*t._hi)+n*(s=t._hi-r)+i*r+i*s;var h=l=a+(o=(this._hi-u-l+this._lo-a*t._lo)/t._hi),c=a-l+o;return new e(h,c)}if(\"number\"==typeof arguments[0]){var f=arguments[0];return A.isNaN(f)?e.createNaN():e.copy(this).selfDivide(f,0)}}},{key:\"ge\",value:function(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}},{key:\"pow\",value:function(t){if(0===t)return e.valueOf(1);var n=new e(this),i=e.valueOf(1),r=Math.abs(t);if(r>1)for(;r>0;)r%2==1&&i.selfMultiply(n),(r/=2)>0&&(n=n.sqr());else i=n;return t<0?i.reciprocal():i}},{key:\"ceil\",value:function(){if(this.isNaN())return e.NaN;var t=Math.ceil(this._hi),n=0;return t===this._hi&&(n=Math.ceil(this._lo)),new e(t,n)}},{key:\"compareTo\",value:function(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}},{key:\"rint\",value:function(){return this.isNaN()?this:this.add(.5).floor()}},{key:\"setValue\",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return this.init(t),this}if(\"number\"==typeof arguments[0]){var n=arguments[0];return this.init(n),this}}},{key:\"max\",value:function(t){return this.ge(t)?this:t}},{key:\"sqrt\",value:function(){if(this.isZero())return e.valueOf(0);if(this.isNegative())return e.NaN;var t=1/Math.sqrt(this._hi),n=this._hi*t,i=e.valueOf(n),r=this.subtract(i.sqr())._hi*(.5*t);return i.add(r)}},{key:\"selfAdd\",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var n=arguments[0],i=null,r=null,s=null,a=null,o=null,u=null;return a=(s=this._hi+n)-(o=s-this._hi),r=(u=(a=n-o+(this._hi-a))+this._lo)+(s-(i=s+u)),this._hi=i+r,this._lo=r+(i-this._hi),this}}else if(2===arguments.length){var l=arguments[0],h=arguments[1],c=null,f=null,v=null,g=null,y=null,d=null,_=null;g=this._hi+l,f=this._lo+h,y=g-(d=g-this._hi),v=f-(_=f-this._lo);var p=(c=g+(d=(y=l-d+(this._hi-y))+f))+(d=(v=h-_+(this._lo-v))+(d+(g-c))),m=d+(c-p);return this._hi=p,this._lo=m,this}}},{key:\"selfMultiply\",value:function(){if(1===arguments.length){if(arguments[0]instanceof e){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var n=arguments[0];return this.selfMultiply(n,0)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1],s=null,a=null,o=null,u=null,l=null,h=null;s=(l=e.SPLIT*this._hi)-this._hi,h=e.SPLIT*i,s=l-s,a=this._hi-s,o=h-i;var c=(l=this._hi*i)+(h=s*(o=h-o)-l+s*(u=i-o)+a*o+a*u+(this._hi*r+this._lo*i)),f=h+(s=l-c);return this._hi=c,this._lo=f,this}}},{key:\"selfSqr\",value:function(){return this.selfMultiply(this)}},{key:\"floor\",value:function(){if(this.isNaN())return e.NaN;var t=Math.floor(this._hi),n=0;return t===this._hi&&(n=Math.floor(this._lo)),new e(t,n)}},{key:\"negate\",value:function(){return this.isNaN()?this:new e(-this._hi,-this._lo)}},{key:\"clone\",value:function(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}},{key:\"multiply\",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return t.isNaN()?e.createNaN():e.copy(this).selfMultiply(t)}if(\"number\"==typeof arguments[0]){var n=arguments[0];return A.isNaN(n)?e.createNaN():e.copy(this).selfMultiply(n,0)}}},{key:\"isNaN\",value:function(){return A.isNaN(this._hi)}},{key:\"intValue\",value:function(){return Math.trunc(this._hi)}},{key:\"toString\",value:function(){var t=e.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}},{key:\"toStandardNotation\",value:function(){var t=this.getSpecialNumberString();if(null!==t)return t;var n=new Array(1).fill(null),i=this.extractSignificantDigits(!0,n),r=n[0]+1,s=i;if(\".\"===i.charAt(0))s=\"0\"+i;else if(r<0)s=\"0.\"+e.stringOfChar(\"0\",-r)+i;else if(-1===i.indexOf(\".\")){var a=r-i.length;s=i+e.stringOfChar(\"0\",a)+\".0\"}return this.isNegative()?\"-\"+s:s}},{key:\"reciprocal\",value:function(){var t,n,i,r,s=null,a=null,o=null,u=null;t=(i=1/this._hi)-(s=(o=e.SPLIT*i)-(s=o-i)),a=(u=e.SPLIT*this._hi)-this._hi;var l=i+(o=(1-(r=i*this._hi)-(u=s*(a=u-a)-r+s*(n=this._hi-a)+t*a+t*n)-i*this._lo)/this._hi);return new e(l,i-l+o)}},{key:\"toSciNotation\",value:function(){if(this.isZero())return e.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var n=new Array(1).fill(null),i=this.extractSignificantDigits(!1,n),r=e.SCI_NOT_EXPONENT_CHAR+n[0];if(\"0\"===i.charAt(0))throw new IllegalStateException(\"Found leading zero: \"+i);var s=\"\";i.length>1&&(s=i.substring(1));var a=i.charAt(0)+\".\"+s;return this.isNegative()?\"-\"+a+r:a+r}},{key:\"abs\",value:function(){return this.isNaN()?e.NaN:this.isNegative()?this.negate():new e(this)}},{key:\"isPositive\",value:function(){return this._hi>0||0===this._hi&&this._lo>0}},{key:\"lt\",value:function(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}},{key:\"isNegative\",value:function(){return this._hi<0||0===this._hi&&this._lo<0}},{key:\"trunc\",value:function(){return this.isNaN()?e.NaN:this.isPositive()?this.floor():this.ceil()}},{key:\"signum\",value:function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}},{key:\"interfaces_\",get:function(){return[E,x,I]}}],[{key:\"constructor_\",value:function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if(\"number\"==typeof arguments[0]){var t=arguments[0];this.init(t)}else if(arguments[0]instanceof e){var n=arguments[0];this.init(n)}else if(\"string\"==typeof arguments[0]){var i=arguments[0];e.constructor_.call(this,e.parse(i))}}else if(2===arguments.length){var r=arguments[0],s=arguments[1];this.init(r,s)}}},{key:\"determinant\",value:function(){if(\"number\"==typeof arguments[3]&&\"number\"==typeof arguments[2]&&\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],n=arguments[1],i=arguments[2],r=arguments[3];return e.determinant(e.valueOf(t),e.valueOf(n),e.valueOf(i),e.valueOf(r))}if(arguments[3]instanceof e&&arguments[2]instanceof e&&arguments[0]instanceof e&&arguments[1]instanceof e){var s=arguments[0],a=arguments[1],o=arguments[2],u=arguments[3],l=s.multiply(u).selfSubtract(a.multiply(o));return l}}},{key:\"sqr\",value:function(t){return e.valueOf(t).selfMultiply(t)}},{key:\"valueOf\",value:function(){if(\"string\"==typeof arguments[0]){var t=arguments[0];return e.parse(t)}if(\"number\"==typeof arguments[0]){var n=arguments[0];return new e(n)}}},{key:\"sqrt\",value:function(t){return e.valueOf(t).sqrt()}},{key:\"parse\",value:function(t){for(var n=0,i=t.length;ot.isWhitespace(t.charAt(n));)n++;var r=!1;if(n=i);){var c=t.charAt(n);if(n++,ot.isDigit(c)){var f=c-\"0\";a.selfMultiply(e.TEN),a.selfAdd(f),o++}else{if(\".\"!==c){if(\"e\"===c||\"E\"===c){var v=t.substring(n);try{l=at.parseInt(v)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException(\"Invalid exponent \"+v+\" in string \"+t):e}break}throw new NumberFormatException(\"Unexpected character '\"+c+\"' at position \"+n+\" in string \"+t)}u=o,h=!0}}var g=a;h||(u=o);var y=o-u-l;if(0===y)g=a;else if(y>0){var d=e.TEN.pow(y);g=a.divide(d)}else if(y<0){var _=e.TEN.pow(-y);g=a.multiply(_)}return r?g.negate():g}},{key:\"createNaN\",value:function(){return new e(A.NaN,A.NaN)}},{key:\"copy\",value:function(t){return new e(t)}},{key:\"magnitude\",value:function(t){var e=Math.abs(t),n=Math.log(e)/Math.log(10),i=Math.trunc(Math.floor(n));return 10*Math.pow(10,i)<=e&&(i+=1),i}},{key:\"stringOfChar\",value:function(t,e){for(var n=new st,i=0;i0){if(a<=0)return e.signum(o);r=s+a}else{if(!(s<0))return e.signum(o);if(a>=0)return e.signum(o);r=-s-a}var u=e.DP_SAFE_EPSILON*r;return o>=u||-o>=u?e.signum(o):2}},{key:\"signum\",value:function(t){return t>0?1:t<0?-1:0}}]),e}();lt.DP_SAFE_EPSILON=1e-15;var ht=function(){function e(){t(this,e)}return n(e,[{key:\"getM\",value:function(t){if(this.hasM()){var e=this.getDimension()-this.getMeasures();return this.getOrdinate(t,e)}return A.NaN}},{key:\"setOrdinate\",value:function(t,e,n){}},{key:\"getZ\",value:function(t){return this.hasZ()?this.getOrdinate(t,2):A.NaN}},{key:\"size\",value:function(){}},{key:\"getOrdinate\",value:function(t,e){}},{key:\"getCoordinate\",value:function(){}},{key:\"getCoordinateCopy\",value:function(t){}},{key:\"createCoordinate\",value:function(){}},{key:\"getDimension\",value:function(){}},{key:\"hasM\",value:function(){return this.getMeasures()>0}},{key:\"getX\",value:function(t){}},{key:\"hasZ\",value:function(){return this.getDimension()-this.getMeasures()>2}},{key:\"getMeasures\",value:function(){return 0}},{key:\"expandEnvelope\",value:function(t){}},{key:\"copy\",value:function(){}},{key:\"getY\",value:function(t){}},{key:\"toCoordinateArray\",value:function(){}},{key:\"interfaces_\",get:function(){return[I]}}]),e}();ht.X=0,ht.Y=1,ht.Z=2,ht.M=3;var ct=function(){function e(){t(this,e)}return n(e,null,[{key:\"index\",value:function(t,e,n){return lt.orientationIndex(t,e,n)}},{key:\"isCCW\",value:function(){if(arguments[0]instanceof Array){var t=arguments[0],n=t.length-1;if(n<3)throw new m(\"Ring has fewer than 4 points, so orientation cannot be determined\");for(var i=t[0],r=0,s=1;s<=n;s++){var a=t[s];a.y>i.y&&(i=a,r=s)}var o=r;do{(o-=1)<0&&(o=n)}while(t[o].equals2D(i)&&o!==r);var u=r;do{u=(u+1)%n}while(t[u].equals2D(i)&&u!==r);var l=t[o],h=t[u];if(l.equals2D(i)||h.equals2D(i)||l.equals2D(h))return!1;var c=e.index(l,i,h),f=null;return f=0===c?l.x>h.x:c>0,f}if(rt(arguments[0],ht)){var v=arguments[0],g=v.size()-1;if(g<3)throw new m(\"Ring has fewer than 4 points, so orientation cannot be determined\");for(var y=v.getCoordinate(0),d=0,_=1;_<=g;_++){var p=v.getCoordinate(_);p.y>y.y&&(y=p,d=_)}var k=null,x=d;do{(x-=1)<0&&(x=g),k=v.getCoordinate(x)}while(k.equals2D(y)&&x!==d);var I=null,E=d;do{E=(E+1)%g,I=v.getCoordinate(E)}while(I.equals2D(y)&&E!==d);if(k.equals2D(y)||I.equals2D(y)||k.equals2D(I))return!1;var N=e.index(k,y,I);return 0===N?k.x>I.x:N>0}}}]),e}();ct.CLOCKWISE=-1,ct.RIGHT=ct.CLOCKWISE,ct.COUNTERCLOCKWISE=1,ct.LEFT=ct.COUNTERCLOCKWISE,ct.COLLINEAR=0,ct.STRAIGHT=ct.COLLINEAR;var ft=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getCoordinate\",value:function(){return this._minCoord}},{key:\"getRightmostSide\",value:function(t,e){var n=this.getRightmostSideOfSegment(t,e);return n<0&&(n=this.getRightmostSideOfSegment(t,e-1)),n<0&&(this._minCoord=null,this.checkForRightmostCoordinate(t)),n}},{key:\"findRightmostEdgeAtVertex\",value:function(){var t=this._minDe.getEdge().getCoordinates();G.isTrue(this._minIndex>0&&this._minIndexthis._minCoord.y&&n.y>this._minCoord.y&&i===ct.CLOCKWISE)&&(r=!0),r&&(this._minIndex=this._minIndex-1)}},{key:\"getRightmostSideOfSegment\",value:function(t,e){var n=t.getEdge().getCoordinates();if(e<0||e+1>=n.length)return-1;if(n[e].y===n[e+1].y)return-1;var i=$.LEFT;return n[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=n,this._minCoord=e[n])}},{key:\"findRightmostEdgeAtNode\",value:function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)}},{key:\"findEdge\",value:function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();n.isForward()&&this.checkForRightmostCoordinate(n)}G.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),\"inconsistency in rightmost processing\"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===$.LEFT&&(this._orientedDe=this._minDe.getSym())}}],[{key:\"constructor_\",value:function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null}}]),e}(),vt=function(e){i(s,e);var r=c(s);function s(e,n){var i;return t(this,s),(i=r.call(this,n?e+\" [ \"+n+\" ]\":e)).pt=n?new X(n):void 0,i.name=Object.keys({TopologyException:s})[0],i}return n(s,[{key:\"getCoordinate\",value:function(){return this.pt}}]),s}(D),gt=function(){function e(){t(this,e),this.array=[]}return n(e,[{key:\"addLast\",value:function(t){this.array.push(t)}},{key:\"removeFirst\",value:function(){return this.array.shift()}},{key:\"isEmpty\",value:function(){return 0===this.array.length}}]),e}(),yt=function(e,r){i(a,e);var s=c(a);function a(e){var n;return t(this,a),(n=s.call(this)).array=[],e instanceof Z&&n.addAll(e),n}return n(a,[{key:\"interfaces_\",get:function(){return[nt,Z]}},{key:\"ensureCapacity\",value:function(){}},{key:\"add\",value:function(t){return 1===arguments.length?this.array.push(t):this.array.splice(arguments[0],0,arguments[1]),!0}},{key:\"clear\",value:function(){this.array=[]}},{key:\"addAll\",value:function(t){var e,n=d(t);try{for(n.s();!(e=n.n()).done;){var i=e.value;this.array.push(i)}}catch(t){n.e(t)}finally{n.f()}}},{key:\"set\",value:function(t,e){var n=this.array[t];return this.array[t]=e,n}},{key:\"iterator\",value:function(){return new dt(this)}},{key:\"get\",value:function(t){if(t<0||t>=this.size())throw new et;return this.array[t]}},{key:\"isEmpty\",value:function(){return 0===this.array.length}},{key:\"sort\",value:function(t){t?this.array.sort((function(e,n){return t.compare(e,n)})):this.array.sort()}},{key:\"size\",value:function(){return this.array.length}},{key:\"toArray\",value:function(){return this.array.slice()}},{key:\"remove\",value:function(t){for(var e=0,n=this.array.length;e=1&&e.getDepth($.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}}},{key:\"computeDepths\",value:function(t){var e=new J,n=new gt,i=t.getNode();for(n.addLast(i),e.add(i),t.setVisited(!0);!n.isEmpty();){var r=n.removeFirst();e.add(r),this.computeNodeDepth(r);for(var s=r.getEdges().iterator();s.hasNext();){var a=s.next().getSym();if(!a.isVisited()){var o=a.getNode();e.contains(o)||(n.addLast(o),e.add(o))}}}}},{key:\"compareTo\",value:function(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0}},{key:\"getEnvelope\",value:function(){if(null===this._env){for(var t=new U,e=this._dirEdgeList.iterator();e.hasNext();)for(var n=e.next().getEdge().getCoordinates(),i=0;ie.x?t.x:e.x,o=t.y>e.y?t.y:e.y,u=n.xi.x?n.x:i.x,c=n.y>i.y?n.y:i.y,f=((r>u?r:u)+(al?s:l)+(on?n:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var i=arguments[0],r=arguments[1],s=arguments[2];return is?s:i}}},{key:\"wrap\",value:function(t,e){return t<0?e- -t%e:t%e}},{key:\"max\",value:function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],i=t;return e>i&&(i=e),n>i&&(i=n),i}if(4===arguments.length){var r=arguments[0],s=arguments[1],a=arguments[2],o=arguments[3],u=r;return s>u&&(u=s),a>u&&(u=a),o>u&&(u=o),u}}},{key:\"average\",value:function(t,e){return(t+e)/2}}]),e}();kt.LOG_10=Math.log(10);var xt=function(){function e(){t(this,e)}return n(e,null,[{key:\"segmentToSegment\",value:function(t,n,i,r){if(t.equals(n))return e.pointToSegment(t,i,r);if(i.equals(r))return e.pointToSegment(r,t,n);var s=!1;if(U.intersects(t,n,i,r)){var a=(n.x-t.x)*(r.y-i.y)-(n.y-t.y)*(r.x-i.x);if(0===a)s=!0;else{var o=(t.y-i.y)*(r.x-i.x)-(t.x-i.x)*(r.y-i.y),u=((t.y-i.y)*(n.x-t.x)-(t.x-i.x)*(n.y-t.y))/a,l=o/a;(l<0||l>1||u<0||u>1)&&(s=!0)}}else s=!0;return s?kt.min(e.pointToSegment(t,i,r),e.pointToSegment(n,i,r),e.pointToSegment(i,t,n),e.pointToSegment(r,t,n)):0}},{key:\"pointToSegment\",value:function(t,e,n){if(e.x===n.x&&e.y===n.y)return t.distance(e);var i=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),r=((t.x-e.x)*(n.x-e.x)+(t.y-e.y)*(n.y-e.y))/i;if(r<=0)return t.distance(e);if(r>=1)return t.distance(n);var s=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/i;return Math.abs(s)*Math.sqrt(i)}},{key:\"pointToLinePerpendicular\",value:function(t,e,n){var i=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),r=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/i;return Math.abs(r)*Math.sqrt(i)}},{key:\"pointToSegmentString\",value:function(t,n){if(0===n.length)throw new m(\"Line array must contain at least one vertex\");for(var i=t.distance(n[0]),r=0;r0)&&(a=u,s=o)}return s}}},{key:\"extend\",value:function(t,n,i){var r=t.create(i,n.getDimension()),s=n.size();if(e.copy(n,0,r,0,s),s>0)for(var a=s;a0)&&(e=i)}return e}}]),e}(),Lt=function(){function e(){t(this,e)}return n(e,null,[{key:\"toDimensionSymbol\",value:function(t){switch(t){case e.FALSE:return e.SYM_FALSE;case e.TRUE:return e.SYM_TRUE;case e.DONTCARE:return e.SYM_DONTCARE;case e.P:return e.SYM_P;case e.L:return e.SYM_L;case e.A:return e.SYM_A}throw new m(\"Unknown dimension value: \"+t)}},{key:\"toDimensionValue\",value:function(t){switch(ot.toUpperCase(t)){case e.SYM_FALSE:return e.FALSE;case e.SYM_TRUE:return e.TRUE;case e.SYM_DONTCARE:return e.DONTCARE;case e.SYM_P:return e.P;case e.SYM_L:return e.L;case e.SYM_A:return e.A}throw new m(\"Unknown dimension symbol: \"+t)}}]),e}();Lt.P=0,Lt.L=1,Lt.A=2,Lt.FALSE=-1,Lt.TRUE=-2,Lt.DONTCARE=-3,Lt.SYM_FALSE=\"F\",Lt.SYM_TRUE=\"T\",Lt.SYM_DONTCARE=\"*\",Lt.SYM_P=\"0\",Lt.SYM_L=\"1\",Lt.SYM_A=\"2\";var Ct=function(){function e(){t(this,e)}return n(e,[{key:\"filter\",value:function(t){}}]),e}(),Rt=function(){function e(){t(this,e)}return n(e,[{key:\"filter\",value:function(t,e){}},{key:\"isDone\",value:function(){}},{key:\"isGeometryChanged\",value:function(){}}]),e}(),wt=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"computeEnvelopeInternal\",value:function(){return this.isEmpty()?new U:this._points.expandEnvelope(new U)}},{key:\"isRing\",value:function(){return this.isClosed()&&this.isSimple()}},{key:\"getCoordinates\",value:function(){return this._points.toCoordinateArray()}},{key:\"copyInternal\",value:function(){return new a(this._points.copy(),this._factory)}},{key:\"equalsExact\",value:function(){if(2===arguments.length&&\"number\"==typeof arguments[1]&&arguments[0]instanceof V){var t=arguments[0],e=arguments[1];if(!this.isEquivalentClass(t))return!1;var n=t;if(this._points.size()!==n._points.size())return!1;for(var i=0;i0){var n=this._points.copy();St.reverse(n),this._points=n}return null}}}},{key:\"getCoordinate\",value:function(){return this.isEmpty()?null:this._points.getCoordinate(0)}},{key:\"getBoundaryDimension\",value:function(){return this.isClosed()?Lt.FALSE:0}},{key:\"isClosed\",value:function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}},{key:\"reverseInternal\",value:function(){var t=this._points.copy();return St.reverse(t),this.getFactory().createLineString(t)}},{key:\"getEndPoint\",value:function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}},{key:\"getTypeCode\",value:function(){return V.TYPECODE_LINESTRING}},{key:\"getDimension\",value:function(){return 1}},{key:\"getLength\",value:function(){return Nt.ofLine(this._points)}},{key:\"getNumPoints\",value:function(){return this._points.size()}},{key:\"compareToSameClass\",value:function(){if(1===arguments.length){for(var t=arguments[0],e=t,n=0,i=0;n= 2)\");this._points=t}},{key:\"isCoordinate\",value:function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)\")}},{key:\"getGeometryType\",value:function(){return V.TYPENAME_LINEARRING}}],[{key:\"constructor_\",value:function(){var t=arguments[0],e=arguments[1];wt.constructor_.call(this,t,e),this.validateConstruction()}}]),a}(wt);Xt.MINIMUM_VALID_SIZE=4;var Bt=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),e=r.call(this),s.constructor_.apply(l(e),arguments),e}return n(s,[{key:\"setOrdinate\",value:function(t,e){switch(t){case s.X:this.x=e;break;case s.Y:this.y=e;break;default:throw new m(\"Invalid ordinate index: \"+t)}}},{key:\"getZ\",value:function(){return X.NULL_ORDINATE}},{key:\"getOrdinate\",value:function(t){switch(t){case s.X:return this.x;case s.Y:return this.y}throw new m(\"Invalid ordinate index: \"+t)}},{key:\"setZ\",value:function(t){throw new m(\"CoordinateXY dimension 2 does not support z-ordinate\")}},{key:\"copy\",value:function(){return new s(this)}},{key:\"toString\",value:function(){return\"(\"+this.x+\", \"+this.y+\")\"}},{key:\"setCoordinate\",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ()}}],[{key:\"constructor_\",value:function(){if(0===arguments.length)X.constructor_.call(this);else if(1===arguments.length){if(arguments[0]instanceof s){var t=arguments[0];X.constructor_.call(this,t.x,t.y)}else if(arguments[0]instanceof X){var e=arguments[0];X.constructor_.call(this,e.x,e.y)}}else if(2===arguments.length){var n=arguments[0],i=arguments[1];X.constructor_.call(this,n,i,X.NULL_ORDINATE)}}}]),s}(X);Bt.X=0,Bt.Y=1,Bt.Z=-1,Bt.M=-1;var Ut=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),e=r.call(this),s.constructor_.apply(l(e),arguments),e}return n(s,[{key:\"getM\",value:function(){return this._m}},{key:\"setOrdinate\",value:function(t,e){switch(t){case s.X:this.x=e;break;case s.Y:this.y=e;break;case s.M:this._m=e;break;default:throw new m(\"Invalid ordinate index: \"+t)}}},{key:\"setM\",value:function(t){this._m=t}},{key:\"getZ\",value:function(){return X.NULL_ORDINATE}},{key:\"getOrdinate\",value:function(t){switch(t){case s.X:return this.x;case s.Y:return this.y;case s.M:return this._m}throw new m(\"Invalid ordinate index: \"+t)}},{key:\"setZ\",value:function(t){throw new m(\"CoordinateXY dimension 2 does not support z-ordinate\")}},{key:\"copy\",value:function(){return new s(this)}},{key:\"toString\",value:function(){return\"(\"+this.x+\", \"+this.y+\" m=\"+this.getM()+\")\"}},{key:\"setCoordinate\",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ(),this._m=t.getM()}}],[{key:\"constructor_\",value:function(){if(this._m=null,0===arguments.length)X.constructor_.call(this),this._m=0;else if(1===arguments.length){if(arguments[0]instanceof s){var t=arguments[0];X.constructor_.call(this,t.x,t.y),this._m=t._m}else if(arguments[0]instanceof X){var e=arguments[0];X.constructor_.call(this,e.x,e.y),this._m=this.getM()}}else if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];X.constructor_.call(this,n,i,X.NULL_ORDINATE),this._m=r}}}]),s}(X);Ut.X=0,Ut.Y=1,Ut.Z=-1,Ut.M=2;var Vt=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),e=r.call(this),s.constructor_.apply(l(e),arguments),e}return n(s,[{key:\"getM\",value:function(){return this._m}},{key:\"setOrdinate\",value:function(t,e){switch(t){case X.X:this.x=e;break;case X.Y:this.y=e;break;case X.Z:this.z=e;break;case X.M:this._m=e;break;default:throw new m(\"Invalid ordinate index: \"+t)}}},{key:\"setM\",value:function(t){this._m=t}},{key:\"getOrdinate\",value:function(t){switch(t){case X.X:return this.x;case X.Y:return this.y;case X.Z:return this.getZ();case X.M:return this.getM()}throw new m(\"Invalid ordinate index: \"+t)}},{key:\"copy\",value:function(){return new s(this)}},{key:\"toString\",value:function(){return\"(\"+this.x+\", \"+this.y+\", \"+this.getZ()+\" m=\"+this.getM()+\")\"}},{key:\"setCoordinate\",value:function(t){this.x=t.x,this.y=t.y,this.z=t.getZ(),this._m=t.getM()}}],[{key:\"constructor_\",value:function(){if(this._m=null,0===arguments.length)X.constructor_.call(this),this._m=0;else if(1===arguments.length){if(arguments[0]instanceof s){var t=arguments[0];X.constructor_.call(this,t),this._m=t._m}else if(arguments[0]instanceof X){var e=arguments[0];X.constructor_.call(this,e),this._m=this.getM()}}else if(4===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2],a=arguments[3];X.constructor_.call(this,n,i,r),this._m=a}}}]),s}(X),Ht=function(){function e(){t(this,e)}return n(e,null,[{key:\"measures\",value:function(t){return t instanceof Bt?0:t instanceof Ut||t instanceof Vt?1:0}},{key:\"dimension\",value:function(t){return t instanceof Bt?2:t instanceof Ut?3:t instanceof Vt?4:3}},{key:\"create\",value:function(){if(1===arguments.length){var t=arguments[0];return e.create(t,0)}if(2===arguments.length){var n=arguments[0],i=arguments[1];return 2===n?new Bt:3===n&&0===i?new X:3===n&&1===i?new Ut:4===n&&1===i?new Vt:new X}}}]),e}(),Zt=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"getCoordinate\",value:function(t){return this.get(t)}},{key:\"addAll\",value:function(){if(2===arguments.length&&\"boolean\"==typeof arguments[1]&&rt(arguments[0],Z)){for(var t=arguments[0],e=arguments[1],n=!1,i=t.iterator();i.hasNext();)this.add(i.next(),e),n=!0;return n}return f(r(a.prototype),\"addAll\",this).apply(this,arguments)}},{key:\"clone\",value:function(){for(var t=f(r(a.prototype),\"clone\",this).call(this),e=0;e=1){var o=this.get(this.size()-1);if(o.equals2D(i))return null}f(r(a.prototype),\"add\",this).call(this,i)}else if(arguments[0]instanceof Object&&\"boolean\"==typeof arguments[1]){var u=arguments[0],l=arguments[1];return this.add(u,l),!0}}else if(3===arguments.length){if(\"boolean\"==typeof arguments[2]&&arguments[0]instanceof Array&&\"boolean\"==typeof arguments[1]){var h=arguments[0],c=arguments[1],v=arguments[2];if(v)for(var g=0;g=0;y--)this.add(h[y],c);return!0}if(\"boolean\"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof X){var d=arguments[0],_=arguments[1],p=arguments[2];if(!p){var m=this.size();if(m>0){if(d>0){var k=this.get(d-1);if(k.equals2D(_))return null}if(dT&&(S=-1);for(var L=N;L!==T;L+=S)this.add(I[L],E);return!0}}},{key:\"closeRing\",value:function(){if(this.size()>0){var t=this.get(0).copy();this.add(t,!1)}}}],[{key:\"constructor_\",value:function(){if(0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.ensureCapacity(e.length),this.add(e,n)}}}]),a}(yt);Zt.coordArrayType=new Array(0).fill(null);var jt=function(){function e(){t(this,e)}return n(e,null,[{key:\"isRing\",value:function(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])}},{key:\"ptNotInList\",value:function(t,n){for(var i=0;i=t?e:[]}},{key:\"indexOf\",value:function(t,e){for(var n=0;n0)&&(e=t[n]);return e}},{key:\"extract\",value:function(t,e,n){e=kt.clamp(e,0,t.length);var i=(n=kt.clamp(n,-1,t.length))-e+1;n<0&&(i=0),e>=t.length&&(i=0),ni.length)return 1;if(0===n.length)return 0;var r=jt.compare(n,i);return jt.isEqualReversed(n,i)?0:r}},{key:\"OLDcompare\",value:function(t,e){var n=t,i=e;if(n.lengthi.length)return 1;if(0===n.length)return 0;for(var r=jt.increasingDirection(n),s=jt.increasingDirection(i),a=r>0?0:n.length-1,o=s>0?0:n.length-1,u=0;u0){var t=new Jt(17*this._coordinates.length);t.append(\"(\"),t.append(this._coordinates[0]);for(var e=1;e3&&(i=3),i<2&&(i=2),new Qt(n,i)}if(3===arguments.length){var r=arguments[0],s=arguments[1],a=arguments[2],o=s-a;return a>1&&(a=1),o>3&&(o=3),o<2&&(o=2),new Qt(r,o+a,a)}}}},{key:\"interfaces_\",get:function(){return[It,E]}}],[{key:\"instance\",value:function(){return e.instanceObject}}]),e}();$t.instanceObject=new $t;var te=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"copyInternal\",value:function(){for(var t=new Array(this._geometries.length).fill(null),e=0;e=0?t:e}}]),e}(),re=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"readResolve\",value:function(){return e.nameToTypeMap.get(this._name)}},{key:\"toString\",value:function(){return this._name}},{key:\"interfaces_\",get:function(){return[E]}}],[{key:\"constructor_\",value:function(){this._name=null;var t=arguments[0];this._name=t,e.nameToTypeMap.put(t,this)}}]),e}();re.nameToTypeMap=new ne,ie.Type=re,ie.FIXED=new re(\"FIXED\"),ie.FLOATING=new re(\"FLOATING\"),ie.FLOATING_SINGLE=new re(\"FLOATING SINGLE\"),ie.maximumPreciseValue=9007199254740992;var se=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"copyInternal\",value:function(){for(var t=new Array(this._geometries.length).fill(null),e=0;e1){if(u instanceof Dt)return this.createMultiPolygon(e.toPolygonArray(t));if(u instanceof wt)return this.createMultiLineString(e.toLineStringArray(t));if(u instanceof bt)return this.createMultiPoint(e.toPointArray(t));G.shouldNeverReachHere(\"Unhandled geometry type: \"+u.getGeometryType())}return u}},{key:\"createMultiPointFromCoords\",value:function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}},{key:\"createPoint\",value:function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof X){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(rt(arguments[0],ht)){var e=arguments[0];return new bt(e,this)}}}},{key:\"getCoordinateSequenceFactory\",value:function(){return this._coordinateSequenceFactory}},{key:\"createPolygon\",value:function(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(rt(arguments[0],ht)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof Xt){var n=arguments[0];return this.createPolygon(n,null)}}else if(2===arguments.length){var i=arguments[0],r=arguments[1];return new Dt(i,r,this)}}},{key:\"getSRID\",value:function(){return this._SRID}},{key:\"createGeometryCollection\",value:function(){if(0===arguments.length)return new Yt(null,this);if(1===arguments.length){var t=arguments[0];return new Yt(t,this)}}},{key:\"getPrecisionModel\",value:function(){return this._precisionModel}},{key:\"createLinearRing\",value:function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(rt(arguments[0],ht)){var e=arguments[0];return new Xt(e,this)}}}},{key:\"createMultiPolygon\",value:function(){if(0===arguments.length)return new te(null,this);if(1===arguments.length){var t=arguments[0];return new te(t,this)}}},{key:\"createMultiPoint\",value:function(){if(0===arguments.length)return new zt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return new zt(t,this)}if(rt(arguments[0],ht)){var e=arguments[0];if(null===e)return this.createMultiPoint(new Array(0).fill(null));for(var n=new Array(e.size()).fill(null),i=0;i=\"a\"&&t<=\"z\"||t>=\"A\"&&t<=\"Z\"}},{key:\"isNumeric_\",value:function(t,e){return t>=\"0\"&&t<=\"9\"||\".\"==t&&!(void 0!==e&&e)}},{key:\"isWhiteSpace_\",value:function(t){return\" \"==t||\"\\t\"==t||\"\\r\"==t||\"\\n\"==t}},{key:\"nextChar_\",value:function(){return this.wkt.charAt(++this.index_)}},{key:\"nextToken\",value:function(){var t,e=this.nextChar_(),n=this.index_,i=e;if(\"(\"==e)t=ge;else if(\",\"==e)t=_e;else if(\")\"==e)t=ye;else if(this.isNumeric_(e)||\"-\"==e)t=de,i=this.readNumber_();else if(this.isAlpha_(e))t=ve,i=this.readText_();else{if(this.isWhiteSpace_(e))return this.nextToken();if(\"\"!==e)throw new Error(\"Unexpected character: \"+e);t=pe}return{position:n,value:i,type:t}}},{key:\"readNumber_\",value:function(){var t,e=this.index_,n=!1,i=!1;do{\".\"==t?n=!0:\"e\"!=t&&\"E\"!=t||(i=!0),t=this.nextChar_()}while(this.isNumeric_(t,n)||!i&&(\"e\"==t||\"E\"==t)||i&&(\"-\"==t||\"+\"==t));return parseFloat(this.wkt.substring(e,this.index_--))}},{key:\"readText_\",value:function(){var t,e=this.index_;do{t=this.nextChar_()}while(this.isAlpha_(t));return this.wkt.substring(e,this.index_--).toUpperCase()}}]),e}(),Ie=function(){function e(n,i){t(this,e),this.lexer_=n,this.token_,this.layout_=oe,this.factory=i}return n(e,[{key:\"consume_\",value:function(){this.token_=this.lexer_.nextToken()}},{key:\"isTokenType\",value:function(t){return this.token_.type==t}},{key:\"match\",value:function(t){var e=this.isTokenType(t);return e&&this.consume_(),e}},{key:\"parse\",value:function(){return this.consume_(),this.parseGeometry_()}},{key:\"parseGeometryLayout_\",value:function(){var t=oe,e=this.token_;if(this.isTokenType(ve)){var n=e.value;\"Z\"===n?t=ue:\"M\"===n?t=le:\"ZM\"===n&&(t=he),t!==oe&&this.consume_()}return t}},{key:\"parseGeometryCollectionText_\",value:function(){if(this.match(ge)){var t=[];do{t.push(this.parseGeometry_())}while(this.match(_e));if(this.match(ye))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:\"parsePointText_\",value:function(){if(this.match(ge)){var t=this.parsePoint_();if(this.match(ye))return t}else if(this.isEmptyGeometry_())return null;throw new Error(this.formatErrorMessage_())}},{key:\"parseLineStringText_\",value:function(){if(this.match(ge)){var t=this.parsePointList_();if(this.match(ye))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:\"parsePolygonText_\",value:function(){if(this.match(ge)){var t=this.parseLineStringTextList_();if(this.match(ye))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:\"parseMultiPointText_\",value:function(){var t;if(this.match(ge)){if(t=this.token_.type==ge?this.parsePointTextList_():this.parsePointList_(),this.match(ye))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:\"parseMultiLineStringText_\",value:function(){if(this.match(ge)){var t=this.parseLineStringTextList_();if(this.match(ye))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:\"parseMultiPolygonText_\",value:function(){if(this.match(ge)){var t=this.parsePolygonTextList_();if(this.match(ye))return t}else if(this.isEmptyGeometry_())return[];throw new Error(this.formatErrorMessage_())}},{key:\"parsePoint_\",value:function(){for(var t=[],e=this.layout_.length,n=0;n1?t.createPolygon(i[0],i.slice(1)):t.createPolygon(i[0])},i=this.token_;if(this.match(ve)){var r=i.value;if(this.layout_=this.parseGeometryLayout_(),\"GEOMETRYCOLLECTION\"==r){var s=this.parseGeometryCollectionText_();return t.createGeometryCollection(s)}switch(r){case\"POINT\":var a=this.parsePointText_();return a?t.createPoint(o(X,v(a))):t.createPoint();case\"LINESTRING\":var u=this.parseLineStringText_().map(e);return t.createLineString(u);case\"LINEARRING\":var l=this.parseLineStringText_().map(e);return t.createLinearRing(l);case\"POLYGON\":var h=this.parsePolygonText_();return h&&0!==h.length?n(h):t.createPolygon();case\"MULTIPOINT\":var c=this.parseMultiPointText_();if(!c||0===c.length)return t.createMultiPoint();var f=c.map(e).map((function(e){return t.createPoint(e)}));return t.createMultiPoint(f);case\"MULTILINESTRING\":var g=this.parseMultiLineStringText_().map((function(n){return t.createLineString(n.map(e))}));return t.createMultiLineString(g);case\"MULTIPOLYGON\":var y=this.parseMultiPolygonText_();if(!y||0===y.length)return t.createMultiPolygon();var d=y.map(n);return t.createMultiPolygon(d);default:throw new Error(\"Invalid geometry type: \"+r)}}throw new Error(this.formatErrorMessage_())}}]),e}();function Ee(t){if(t.isEmpty())return\"\";var e=t.getCoordinate(),n=[e.x,e.y];return void 0===e.z||Number.isNaN(e.z)||n.push(e.z),void 0===e.m||Number.isNaN(e.m)||n.push(e.m),n.join(\" \")}function Ne(t){for(var e=t.getCoordinates().map((function(t){var e=[t.x,t.y];return void 0===t.z||Number.isNaN(t.z)||e.push(t.z),void 0===t.m||Number.isNaN(t.m)||e.push(t.m),e})),n=[],i=0,r=e.length;i0&&(e+=\" \"+i),t.isEmpty()?e+\" \"+fe:e+\" (\"+n(t)+\")\"}var Ce=function(){function e(n){t(this,e),this.geometryFactory=n||new ae,this.precisionModel=this.geometryFactory.getPrecisionModel()}return n(e,[{key:\"read\",value:function(t){var e=new xe(t);return new Ie(e,this.geometryFactory).parse()}},{key:\"write\",value:function(t){return Le(t)}}]),e}(),Re=function(){function e(n){t(this,e),this.parser=new Ce(n)}return n(e,[{key:\"write\",value:function(t){return this.parser.write(t)}}],[{key:\"toLineString\",value:function(t,e){if(2!==arguments.length)throw new Error(\"Not implemented\");return\"LINESTRING ( \"+t.x+\" \"+t.y+\", \"+e.x+\" \"+e.y+\" )\"}}]),e}(),we=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getIndexAlongSegment\",value:function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}},{key:\"getTopologySummary\",value:function(){var t=new Jt;return this.isEndPoint()&&t.append(\" endpoint\"),this._isProper&&t.append(\" proper\"),this.isCollinear()&&t.append(\" collinear\"),t.toString()}},{key:\"computeIntersection\",value:function(t,e,n,i){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=n,this._inputLines[1][1]=i,this._result=this.computeIntersect(t,e,n,i)}},{key:\"getIntersectionNum\",value:function(){return this._result}},{key:\"computeIntLineIndex\",value:function(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map((function(){return Array(2)})),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){var t=arguments[0],e=this.getEdgeDistance(t,0),n=this.getEdgeDistance(t,1);e>n?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}},{key:\"isProper\",value:function(){return this.hasIntersection()&&this._isProper}},{key:\"setPrecisionModel\",value:function(t){this._precisionModel=t}},{key:\"isInteriorIntersection\",value:function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],e=0;er?i:r;else{var a=Math.abs(t.x-e.x),o=Math.abs(t.y-e.y);0!==(s=i>r?a:o)||t.equals(e)||(s=Math.max(a,o))}return G.isTrue(!(0===s&&!t.equals(e)),\"Bad distance calculation\"),s}},{key:\"nonRobustComputeEdgeDistance\",value:function(t,e,n){var i=t.x-e.x,r=t.y-e.y,s=Math.sqrt(i*i+r*r);return G.isTrue(!(0===s&&!t.equals(e)),\"Invalid distance calculation\"),s}}]),e}();we.DONT_INTERSECT=0,we.DO_INTERSECT=1,we.COLLINEAR=2,we.NO_INTERSECTION=0,we.POINT_INTERSECTION=1,we.COLLINEAR_INTERSECTION=2;var Oe=function(e){i(a,e);var s=c(a);function a(){return t(this,a),s.call(this)}return n(a,[{key:\"isInSegmentEnvelopes\",value:function(t){var e=new U(this._inputLines[0][0],this._inputLines[0][1]),n=new U(this._inputLines[1][0],this._inputLines[1][1]);return e.contains(t)&&n.contains(t)}},{key:\"computeIntersection\",value:function(){if(3!==arguments.length)return f(r(a.prototype),\"computeIntersection\",this).apply(this,arguments);var t=arguments[0],e=arguments[1],n=arguments[2];if(this._isProper=!1,U.intersects(e,n,t)&&0===ct.index(e,n,t)&&0===ct.index(n,e,t))return this._isProper=!0,(t.equals(e)||t.equals(n))&&(this._isProper=!1),this._result=we.POINT_INTERSECTION,null;this._result=we.NO_INTERSECTION}},{key:\"intersection\",value:function(t,e,n,i){var r=this.intersectionSafe(t,e,n,i);return this.isInSegmentEnvelopes(r)||(r=new X(a.nearestEndpoint(t,e,n,i))),null!==this._precisionModel&&this._precisionModel.makePrecise(r),r}},{key:\"checkDD\",value:function(t,e,n,i,r){var s=lt.intersection(t,e,n,i),a=this.isInSegmentEnvelopes(s);mt.out.println(\"DD in env = \"+a+\" --------------------- \"+s),r.distance(s)>1e-4&&mt.out.println(\"Distance = \"+r.distance(s))}},{key:\"intersectionSafe\",value:function(t,e,n,i){var r=pt.intersection(t,e,n,i);return null===r&&(r=a.nearestEndpoint(t,e,n,i)),r}},{key:\"computeCollinearIntersection\",value:function(t,e,n,i){var r=U.intersects(t,e,n),s=U.intersects(t,e,i),a=U.intersects(n,i,t),o=U.intersects(n,i,e);return r&&s?(this._intPt[0]=n,this._intPt[1]=i,we.COLLINEAR_INTERSECTION):a&&o?(this._intPt[0]=t,this._intPt[1]=e,we.COLLINEAR_INTERSECTION):r&&a?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||s||o?we.COLLINEAR_INTERSECTION:we.POINT_INTERSECTION):r&&o?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||s||a?we.COLLINEAR_INTERSECTION:we.POINT_INTERSECTION):s&&a?(this._intPt[0]=i,this._intPt[1]=t,!i.equals(t)||r||o?we.COLLINEAR_INTERSECTION:we.POINT_INTERSECTION):s&&o?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||r||a?we.COLLINEAR_INTERSECTION:we.POINT_INTERSECTION):we.NO_INTERSECTION}},{key:\"computeIntersect\",value:function(t,e,n,i){if(this._isProper=!1,!U.intersects(t,e,n,i))return we.NO_INTERSECTION;var r=ct.index(t,e,n),s=ct.index(t,e,i);if(r>0&&s>0||r<0&&s<0)return we.NO_INTERSECTION;var a=ct.index(n,i,t),o=ct.index(n,i,e);return a>0&&o>0||a<0&&o<0?we.NO_INTERSECTION:0===r&&0===s&&0===a&&0===o?this.computeCollinearIntersection(t,e,n,i):(0===r||0===s||0===a||0===o?(this._isProper=!1,t.equals2D(n)||t.equals2D(i)?this._intPt[0]=t:e.equals2D(n)||e.equals2D(i)?this._intPt[0]=e:0===r?this._intPt[0]=new X(n):0===s?this._intPt[0]=new X(i):0===a?this._intPt[0]=new X(t):0===o&&(this._intPt[0]=new X(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,n,i)),we.POINT_INTERSECTION)}}],[{key:\"nearestEndpoint\",value:function(t,e,n,i){var r=t,s=xt.pointToSegment(t,n,i),a=xt.pointToSegment(e,n,i);return ai&&(n=e.x,i=t.x),this._p.x>=n&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var r=ct.index(t,e,this._p);if(r===ct.COLLINEAR)return this._isPointOnSegment=!0,null;e.ythis.location.length){var e=new Array(3).fill(null);e[$.ON]=this.location[$.ON],e[$.LEFT]=H.NONE,e[$.RIGHT]=H.NONE,this.location=e}for(var n=0;n1&&t.append(H.toLocationSymbol(this.location[$.LEFT])),t.append(H.toLocationSymbol(this.location[$.ON])),this.location.length>1&&t.append(H.toLocationSymbol(this.location[$.RIGHT])),t.toString()}},{key:\"setLocations\",value:function(t,e,n){this.location[$.ON]=t,this.location[$.LEFT]=e,this.location[$.RIGHT]=n}},{key:\"get\",value:function(t){return t1}},{key:\"isAnyNull\",value:function(){for(var t=0;tthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2}},{key:\"addPoints\",value:function(t,e,n){var i=t.getCoordinates();if(e){var r=1;n&&(r=0);for(var s=r;s=0;o--)this._pts.add(i[o])}}},{key:\"isHole\",value:function(){return this._isHole}},{key:\"setInResult\",value:function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)}},{key:\"containsPoint\",value:function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!Me.isInRing(t,e.getCoordinates()))return!1;for(var n=this._holes.iterator();n.hasNext();){if(n.next().containsPoint(t))return!1}return!0}},{key:\"addHole\",value:function(t){this._holes.add(t)}},{key:\"isShell\",value:function(){return null===this._shell}},{key:\"getLabel\",value:function(){return this._label}},{key:\"getEdges\",value:function(){return this._edges}},{key:\"getMaxNodeDegree\",value:function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree}},{key:\"getShell\",value:function(){return this._shell}},{key:\"mergeLabel\",value:function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],i=e.getLocation(n,$.RIGHT);if(i===H.NONE)return null;if(this._label.getLocation(n)===H.NONE)return this._label.setLocation(n,i),null}}},{key:\"setShell\",value:function(t){this._shell=t,null!==t&&t.addHole(this)}},{key:\"toPolygon\",value:function(t){for(var e=new Array(this._holes.size()).fill(null),n=0;n=2,\"found partial label\"),this.computeIM(t)}},{key:\"isInResult\",value:function(){return this._isInResult}},{key:\"isVisited\",value:function(){return this._isVisited}}],[{key:\"constructor_\",value:function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._label=t}}}]),e}(),Ye=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"isIncidentEdgeInResult\",value:function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){if(t.next().getEdge().isInResult())return!0}return!1}},{key:\"isIsolated\",value:function(){return 1===this._label.getGeometryCount()}},{key:\"getCoordinate\",value:function(){return this._coord}},{key:\"print\",value:function(t){t.println(\"node \"+this._coord+\" lbl: \"+this._label)}},{key:\"computeIM\",value:function(t){}},{key:\"computeMergedLocation\",value:function(t,e){var n=H.NONE;if(n=this._label.getLocation(e),!t.isNull(e)){var i=t.getLocation(e);n!==H.BOUNDARY&&(n=i)}return n}},{key:\"setLabel\",value:function(){if(2!==arguments.length||!Number.isInteger(arguments[1])||!Number.isInteger(arguments[0]))return f(r(a.prototype),\"setLabel\",this).apply(this,arguments);var t=arguments[0],e=arguments[1];null===this._label?this._label=new Pe(t,e):this._label.setLocation(t,e)}},{key:\"getEdges\",value:function(){return this._edges}},{key:\"mergeLabel\",value:function(){if(arguments[0]instanceof a){var t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof Pe)for(var e=arguments[0],n=0;n<2;n++){var i=this.computeMergedLocation(e,n),r=this._label.getLocation(n);r===H.NONE&&this._label.setLocation(n,i)}}},{key:\"add\",value:function(t){this._edges.insert(t),t.setNode(this)}},{key:\"setLabelBoundary\",value:function(t){if(null===this._label)return null;var e=H.NONE;null!==this._label&&(e=this._label.getLocation(t));var n=null;switch(e){case H.BOUNDARY:n=H.INTERIOR;break;case H.INTERIOR:default:n=H.BOUNDARY}this._label.setLocation(t,n)}}],[{key:\"constructor_\",value:function(){this._coord=null,this._edges=null;var t=arguments[0],e=arguments[1];this._coord=t,this._edges=e,this._label=new Pe(0,H.NONE)}}]),a}(qe),ze=function(e){i(r,e);var n=c(r);function r(){return t(this,r),n.apply(this,arguments)}return r}(ee);function Xe(t){return null==t?0:t.color}function Be(t){return null==t?null:t.parent}function Ue(t,e){null!==t&&(t.color=e)}function Ve(t){return null==t?null:t.left}function He(t){return null==t?null:t.right}var Ze=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),(e=r.call(this)).root_=null,e.size_=0,e}return n(s,[{key:\"get\",value:function(t){for(var e=this.root_;null!==e;){var n=t.compareTo(e.key);if(n<0)e=e.left;else{if(!(n>0))return e.value;e=e.right}}return null}},{key:\"put\",value:function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var n,i,r=this.root_;do{if(n=r,(i=t.compareTo(r.key))<0)r=r.left;else{if(!(i>0)){var s=r.value;return r.value=e,s}r=r.right}}while(null!==r);var a={key:t,left:null,right:null,value:e,parent:n,color:0,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?n.left=a:n.right=a,this.fixAfterInsertion(a),this.size_++,null}},{key:\"fixAfterInsertion\",value:function(t){var e;for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)Be(t)===Ve(Be(Be(t)))?1===Xe(e=He(Be(Be(t))))?(Ue(Be(t),0),Ue(e,0),Ue(Be(Be(t)),1),t=Be(Be(t))):(t===He(Be(t))&&(t=Be(t),this.rotateLeft(t)),Ue(Be(t),0),Ue(Be(Be(t)),1),this.rotateRight(Be(Be(t)))):1===Xe(e=Ve(Be(Be(t))))?(Ue(Be(t),0),Ue(e,0),Ue(Be(Be(t)),1),t=Be(Be(t))):(t===Ve(Be(t))&&(t=Be(t),this.rotateRight(t)),Ue(Be(t),0),Ue(Be(Be(t)),1),this.rotateLeft(Be(Be(t))));this.root_.color=0}},{key:\"values\",value:function(){var t=new yt,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=s.successor(e));)t.add(e.value);return t}},{key:\"entrySet\",value:function(){var t=new J,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=s.successor(e));)t.add(e);return t}},{key:\"rotateLeft\",value:function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}}},{key:\"rotateRight\",value:function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}}},{key:\"getFirstEntry\",value:function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t}},{key:\"size\",value:function(){return this.size_}},{key:\"containsKey\",value:function(t){for(var e=this.root_;null!==e;){var n=t.compareTo(e.key);if(n<0)e=e.left;else{if(!(n>0))return!0;e=e.right}}return!1}}],[{key:\"successor\",value:function(t){var e;if(null===t)return null;if(null!==t.right){for(e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var n=t;null!==e&&n===e.right;)n=e,e=e.parent;return e}}]),s}(ze),je=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"find\",value:function(t){return this.nodeMap.get(t)}},{key:\"addNode\",value:function(){if(arguments[0]instanceof X){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof Ye){var n=arguments[0],i=this.nodeMap.get(n.getCoordinate());return null===i?(this.nodeMap.put(n.getCoordinate(),n),n):(i.mergeLabel(n),i)}}},{key:\"print\",value:function(t){for(var e=this.iterator();e.hasNext();){e.next().print(t)}}},{key:\"iterator\",value:function(){return this.nodeMap.values().iterator()}},{key:\"values\",value:function(){return this.nodeMap.values()}},{key:\"getBoundaryNodes\",value:function(t){for(var e=new yt,n=this.iterator();n.hasNext();){var i=n.next();i.getLabel().getLocation(t)===H.BOUNDARY&&e.add(i)}return e}},{key:\"add\",value:function(t){var e=t.getCoordinate();this.addNode(e).add(t)}}],[{key:\"constructor_\",value:function(){this.nodeMap=new Ze,this.nodeFact=null;var t=arguments[0];this.nodeFact=t}}]),e}(),We=function(){function e(){t(this,e)}return n(e,null,[{key:\"isNorthern\",value:function(t){return t===e.NE||t===e.NW}},{key:\"isOpposite\",value:function(t,e){return t!==e&&2===(t-e+4)%4}},{key:\"commonHalfPlane\",value:function(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var n=te?t:e)?3:n}},{key:\"isInHalfPlane\",value:function(t,n){return n===e.SE?t===e.SE||t===e.SW:t===n||t===n+1}},{key:\"quadrant\",value:function(){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],n=arguments[1];if(0===t&&0===n)throw new m(\"Cannot compute the quadrant for point ( \"+t+\", \"+n+\" )\");return t>=0?n>=0?e.NE:e.SE:n>=0?e.NW:e.SW}if(arguments[0]instanceof X&&arguments[1]instanceof X){var i=arguments[0],r=arguments[1];if(r.x===i.x&&r.y===i.y)throw new m(\"Cannot compute the quadrant for two identical points \"+i);return r.x>=i.x?r.y>=i.y?e.NE:e.SE:r.y>=i.y?e.NW:e.SW}}}]),e}();We.NE=0,We.NW=1,We.SW=2,We.SE=3;var Ke=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"compareDirection\",value:function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant2){s.linkDirectedEdgesForMinimalEdgeRings();var a=s.buildMinimalRings(),o=this.findShell(a);null!==o?(this.placePolygonHoles(o,a),e.add(o)):n.addAll(a)}else i.add(s)}return i}},{key:\"buildMaximalEdgeRings\",value:function(t){for(var e=new yt,n=t.iterator();n.hasNext();){var i=n.next();if(i.isInResult()&&i.getLabel().isArea()&&null===i.getEdgeRing()){var r=new Ge(i,this._geometryFactory);e.add(r),r.setInResult()}}return e}},{key:\"placePolygonHoles\",value:function(t,e){for(var n=e.iterator();n.hasNext();){var i=n.next();i.isHole()&&i.setShell(t)}}},{key:\"getPolygons\",value:function(){return this.computePolygons(this._shellList)}},{key:\"findShell\",value:function(t){for(var e=0,n=null,i=t.iterator();i.hasNext();){var r=i.next();r.isHole()||(n=r,e++)}return G.isTrue(e<=1,\"found two shells in MinimalEdgeRing list\"),n}},{key:\"add\",value:function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],n=arguments[1];$e.linkResultDirectedEdges(n);var i=this.buildMaximalEdgeRings(e),r=new yt,s=this.buildMinimalEdgeRings(i,this._shellList,r);this.sortShellsAndHoles(s,this._shellList,r),this.placeFreeHoles(this._shellList,r)}}}],[{key:\"constructor_\",value:function(){this._geometryFactory=null,this._shellList=new yt;var t=arguments[0];this._geometryFactory=t}},{key:\"findEdgeRingContaining\",value:function(t,e){for(var n=t.getLinearRing(),i=n.getEnvelopeInternal(),r=n.getCoordinateN(0),s=null,a=null,o=e.iterator();o.hasNext();){var u=o.next(),l=u.getLinearRing(),h=l.getEnvelopeInternal();if(!h.equals(i)&&h.contains(i)){r=jt.ptNotInList(n.getCoordinates(),l.getCoordinates());var c=!1;Me.isInRing(r,l.getCoordinates())&&(c=!0),c&&(null===s||a.contains(h))&&(a=(s=u).getLinearRing().getEnvelopeInternal())}}return s}}]),e}(),en=function(){function e(){t(this,e)}return n(e,[{key:\"getBounds\",value:function(){}}]),e}(),nn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getItem\",value:function(){return this._item}},{key:\"getBounds\",value:function(){return this._bounds}},{key:\"interfaces_\",get:function(){return[en,E]}}],[{key:\"constructor_\",value:function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e}}]),e}(),rn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"poll\",value:function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t}},{key:\"size\",value:function(){return this._size}},{key:\"reorder\",value:function(t){for(var e=null,n=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(n)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,n)}},{key:\"clear\",value:function(){this._size=0,this._items.clear()}},{key:\"peek\",value:function(){return this.isEmpty()?null:this._items.get(1)}},{key:\"isEmpty\",value:function(){return 0===this._size}},{key:\"add\",value:function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)}}],[{key:\"constructor_\",value:function(){this._size=null,this._items=null,this._size=0,this._items=new yt,this._items.add(null)}}]),e}(),sn=function(){function e(){t(this,e)}return n(e,[{key:\"insert\",value:function(t,e){}},{key:\"remove\",value:function(t,e){}},{key:\"query\",value:function(){}}]),e}(),an=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getLevel\",value:function(){return this._level}},{key:\"size\",value:function(){return this._childBoundables.size()}},{key:\"getChildBoundables\",value:function(){return this._childBoundables}},{key:\"addChildBoundable\",value:function(t){G.isTrue(null===this._bounds),this._childBoundables.add(t)}},{key:\"isEmpty\",value:function(){return this._childBoundables.isEmpty()}},{key:\"getBounds\",value:function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds}},{key:\"interfaces_\",get:function(){return[en,E]}}],[{key:\"constructor_\",value:function(){if(this._childBoundables=new yt,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}}}]),e}(),on={reverseOrder:function(){return{compare:function(t,e){return e.compareTo(t)}}},min:function(t){return on.sort(t),t.get(0)},sort:function(t,e){var n=t.toArray();e?At.sort(n,e):At.sort(n);for(var i=t.iterator(),r=0,s=n.length;re.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,!1,t,n),null):(this.expand(this._boundable2,this._boundable1,!0,t,n),null);if(i)return this.expand(this._boundable1,this._boundable2,!1,t,n),null;if(r)return this.expand(this._boundable2,this._boundable1,!0,t,n),null;throw new m(\"neither boundable is composite\")}},{key:\"isLeaves\",value:function(){return!(e.isComposite(this._boundable1)||e.isComposite(this._boundable2))}},{key:\"compareTo\",value:function(t){var e=t;return this._distancee._distance?1:0}},{key:\"expand\",value:function(t,n,i,r,s){for(var a=t.getChildBoundables().iterator();a.hasNext();){var o=a.next(),u=null;(u=i?new e(n,o,this._itemDistance):new e(o,n,this._itemDistance)).getDistance()-2),i.getLevel()===n)return r.add(i),null;for(var s=i.getChildBoundables().iterator();s.hasNext();){var a=s.next();a instanceof an?this.boundablesAtLevel(n,a,r):(G.isTrue(a instanceof nn),-1===n&&r.add(a))}return null}}},{key:\"query\",value:function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new yt;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.queryInternal(t,this._root,e),e}if(2===arguments.length){var n=arguments[0],i=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),n)&&this.queryInternal(n,this._root,i)}}},{key:\"build\",value:function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0}},{key:\"getRoot\",value:function(){return this.build(),this._root}},{key:\"remove\",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.remove(t,this._root,e)}if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2],s=this.removeItem(i,r);if(s)return!0;for(var a=null,o=i.getChildBoundables().iterator();o.hasNext();){var u=o.next();if(this.getIntersectsOp().intersects(u.getBounds(),n)&&(u instanceof an&&(s=this.remove(n,u,r)))){a=u;break}}return null!==a&&a.getChildBoundables().isEmpty()&&i.getChildBoundables().remove(a),s}}},{key:\"createHigherLevels\",value:function(t,e){G.isTrue(!t.isEmpty());var n=this.createParentBoundables(t,e+1);return 1===n.size()?n.get(0):this.createHigherLevels(n,e+1)}},{key:\"depth\",value:function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var t=arguments[0],e=0,n=t.getChildBoundables().iterator();n.hasNext();){var i=n.next();if(i instanceof an){var r=this.depth(i);r>e&&(e=r)}}return e+1}}},{key:\"createParentBoundables\",value:function(t,e){G.isTrue(!t.isEmpty());var n=new yt;n.add(this.createNode(e));var i=new yt(t);on.sort(i,this.getComparator());for(var r=i.iterator();r.hasNext();){var s=r.next();this.lastNode(n).getChildBoundables().size()===this.getNodeCapacity()&&n.add(this.createNode(e)),this.lastNode(n).addChildBoundable(s)}return n}},{key:\"isEmpty\",value:function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()}},{key:\"interfaces_\",get:function(){return[E]}}],[{key:\"constructor_\",value:function(){if(this._root=null,this._built=!1,this._itemBoundables=new yt,this._nodeCapacity=null,0===arguments.length)e.constructor_.call(this,e.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];G.isTrue(t>1,\"Node capacity must be greater than 1\"),this._nodeCapacity=t}}},{key:\"compareDoubles\",value:function(t,e){return t>e?1:t0);for(var n=new yt,i=0;i=0;){var l=o.poll(),h=l.getDistance();if(h>=s)break;if(l.isLeaves())if(u.size()h&&(u.poll(),u.add(l));var f=u.peek();s=f.getDistance()}else l.expandToQueue(o,s)}return a.getItems(u)}}},{key:\"createNode\",value:function(t){return new gn(t)}},{key:\"size\",value:function(){return 0===arguments.length?f(r(a.prototype),\"size\",this).call(this):f(r(a.prototype),\"size\",this).apply(this,arguments)}},{key:\"insert\",value:function(){if(!(2===arguments.length&&arguments[1]instanceof Object&&arguments[0]instanceof U))return f(r(a.prototype),\"insert\",this).apply(this,arguments);var t=arguments[0],e=arguments[1];if(t.isNull())return null;f(r(a.prototype),\"insert\",this).call(this,t,e)}},{key:\"getIntersectsOp\",value:function(){return a.intersectsOp}},{key:\"verticalSlices\",value:function(t,e){for(var n=Math.trunc(Math.ceil(t.size()/e)),i=new Array(e).fill(null),r=t.iterator(),s=0;s0;){var a=s.poll(),o=a.getDistance();if(o>=i)break;a.isLeaves()?(i=o,r=a):a.expandToQueue(s,i)}return null===r?null:[r.getBoundable(0).getItem(),r.getBoundable(1).getItem()]}}else{if(2===arguments.length){var u=arguments[0],l=arguments[1];if(this.isEmpty()||u.isEmpty())return null;var h=new ln(this.getRoot(),u.getRoot(),l);return this.nearestNeighbour(h)}if(3===arguments.length){var c=arguments[0],f=arguments[1],v=arguments[2],g=new nn(c,f),y=new ln(this.getRoot(),g,v);return this.nearestNeighbour(y)[0]}if(4===arguments.length){var d=arguments[0],_=arguments[1],p=arguments[2],m=arguments[3],k=new nn(d,_),x=new ln(this.getRoot(),k,p);return this.nearestNeighbourK(x,m)}}}},{key:\"isWithinDistance\",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=A.POSITIVE_INFINITY,i=new rn;for(i.add(t);!i.isEmpty();){var r=i.poll(),s=r.getDistance();if(s>e)return!1;if(r.maximumDistance()<=e)return!0;if(r.isLeaves()){if((n=s)<=e)return!0}else r.expandToQueue(i,n)}return!1}if(3===arguments.length){var a=arguments[0],o=arguments[1],u=arguments[2],l=new ln(this.getRoot(),a.getRoot(),o);return this.isWithinDistance(l,u)}}},{key:\"interfaces_\",get:function(){return[sn,E]}}],[{key:\"constructor_\",value:function(){if(0===arguments.length)a.constructor_.call(this,a.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var t=arguments[0];cn.constructor_.call(this,t)}}},{key:\"centreX\",value:function(t){return a.avg(t.getMinX(),t.getMaxX())}},{key:\"avg\",value:function(t,e){return(t+e)/2}},{key:\"getItems\",value:function(t){for(var e=new Array(t.size()).fill(null),n=0;!t.isEmpty();){var i=t.poll();e[n]=i.getBoundable(0).getItem(),n++}return e}},{key:\"centreY\",value:function(t){return a.avg(t.getMinY(),t.getMaxY())}}]),a}(cn),gn=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),e=r.call(this),s.constructor_.apply(l(e),arguments),e}return n(s,[{key:\"computeBounds\",value:function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var n=e.next();null===t?t=new U(n.getBounds()):t.expandToInclude(n.getBounds())}return t}}],[{key:\"constructor_\",value:function(){var t=arguments[0];an.constructor_.call(this,t)}}]),s}(an);vn.STRtreeNode=gn,vn.xComparator=new(function(){function e(){t(this,e)}return n(e,[{key:\"interfaces_\",get:function(){return[P]}},{key:\"compare\",value:function(t,e){return cn.compareDoubles(vn.centreX(t.getBounds()),vn.centreX(e.getBounds()))}}]),e}()),vn.yComparator=new(function(){function e(){t(this,e)}return n(e,[{key:\"interfaces_\",get:function(){return[P]}},{key:\"compare\",value:function(t,e){return cn.compareDoubles(vn.centreY(t.getBounds()),vn.centreY(e.getBounds()))}}]),e}()),vn.intersectsOp=new(function(){function e(){t(this,e)}return n(e,[{key:\"interfaces_\",get:function(){return[IntersectsOp]}},{key:\"intersects\",value:function(t,e){return t.intersects(e)}}]),e}()),vn.DEFAULT_NODE_CAPACITY=10;var yn=function(){function e(){t(this,e)}return n(e,null,[{key:\"relativeSign\",value:function(t,e){return te?1:0}},{key:\"compare\",value:function(t,n,i){if(n.equals2D(i))return 0;var r=e.relativeSign(n.x,i.x),s=e.relativeSign(n.y,i.y);switch(t){case 0:return e.compareValue(r,s);case 1:return e.compareValue(s,r);case 2:return e.compareValue(s,-r);case 3:return e.compareValue(-r,s);case 4:return e.compareValue(-r,-s);case 5:return e.compareValue(-s,-r);case 6:return e.compareValue(-s,r);case 7:return e.compareValue(r,-s)}return G.shouldNeverReachHere(\"invalid octant value\"),0}},{key:\"compareValue\",value:function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0}}]),e}(),dn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getCoordinate\",value:function(){return this.coord}},{key:\"print\",value:function(t){t.print(this.coord),t.print(\" seg # = \"+this.segmentIndex)}},{key:\"compareTo\",value:function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:this._isInterior?e._isInterior?yn.compare(this._segmentOctant,this.coord,e.coord):1:-1}},{key:\"isEndPoint\",value:function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t}},{key:\"toString\",value:function(){return this.segmentIndex+\":\"+this.coord.toString()}},{key:\"isInterior\",value:function(){return this._isInterior}},{key:\"interfaces_\",get:function(){return[x]}}],[{key:\"constructor_\",value:function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];this._segString=t,this.coord=new X(e),this.segmentIndex=n,this._segmentOctant=i,this._isInterior=!e.equals2D(t.getCoordinate(n))}}]),e}(),_n=function(){function e(){t(this,e)}return n(e,[{key:\"hasNext\",value:function(){}},{key:\"next\",value:function(){}},{key:\"remove\",value:function(){}}]),e}(),pn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getSplitCoordinates\",value:function(){var t=new Zt;this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var i=e.next();this.addEdgeCoordinates(n,i,t),n=i}return t.toCoordinateArray()}},{key:\"addCollapsedNodes\",value:function(){var t=new yt;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var n=e.next().intValue();this.add(this._edge.getCoordinate(n),n)}}},{key:\"createSplitEdgePts\",value:function(t,e){var n=e.segmentIndex-t.segmentIndex+2;if(2===n)return[new X(t.coord),new X(e.coord)];var i=this._edge.getCoordinate(e.segmentIndex),r=e.isInterior()||!e.coord.equals2D(i);r||n--;var s=new Array(n).fill(null),a=0;s[a++]=new X(t.coord);for(var o=t.segmentIndex+1;o<=e.segmentIndex;o++)s[a++]=this._edge.getCoordinate(o);return r&&(s[a]=new X(e.coord)),s}},{key:\"print\",value:function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){e.next().print(t)}}},{key:\"findCollapsesFromExistingVertices\",value:function(t){for(var e=0;e=0?n>=0?i>=r?0:1:i>=r?7:6:n>=0?i>=r?3:2:i>=r?4:5}if(arguments[0]instanceof X&&arguments[1]instanceof X){var s=arguments[0],a=arguments[1],o=a.x-s.x,u=a.y-s.y;if(0===o&&0===u)throw new m(\"Cannot compute the octant for two identical points \"+s);return e.octant(o,u)}}}]),e}(),kn=function(){function e(){t(this,e)}return n(e,[{key:\"getCoordinates\",value:function(){}},{key:\"size\",value:function(){}},{key:\"getCoordinate\",value:function(t){}},{key:\"isClosed\",value:function(){}},{key:\"setData\",value:function(t){}},{key:\"getData\",value:function(){}}]),e}(),xn=function(){function e(){t(this,e)}return n(e,[{key:\"addIntersection\",value:function(t,e){}},{key:\"interfaces_\",get:function(){return[kn]}}]),e}(),In=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getCoordinates\",value:function(){return this._pts}},{key:\"size\",value:function(){return this._pts.length}},{key:\"getCoordinate\",value:function(t){return this._pts[t]}},{key:\"isClosed\",value:function(){return this._pts[0].equals(this._pts[this._pts.length-1])}},{key:\"getSegmentOctant\",value:function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))}},{key:\"setData\",value:function(t){this._data=t}},{key:\"safeOctant\",value:function(t,e){return t.equals2D(e)?0:mn.octant(t,e)}},{key:\"getData\",value:function(){return this._data}},{key:\"addIntersection\",value:function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[3],s=new X(n.getIntersection(r));this.addIntersection(s,i)}}},{key:\"toString\",value:function(){return Re.toLineString(new Qt(this._pts))}},{key:\"getNodeList\",value:function(){return this._nodeList}},{key:\"addIntersectionNode\",value:function(t,e){var n=e,i=n+1;if(i=0&&i>=0||n<=0&&i<=0?Math.max(n,i):0}if(arguments[0]instanceof X){var r=arguments[0];return ct.index(this.p0,this.p1,r)}}},{key:\"toGeometry\",value:function(t){return t.createLineString([this.p0,this.p1])}},{key:\"isVertical\",value:function(){return this.p0.x===this.p1.x}},{key:\"equals\",value:function(t){if(!(t instanceof e))return!1;var n=t;return this.p0.equals(n.p0)&&this.p1.equals(n.p1)}},{key:\"intersection\",value:function(t){var e=new Oe;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}},{key:\"project\",value:function(){if(arguments[0]instanceof X){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new X(t);var n=this.projectionFactor(t),i=new X;return i.x=this.p0.x+n*(this.p1.x-this.p0.x),i.y=this.p0.y+n*(this.p1.y-this.p0.y),i}if(arguments[0]instanceof e){var r=arguments[0],s=this.projectionFactor(r.p0),a=this.projectionFactor(r.p1);if(s>=1&&a>=1)return null;if(s<=0&&a<=0)return null;var o=this.project(r.p0);s<0&&(o=this.p0),s>1&&(o=this.p1);var u=this.project(r.p1);return a<0&&(u=this.p0),a>1&&(u=this.p1),new e(o,u)}}},{key:\"normalize\",value:function(){this.p1.compareTo(this.p0)<0&&this.reverse()}},{key:\"angle\",value:function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}},{key:\"getCoordinate\",value:function(t){return 0===t?this.p0:this.p1}},{key:\"distancePerpendicular\",value:function(t){return xt.pointToLinePerpendicular(t,this.p0,this.p1)}},{key:\"minY\",value:function(){return Math.min(this.p0.y,this.p1.y)}},{key:\"midPoint\",value:function(){return e.midPoint(this.p0,this.p1)}},{key:\"projectionFactor\",value:function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,i=e*e+n*n;return i<=0?A.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*n)/i}},{key:\"closestPoints\",value:function(t){var e=this.intersection(t);if(null!==e)return[e,e];var n=new Array(2).fill(null),i=A.MAX_VALUE,r=null,s=this.closestPoint(t.p0);i=s.distance(t.p0),n[0]=s,n[1]=t.p0;var a=this.closestPoint(t.p1);(r=a.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||A.isNaN(e))&&(e=1),e}},{key:\"toString\",value:function(){return\"LINESTRING( \"+this.p0.x+\" \"+this.p0.y+\", \"+this.p1.x+\" \"+this.p1.y+\")\"}},{key:\"isHorizontal\",value:function(){return this.p0.y===this.p1.y}},{key:\"reflect\",value:function(t){var e=this.p1.getY()-this.p0.getY(),n=this.p0.getX()-this.p1.getX(),i=this.p0.getY()*(this.p1.getX()-this.p0.getX())-this.p0.getX()*(this.p1.getY()-this.p0.getY()),r=e*e+n*n,s=e*e-n*n,a=t.getX(),o=t.getY();return new X((-s*a-2*e*n*o-2*e*i)/r,(s*o-2*e*n*a-2*n*i)/r)}},{key:\"distance\",value:function(){if(arguments[0]instanceof e){var t=arguments[0];return xt.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof X){var n=arguments[0];return xt.pointToSegment(n,this.p0,this.p1)}}},{key:\"pointAlong\",value:function(t){var e=new X;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}},{key:\"hashCode\",value:function(){var t=A.doubleToLongBits(this.p0.x);t^=31*A.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),n=A.doubleToLongBits(this.p1.x);return n^=31*A.doubleToLongBits(this.p1.y),e^(Math.trunc(n)^Math.trunc(n>>32))}},{key:\"interfaces_\",get:function(){return[x,E]}}],[{key:\"constructor_\",value:function(){if(this.p0=null,this.p1=null,0===arguments.length)e.constructor_.call(this,new X,new X);else if(1===arguments.length){var t=arguments[0];e.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.p0=n,this.p1=i}else if(4===arguments.length){var r=arguments[0],s=arguments[1],a=arguments[2],o=arguments[3];e.constructor_.call(this,new X(r,s),new X(a,o))}}},{key:\"midPoint\",value:function(t,e){return new X((t.x+e.x)/2,(t.y+e.y)/2)}}]),e}(),Nn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"overlap\",value:function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];t.getLineSegment(e,this._overlapSeg1),n.getLineSegment(i,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}}}],[{key:\"constructor_\",value:function(){this._overlapSeg1=new En,this._overlapSeg2=new En}}]),e}(),Tn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getLineSegment\",value:function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]}},{key:\"computeSelect\",value:function(t,e,n,i){var r=this._pts[e],s=this._pts[n];if(n-e==1)return i.select(this,e),null;if(!t.intersects(r,s))return null;var a=Math.trunc((e+n)/2);e=t.length-1)return t.length-1;for(var i=We.quadrant(t[n],t[n+1]),r=e+1;rn.getId()&&(n.computeOverlaps(r,t),this._nOverlaps++),this._segInt.isDone())return null}}}],[{key:\"constructor_\",value:function(){if(this._monoChains=new yt,this._index=new vn,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0,0===arguments.length);else if(1===arguments.length){var t=arguments[0];Cn.constructor_.call(this,t)}}}]),s}(Cn),wn=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"overlap\",value:function(){if(4!==arguments.length)return f(r(a.prototype),\"overlap\",this).apply(this,arguments);var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3],s=t.getContext(),o=n.getContext();this._si.processIntersections(s,e,o,i)}}],[{key:\"constructor_\",value:function(){this._si=null;var t=arguments[0];this._si=t}}]),a}(Nn);Rn.SegmentOverlapAction=wn;var On=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"isDeletable\",value:function(t,e,n,i){var r=this._inputLine[t],s=this._inputLine[e],a=this._inputLine[n];return!!this.isConcave(r,s,a)&&(!!this.isShallow(r,s,a,i)&&this.isShallowSampled(r,s,t,n,i))}},{key:\"deleteShallowConcavities\",value:function(){for(var t=1,n=this.findNextNonDeletedIndex(t),i=this.findNextNonDeletedIndex(n),r=!1;i=0;i--)this.addPt(t[i])}},{key:\"isRedundant\",value:function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)Math.PI;)t-=e.PI_TIMES_2;for(;t<=-Math.PI;)t+=e.PI_TIMES_2;return t}},{key:\"angle\",value:function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],n=arguments[1],i=n.x-e.x,r=n.y-e.y;return Math.atan2(r,i)}}},{key:\"isAcute\",value:function(t,e,n){var i=t.x-e.x,r=t.y-e.y;return i*(n.x-e.x)+r*(n.y-e.y)>0}},{key:\"isObtuse\",value:function(t,e,n){var i=t.x-e.x,r=t.y-e.y;return i*(n.x-e.x)+r*(n.y-e.y)<0}},{key:\"interiorAngle\",value:function(t,n,i){var r=e.angle(n,t),s=e.angle(n,i);return Math.abs(s-r)}},{key:\"normalizePositive\",value:function(t){if(t<0){for(;t<0;)t+=e.PI_TIMES_2;t>=e.PI_TIMES_2&&(t=0)}else{for(;t>=e.PI_TIMES_2;)t-=e.PI_TIMES_2;t<0&&(t=0)}return t}},{key:\"angleBetween\",value:function(t,n,i){var r=e.angle(n,t),s=e.angle(n,i);return e.diff(r,s)}},{key:\"diff\",value:function(t,e){var n=null;return(n=tMath.PI&&(n=2*Math.PI-n),n}},{key:\"toRadians\",value:function(t){return t*Math.PI/180}},{key:\"getTurn\",value:function(t,n){var i=Math.sin(n-t);return i>0?e.COUNTERCLOCKWISE:i<0?e.CLOCKWISE:e.NONE}},{key:\"angleBetweenOriented\",value:function(t,n,i){var r=e.angle(n,t),s=e.angle(n,i)-r;return s<=-Math.PI?s+e.PI_TIMES_2:s>Math.PI?s-e.PI_TIMES_2:s}}]),e}();Mn.PI_TIMES_2=2*Math.PI,Mn.PI_OVER_2=Math.PI/2,Mn.PI_OVER_4=Math.PI/4,Mn.COUNTERCLOCKWISE=ct.COUNTERCLOCKWISE,Mn.CLOCKWISE=ct.CLOCKWISE,Mn.NONE=ct.COLLINEAR;var An=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"addNextSegment\",value:function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=ct.index(this._s0,this._s1,this._s2),i=n===ct.CLOCKWISE&&this._side===$.LEFT||n===ct.COUNTERCLOCKWISE&&this._side===$.RIGHT;0===n?this.addCollinear(e):i?this.addOutsideTurn(n,e):this.addInsideTurn(n,e)}},{key:\"addLineEndCap\",value:function(t,e){var n=new En(t,e),i=new En;this.computeOffsetSegment(n,$.LEFT,this._distance,i);var r=new En;this.computeOffsetSegment(n,$.RIGHT,this._distance,r);var s=e.x-t.x,a=e.y-t.y,o=Math.atan2(a,s);switch(this._bufParams.getEndCapStyle()){case _.CAP_ROUND:this._segList.addPt(i.p1),this.addDirectedFillet(e,o+Math.PI/2,o-Math.PI/2,ct.CLOCKWISE,this._distance),this._segList.addPt(r.p1);break;case _.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(r.p1);break;case _.CAP_SQUARE:var u=new X;u.x=Math.abs(this._distance)*Math.cos(o),u.y=Math.abs(this._distance)*Math.sin(o);var l=new X(i.p1.x+u.x,i.p1.y+u.y),h=new X(r.p1.x+u.x,r.p1.y+u.y);this._segList.addPt(l),this._segList.addPt(h)}}},{key:\"getCoordinates\",value:function(){return this._segList.getCoordinates()}},{key:\"addMitreJoin\",value:function(t,e,n,i){var r=pt.intersection(e.p0,e.p1,n.p0,n.p1);if(null!==r&&(i<=0?1:r.distance(t)/Math.abs(i))<=this._bufParams.getMitreLimit())return this._segList.addPt(r),null;this.addLimitedMitreJoin(e,n,i,this._bufParams.getMitreLimit())}},{key:\"addOutsideTurn\",value:function(t,n){if(this._offset0.p1.distance(this._offset1.p0)=h&&(o-=2*Math.PI),this._segList.addPt(e),this.addDirectedFillet(t,o,h,i,r),this._segList.addPt(n)}},{key:\"addLastSegment\",value:function(){this._segList.addPt(this._offset1.p1)}},{key:\"initSideSegments\",value:function(t,e,n){this._s1=t,this._s2=e,this._side=n,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,n,this._distance,this._offset1)}},{key:\"addLimitedMitreJoin\",value:function(t,e,n,i){var r=this._seg0.p1,s=Mn.angle(r,this._seg0.p0),a=Mn.angleBetweenOriented(this._seg0.p0,r,this._seg1.p1)/2,o=Mn.normalize(s+a),u=Mn.normalize(o+Math.PI),l=i*n,h=n-l*Math.abs(Math.sin(a)),c=r.x+l*Math.cos(u),f=r.y+l*Math.sin(u),v=new X(c,f),g=new En(r,v),y=g.pointAlongOffset(1,h),d=g.pointAlongOffset(1,-h);this._side===$.LEFT?(this._segList.addPt(y),this._segList.addPt(d)):(this._segList.addPt(d),this._segList.addPt(y))}},{key:\"addDirectedFillet\",value:function(t,e,n,i,r){var s=i===ct.CLOCKWISE?-1:1,a=Math.abs(e-n),o=Math.trunc(a/this._filletAngleQuantum+.5);if(o<1)return null;for(var u=a/o,l=new X,h=0;h0){var i=new X((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i);var r=new X((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}}},{key:\"createCircle\",value:function(t){var e=new X(t.x+this._distance,t.y);this._segList.addPt(e),this.addDirectedFillet(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()}},{key:\"addBevelJoin\",value:function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)}},{key:\"init\",value:function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new bn,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*e.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)}},{key:\"addCollinear\",value:function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===_.JOIN_BEVEL||this._bufParams.getJoinStyle()===_.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addCornerFillet(this._s1,this._offset0.p1,this._offset1.p0,ct.CLOCKWISE,this._distance))}},{key:\"closeRing\",value:function(){this._segList.closeRing()}},{key:\"hasNarrowConcaveAngle\",value:function(){return this._hasNarrowConcaveAngle}}],[{key:\"constructor_\",value:function(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new En,this._seg1=new En,this._offset0=new En,this._offset1=new En,this._side=0,this._hasNarrowConcaveAngle=!1;var t=arguments[0],n=arguments[1],i=arguments[2];this._precisionModel=t,this._bufParams=n,this._li=new Oe,this._filletAngleQuantum=Math.PI/2/n.getQuadrantSegments(),n.getQuadrantSegments()>=8&&n.getJoinStyle()===_.JOIN_ROUND&&(this._closingSegLengthFactor=e.MAX_CLOSING_SEG_LEN_FACTOR),this.init(i)}}]),e}();An.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,An.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,An.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,An.MAX_CLOSING_SEG_LEN_FACTOR=80;var Pn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getOffsetCurve\",value:function(t,e){if(this._distance=e,0===e)return null;var n=e<0,i=Math.abs(e),r=this.getSegGen(i);t.length<=1?this.computePointCurve(t[0],r):this.computeOffsetCurve(t,n,r);var s=r.getCoordinates();return n&&jt.reverse(s),s}},{key:\"computeSingleSidedBufferCurve\",value:function(t,e,n){var i=this.simplifyTolerance(this._distance);if(e){n.addSegments(t,!0);var r=On.simplify(t,-i),s=r.length-1;n.initSideSegments(r[s],r[s-1],$.LEFT),n.addFirstSegment();for(var a=s-2;a>=0;a--)n.addNextSegment(r[a],!0)}else{n.addSegments(t,!1);var o=On.simplify(t,i),u=o.length-1;n.initSideSegments(o[0],o[1],$.LEFT),n.addFirstSegment();for(var l=2;l<=u;l++)n.addNextSegment(o[l],!0)}n.addLastSegment(),n.closeRing()}},{key:\"computeRingBufferCurve\",value:function(t,e,n){var i=this.simplifyTolerance(this._distance);e===$.RIGHT&&(i=-i);var r=On.simplify(t,i),s=r.length-1;n.initSideSegments(r[s-1],r[0],e);for(var a=1;a<=s;a++){var o=1!==a;n.addNextSegment(r[a],o)}n.closeRing()}},{key:\"computeLineBufferCurve\",value:function(t,e){var n=this.simplifyTolerance(this._distance),i=On.simplify(t,n),r=i.length-1;e.initSideSegments(i[0],i[1],$.LEFT);for(var s=2;s<=r;s++)e.addNextSegment(i[s],!0);e.addLastSegment(),e.addLineEndCap(i[r-1],i[r]);var a=On.simplify(t,-n),o=a.length-1;e.initSideSegments(a[o],a[o-1],$.LEFT);for(var u=o-2;u>=0;u--)e.addNextSegment(a[u],!0);e.addLastSegment(),e.addLineEndCap(a[1],a[0]),e.closeRing()}},{key:\"computePointCurve\",value:function(t,e){switch(this._bufParams.getEndCapStyle()){case _.CAP_ROUND:e.createCircle(t);break;case _.CAP_SQUARE:e.createSquare(t)}}},{key:\"getLineCurve\",value:function(t,e){if(this._distance=e,this.isLineOffsetEmpty(e))return null;var n=Math.abs(e),i=this.getSegGen(n);if(t.length<=1)this.computePointCurve(t[0],i);else if(this._bufParams.isSingleSided()){var r=e<0;this.computeSingleSidedBufferCurve(t,r,i)}else this.computeLineBufferCurve(t,i);return i.getCoordinates()}},{key:\"getBufferParameters\",value:function(){return this._bufParams}},{key:\"simplifyTolerance\",value:function(t){return t*this._bufParams.getSimplifyFactor()}},{key:\"getRingCurve\",value:function(t,n,i){if(this._distance=i,t.length<=2)return this.getLineCurve(t,i);if(0===i)return e.copyCoordinates(t);var r=this.getSegGen(i);return this.computeRingBufferCurve(t,n,r),r.getCoordinates()}},{key:\"computeOffsetCurve\",value:function(t,e,n){var i=this.simplifyTolerance(this._distance);if(e){var r=On.simplify(t,-i),s=r.length-1;n.initSideSegments(r[s],r[s-1],$.LEFT),n.addFirstSegment();for(var a=s-2;a>=0;a--)n.addNextSegment(r[a],!0)}else{var o=On.simplify(t,i),u=o.length-1;n.initSideSegments(o[0],o[1],$.LEFT),n.addFirstSegment();for(var l=2;l<=u;l++)n.addNextSegment(o[l],!0)}n.addLastSegment()}},{key:\"isLineOffsetEmpty\",value:function(t){return 0===t||t<0&&!this._bufParams.isSingleSided()}},{key:\"getSegGen\",value:function(t){return new An(this._precisionModel,this._bufParams,t)}}],[{key:\"constructor_\",value:function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e}},{key:\"copyCoordinates\",value:function(t){for(var e=new Array(t.length).fill(null),n=0;nr.getMaxY()||this.findStabbedSegments(t,i.getDirectedEdges(),e)}return e}if(3===arguments.length)if(rt(arguments[2],nt)&&arguments[0]instanceof X&&arguments[1]instanceof Je)for(var s=arguments[0],a=arguments[1],o=arguments[2],u=a.getEdge().getCoordinates(),l=0;lthis._seg.p1.y&&this._seg.reverse();var h=Math.max(this._seg.p0.x,this._seg.p1.x);if(!(hthis._seg.p1.y||ct.index(this._seg.p0,this._seg.p1,s)===ct.RIGHT)){var c=a.getDepth($.LEFT);this._seg.p0.equals(u[l])||(c=a.getDepth($.RIGHT));var f=new Fn(this._seg,c);o.add(f)}}else if(rt(arguments[2],nt)&&arguments[0]instanceof X&&rt(arguments[1],nt))for(var v=arguments[0],g=arguments[1],y=arguments[2],d=g.iterator();d.hasNext();){var _=d.next();_.isForward()&&this.findStabbedSegments(v,_,y)}}},{key:\"getDepth\",value:function(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:on.min(e)._leftDepth}}],[{key:\"constructor_\",value:function(){this._subgraphs=null,this._seg=new En;var t=arguments[0];this._subgraphs=t}}]),e}(),Fn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"compareTo\",value:function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==n||0!==(n=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?n:this._upwardSeg.compareTo(e._upwardSeg)}},{key:\"compareX\",value:function(t,e){var n=t.p0.compareTo(e.p0);return 0!==n?n:t.p1.compareTo(e.p1)}},{key:\"toString\",value:function(){return this._upwardSeg.toString()}},{key:\"interfaces_\",get:function(){return[x]}}],[{key:\"constructor_\",value:function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new En(t),this._leftDepth=e}}]),e}();Dn.DepthSegment=Fn;var Gn=function(e){i(s,e);var r=c(s);function s(){var e;return t(this,s),e=r.call(this),s.constructor_.apply(l(e),arguments),e}return n(s,null,[{key:\"constructor_\",value:function(){p.constructor_.call(this,\"Projective point not representable on the Cartesian plane.\")}}]),s}(p),qn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"getY\",value:function(){var t=this.y/this.w;if(A.isNaN(t)||A.isInfinite(t))throw new Gn;return t}},{key:\"getX\",value:function(){var t=this.x/this.w;if(A.isNaN(t)||A.isInfinite(t))throw new Gn;return t}},{key:\"getCoordinate\",value:function(){var t=new X;return t.x=this.getX(),t.y=this.getY(),t}}],[{key:\"constructor_\",value:function(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){var t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var n=arguments[0],i=arguments[1];this.x=n,this.y=i,this.w=1}else if(arguments[0]instanceof e&&arguments[1]instanceof e){var r=arguments[0],s=arguments[1];this.x=r.y*s.w-s.y*r.w,this.y=s.x*r.w-r.x*s.w,this.w=r.x*s.y-s.x*r.y}else if(arguments[0]instanceof X&&arguments[1]instanceof X){var a=arguments[0],o=arguments[1];this.x=a.y-o.y,this.y=o.x-a.x,this.w=a.x*o.y-o.x*a.y}}else if(3===arguments.length){var u=arguments[0],l=arguments[1],h=arguments[2];this.x=u,this.y=l,this.w=h}else if(4===arguments.length){var c=arguments[0],f=arguments[1],v=arguments[2],g=arguments[3],y=c.y-f.y,d=f.x-c.x,_=c.x*f.y-f.x*c.y,p=v.y-g.y,m=g.x-v.x,k=v.x*g.y-g.x*v.y;this.x=d*k-m*_,this.y=p*_-y*k,this.w=y*m-p*d}}}]),e}(),Yn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"area\",value:function(){return e.area(this.p0,this.p1,this.p2)}},{key:\"signedArea\",value:function(){return e.signedArea(this.p0,this.p1,this.p2)}},{key:\"interpolateZ\",value:function(t){if(null===t)throw new m(\"Supplied point is null.\");return e.interpolateZ(t,this.p0,this.p1,this.p2)}},{key:\"longestSideLength\",value:function(){return e.longestSideLength(this.p0,this.p1,this.p2)}},{key:\"isAcute\",value:function(){return e.isAcute(this.p0,this.p1,this.p2)}},{key:\"circumcentre\",value:function(){return e.circumcentre(this.p0,this.p1,this.p2)}},{key:\"area3D\",value:function(){return e.area3D(this.p0,this.p1,this.p2)}},{key:\"centroid\",value:function(){return e.centroid(this.p0,this.p1,this.p2)}},{key:\"inCentre\",value:function(){return e.inCentre(this.p0,this.p1,this.p2)}}],[{key:\"constructor_\",value:function(){this.p0=null,this.p1=null,this.p2=null;var t=arguments[0],e=arguments[1],n=arguments[2];this.p0=t,this.p1=e,this.p2=n}},{key:\"area\",value:function(t,e,n){return Math.abs(((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2)}},{key:\"signedArea\",value:function(t,e,n){return((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2}},{key:\"det\",value:function(t,e,n,i){return t*i-e*n}},{key:\"interpolateZ\",value:function(t,e,n,i){var r=e.x,s=e.y,a=n.x-r,o=i.x-r,u=n.y-s,l=i.y-s,h=a*l-o*u,c=t.x-r,f=t.y-s,v=(l*c-o*f)/h,g=(-u*c+a*f)/h;return e.getZ()+v*(n.getZ()-e.getZ())+g*(i.getZ()-e.getZ())}},{key:\"longestSideLength\",value:function(t,e,n){var i=t.distance(e),r=e.distance(n),s=n.distance(t),a=i;return r>a&&(a=r),s>a&&(a=s),a}},{key:\"circumcentreDD\",value:function(t,e,n){var i=ut.valueOf(t.x).subtract(n.x),r=ut.valueOf(t.y).subtract(n.y),s=ut.valueOf(e.x).subtract(n.x),a=ut.valueOf(e.y).subtract(n.y),o=ut.determinant(i,r,s,a).multiply(2),u=i.sqr().add(r.sqr()),l=s.sqr().add(a.sqr()),h=ut.determinant(r,u,a,l),c=ut.determinant(i,u,s,l),f=ut.valueOf(n.x).subtract(h.divide(o)).doubleValue(),v=ut.valueOf(n.y).add(c.divide(o)).doubleValue();return new X(f,v)}},{key:\"isAcute\",value:function(t,e,n){return!!Mn.isAcute(t,e,n)&&(!!Mn.isAcute(e,n,t)&&!!Mn.isAcute(n,t,e))}},{key:\"circumcentre\",value:function(t,n,i){var r=i.x,s=i.y,a=t.x-r,o=t.y-s,u=n.x-r,l=n.y-s,h=2*e.det(a,o,u,l),c=e.det(o,a*a+o*o,l,u*u+l*l),f=e.det(a,a*a+o*o,u,u*u+l*l);return new X(r-c/h,s+f/h)}},{key:\"perpendicularBisector\",value:function(t,e){var n=e.x-t.x,i=e.y-t.y,r=new qn(t.x+n/2,t.y+i/2,1),s=new qn(t.x-i+n/2,t.y+n+i/2,1);return new qn(r,s)}},{key:\"angleBisector\",value:function(t,e,n){var i=e.distance(t),r=i/(i+e.distance(n)),s=n.x-t.x,a=n.y-t.y;return new X(t.x+r*s,t.y+r*a)}},{key:\"area3D\",value:function(t,e,n){var i=e.x-t.x,r=e.y-t.y,s=e.getZ()-t.getZ(),a=n.x-t.x,o=n.y-t.y,u=n.getZ()-t.getZ(),l=r*u-s*o,h=s*a-i*u,c=i*o-r*a,f=l*l+h*h+c*c,v=Math.sqrt(f)/2;return v}},{key:\"centroid\",value:function(t,e,n){var i=(t.x+e.x+n.x)/3,r=(t.y+e.y+n.y)/3;return new X(i,r)}},{key:\"inCentre\",value:function(t,e,n){var i=e.distance(n),r=t.distance(n),s=t.distance(e),a=i+r+s,o=(i*t.x+r*e.x+s*n.x)/a,u=(i*t.y+r*e.y+s*n.y)/a;return new X(o,u)}}]),e}(),zn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"addRingSide\",value:function(t,e,n,i,r){if(0===e&&t.length=Xt.MINIMUM_VALID_SIZE&&ct.isCCW(t)&&(s=r,a=i,n=$.opposite(n));var o=this._curveBuilder.getRingCurve(t,n,e);this.addCurve(o,s,a)}},{key:\"addRingBothSides\",value:function(t,e){this.addRingSide(t,e,$.LEFT,H.EXTERIOR,H.INTERIOR),this.addRingSide(t,e,$.RIGHT,H.INTERIOR,H.EXTERIOR)}},{key:\"addPoint\",value:function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),n=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(n,H.EXTERIOR,H.INTERIOR)}},{key:\"addPolygon\",value:function(t){var e=this._distance,n=$.LEFT;this._distance<0&&(e=-this._distance,n=$.RIGHT);var i=t.getExteriorRing(),r=jt.removeRepeatedPoints(i.getCoordinates());if(this._distance<0&&this.isErodedCompletely(i,this._distance))return null;if(this._distance<=0&&r.length<3)return null;this.addRingSide(r,e,n,H.EXTERIOR,H.INTERIOR);for(var s=0;s0&&this.isErodedCompletely(a,-this._distance)||this.addRingSide(o,e,$.opposite(n),H.INTERIOR,H.EXTERIOR)}}},{key:\"isTriangleErodedCompletely\",value:function(t,e){var n=new Yn(t[0],t[1],t[2]),i=n.inCentre();return xt.pointToSegment(i,n.p0,n.p1)r}},{key:\"addCollection\",value:function(t){for(var e=0;e=this._max)throw new j;var t=this._parent.getGeometryN(this._index++);return t instanceof Yt?(this._subcollectionIterator=new e(t),this._subcollectionIterator.next()):t}},{key:\"remove\",value:function(){throw new W(this.getClass().getName())}},{key:\"hasNext\",value:function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}},{key:\"interfaces_\",get:function(){return[_n]}}],[{key:\"constructor_\",value:function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()}},{key:\"isAtomic\",value:function(t){return!(t instanceof Yt)}}]),e}(),Un=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"locate\",value:function(t){return e.locate(t,this._geom)}},{key:\"interfaces_\",get:function(){return[Xn]}}],[{key:\"constructor_\",value:function(){this._geom=null;var t=arguments[0];this._geom=t}},{key:\"locatePointInPolygon\",value:function(t,n){if(n.isEmpty())return H.EXTERIOR;var i=n.getExteriorRing(),r=e.locatePointInRing(t,i);if(r!==H.INTERIOR)return r;for(var s=0;s=0;n--){var i=this._edgeList.get(n),r=i.getSym();null===e&&(e=r),null!==t&&r.setNext(t),t=i}e.setNext(t)}},{key:\"computeDepths\",value:function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),n=t.getDepth($.LEFT),i=t.getDepth($.RIGHT),r=this.computeDepths(e+1,this._edgeList.size(),n),s=this.computeDepths(0,e,r);if(s!==i)throw new vt(\"depth mismatch at \"+t.getCoordinate())}else if(3===arguments.length){for(var a=arguments[0],o=arguments[1],u=arguments[2],l=u,h=a;h=0;r--){var s=this._resultAreaEdgeList.get(r),a=s.getSym();switch(null===e&&s.getEdgeRing()===t&&(e=s),i){case this._SCANNING_FOR_INCOMING:if(a.getEdgeRing()!==t)continue;n=a,i=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(s.getEdgeRing()!==t)continue;n.setNextMin(s),i=this._SCANNING_FOR_INCOMING}}i===this._LINKING_TO_OUTGOING&&(G.isTrue(null!==e,\"found null for first outgoing dirEdge\"),G.isTrue(e.getEdgeRing()===t,\"unable to link last incoming dirEdge\"),n.setNextMin(e))}},{key:\"getOutgoingDegree\",value:function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();){var n=e.next();n.isInResult()&&t++}return t}if(1===arguments.length){for(var i=arguments[0],r=0,s=this.iterator();s.hasNext();){var a=s.next();a.getEdgeRing()===i&&r++}return r}}},{key:\"getLabel\",value:function(){return this._label}},{key:\"findCoveredLineEdges\",value:function(){for(var t=H.NONE,e=this.iterator();e.hasNext();){var n=e.next(),i=n.getSym();if(!n.isLineEdge()){if(n.isInResult()){t=H.INTERIOR;break}if(i.isInResult()){t=H.EXTERIOR;break}}}if(t===H.NONE)return null;for(var r=t,s=this.iterator();s.hasNext();){var a=s.next(),o=a.getSym();a.isLineEdge()?a.getEdge().setCovered(r===H.INTERIOR):(a.isInResult()&&(r=H.EXTERIOR),o.isInResult()&&(r=H.INTERIOR))}}},{key:\"computeLabelling\",value:function(t){f(r(a.prototype),\"computeLabelling\",this).call(this,t),this._label=new Pe(H.NONE);for(var e=this.iterator();e.hasNext();)for(var n=e.next().getEdge().getLabel(),i=0;i<2;i++){var s=n.getLocation(i);s!==H.INTERIOR&&s!==H.BOUNDARY||this._label.setLocation(i,H.INTERIOR)}}}],[{key:\"constructor_\",value:function(){this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}}]),a}(Vn),Zn=function(e){i(s,e);var r=c(s);function s(){return t(this,s),r.call(this)}return n(s,[{key:\"createNode\",value:function(t){return new Ye(t,new Hn)}}]),s}(Qe),jn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"compareTo\",value:function(t){var n=t;return e.compareOriented(this._pts,this._orientation,n._pts,n._orientation)}},{key:\"interfaces_\",get:function(){return[x]}}],[{key:\"constructor_\",value:function(){this._pts=null,this._orientation=null;var t=arguments[0];this._pts=t,this._orientation=e.orientation(t)}},{key:\"orientation\",value:function(t){return 1===jt.increasingDirection(t)}},{key:\"compareOriented\",value:function(t,e,n,i){for(var r=e?1:-1,s=i?1:-1,a=e?t.length:-1,o=i?n.length:-1,u=e?0:t.length-1,l=i?0:n.length-1;;){var h=t[u].compareTo(n[l]);if(0!==h)return h;var c=(u+=r)===a,f=(l+=s)===o;if(c&&!f)return-1;if(!c&&f)return 1;if(c&&f)return 0}}}]),e}(),Wn=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"print\",value:function(t){t.print(\"MULTILINESTRING ( \");for(var e=0;e0&&t.print(\",\"),t.print(\"(\");for(var i=n.getCoordinates(),r=0;r0&&t.print(\",\"),t.print(i[r].x+\" \"+i[r].y);t.println(\")\")}t.print(\") \")}},{key:\"addAll\",value:function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())}},{key:\"findEdgeIndex\",value:function(t){for(var e=0;et?1:this.diste?1:0}},{key:\"interfaces_\",get:function(){return[x]}}],[{key:\"constructor_\",value:function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],n=arguments[2];this.coord=new X(t),this.segmentIndex=e,this.dist=n}}]),e}(),$n=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"print\",value:function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){e.next().print(t)}}},{key:\"iterator\",value:function(){return this._nodeMap.values().iterator()}},{key:\"addSplitEdges\",value:function(t){this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var i=e.next(),r=this.createSplitEdge(n,i);t.add(r),n=i}}},{key:\"addEndpoints\",value:function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)}},{key:\"createSplitEdge\",value:function(t,e){var n=e.segmentIndex-t.segmentIndex+2,i=this.edge.pts[e.segmentIndex],r=e.dist>0||!e.coord.equals2D(i);r||n--;var s=new Array(n).fill(null),a=0;s[a++]=new X(t.coord);for(var o=t.segmentIndex+1;o<=e.segmentIndex;o++)s[a++]=this.edge.pts[o];return r&&(s[a]=e.coord),new si(s,new Pe(this.edge._label))}},{key:\"add\",value:function(t,e,n){var i=new Qn(t,e,n),r=this._nodeMap.get(i);return null!==r?r:(this._nodeMap.put(i,i),i)}},{key:\"isIntersection\",value:function(t){for(var e=this.iterator();e.hasNext();){if(e.next().coord.equals(t))return!0}return!1}}],[{key:\"constructor_\",value:function(){this._nodeMap=new Ze,this.edge=null;var t=arguments[0];this.edge=t}}]),e}(),ti=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"isIntersects\",value:function(){return!this.isDisjoint()}},{key:\"isCovers\",value:function(){return(e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])||e.isTrue(this._matrix[H.INTERIOR][H.BOUNDARY])||e.isTrue(this._matrix[H.BOUNDARY][H.INTERIOR])||e.isTrue(this._matrix[H.BOUNDARY][H.BOUNDARY]))&&this._matrix[H.EXTERIOR][H.INTERIOR]===Lt.FALSE&&this._matrix[H.EXTERIOR][H.BOUNDARY]===Lt.FALSE}},{key:\"isCoveredBy\",value:function(){return(e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])||e.isTrue(this._matrix[H.INTERIOR][H.BOUNDARY])||e.isTrue(this._matrix[H.BOUNDARY][H.INTERIOR])||e.isTrue(this._matrix[H.BOUNDARY][H.BOUNDARY]))&&this._matrix[H.INTERIOR][H.EXTERIOR]===Lt.FALSE&&this._matrix[H.BOUNDARY][H.EXTERIOR]===Lt.FALSE}},{key:\"set\",value:function(){if(1===arguments.length)for(var t=arguments[0],e=0;e=0&&e>=0&&this.setAtLeast(t,e,n)}},{key:\"isWithin\",value:function(){return e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])&&this._matrix[H.INTERIOR][H.EXTERIOR]===Lt.FALSE&&this._matrix[H.BOUNDARY][H.EXTERIOR]===Lt.FALSE}},{key:\"isTouches\",value:function(t,n){return t>n?this.isTouches(n,t):(t===Lt.A&&n===Lt.A||t===Lt.L&&n===Lt.L||t===Lt.L&&n===Lt.A||t===Lt.P&&n===Lt.A||t===Lt.P&&n===Lt.L)&&(this._matrix[H.INTERIOR][H.INTERIOR]===Lt.FALSE&&(e.isTrue(this._matrix[H.INTERIOR][H.BOUNDARY])||e.isTrue(this._matrix[H.BOUNDARY][H.INTERIOR])||e.isTrue(this._matrix[H.BOUNDARY][H.BOUNDARY])))}},{key:\"isOverlaps\",value:function(t,n){return t===Lt.P&&n===Lt.P||t===Lt.A&&n===Lt.A?e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])&&e.isTrue(this._matrix[H.INTERIOR][H.EXTERIOR])&&e.isTrue(this._matrix[H.EXTERIOR][H.INTERIOR]):t===Lt.L&&n===Lt.L&&(1===this._matrix[H.INTERIOR][H.INTERIOR]&&e.isTrue(this._matrix[H.INTERIOR][H.EXTERIOR])&&e.isTrue(this._matrix[H.EXTERIOR][H.INTERIOR]))}},{key:\"isEquals\",value:function(t,n){return t===n&&(e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])&&this._matrix[H.INTERIOR][H.EXTERIOR]===Lt.FALSE&&this._matrix[H.BOUNDARY][H.EXTERIOR]===Lt.FALSE&&this._matrix[H.EXTERIOR][H.INTERIOR]===Lt.FALSE&&this._matrix[H.EXTERIOR][H.BOUNDARY]===Lt.FALSE)}},{key:\"toString\",value:function(){for(var t=new Jt(\"123456789\"),e=0;e<3;e++)for(var n=0;n<3;n++)t.setCharAt(3*e+n,Lt.toDimensionSymbol(this._matrix[e][n]));return t.toString()}},{key:\"setAll\",value:function(t){for(var e=0;e<3;e++)for(var n=0;n<3;n++)this._matrix[e][n]=t}},{key:\"get\",value:function(t,e){return this._matrix[t][e]}},{key:\"transpose\",value:function(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}},{key:\"matches\",value:function(t){if(9!==t.length)throw new m(\"Should be length 9: \"+t);for(var n=0;n<3;n++)for(var i=0;i<3;i++)if(!e.matches(this._matrix[n][i],t.charAt(3*n+i)))return!1;return!0}},{key:\"add\",value:function(t){for(var e=0;e<3;e++)for(var n=0;n<3;n++)this.setAtLeast(e,n,t.get(e,n))}},{key:\"isDisjoint\",value:function(){return this._matrix[H.INTERIOR][H.INTERIOR]===Lt.FALSE&&this._matrix[H.INTERIOR][H.BOUNDARY]===Lt.FALSE&&this._matrix[H.BOUNDARY][H.INTERIOR]===Lt.FALSE&&this._matrix[H.BOUNDARY][H.BOUNDARY]===Lt.FALSE}},{key:\"isCrosses\",value:function(t,n){return t===Lt.P&&n===Lt.L||t===Lt.P&&n===Lt.A||t===Lt.L&&n===Lt.A?e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])&&e.isTrue(this._matrix[H.INTERIOR][H.EXTERIOR]):t===Lt.L&&n===Lt.P||t===Lt.A&&n===Lt.P||t===Lt.A&&n===Lt.L?e.isTrue(this._matrix[H.INTERIOR][H.INTERIOR])&&e.isTrue(this._matrix[H.EXTERIOR][H.INTERIOR]):t===Lt.L&&n===Lt.L&&0===this._matrix[H.INTERIOR][H.INTERIOR]}},{key:\"interfaces_\",get:function(){return[I]}}],[{key:\"constructor_\",value:function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map((function(){return Array(3)})),this.setAll(Lt.FALSE);else if(1===arguments.length)if(\"string\"==typeof arguments[0]){var t=arguments[0];e.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof e){var n=arguments[0];e.constructor_.call(this),this._matrix[H.INTERIOR][H.INTERIOR]=n._matrix[H.INTERIOR][H.INTERIOR],this._matrix[H.INTERIOR][H.BOUNDARY]=n._matrix[H.INTERIOR][H.BOUNDARY],this._matrix[H.INTERIOR][H.EXTERIOR]=n._matrix[H.INTERIOR][H.EXTERIOR],this._matrix[H.BOUNDARY][H.INTERIOR]=n._matrix[H.BOUNDARY][H.INTERIOR],this._matrix[H.BOUNDARY][H.BOUNDARY]=n._matrix[H.BOUNDARY][H.BOUNDARY],this._matrix[H.BOUNDARY][H.EXTERIOR]=n._matrix[H.BOUNDARY][H.EXTERIOR],this._matrix[H.EXTERIOR][H.INTERIOR]=n._matrix[H.EXTERIOR][H.INTERIOR],this._matrix[H.EXTERIOR][H.BOUNDARY]=n._matrix[H.EXTERIOR][H.BOUNDARY],this._matrix[H.EXTERIOR][H.EXTERIOR]=n._matrix[H.EXTERIOR][H.EXTERIOR]}}},{key:\"matches\",value:function(){if(Number.isInteger(arguments[0])&&\"string\"==typeof arguments[1]){var t=arguments[0],n=arguments[1];return n===Lt.SYM_DONTCARE||(n===Lt.SYM_TRUE&&(t>=0||t===Lt.TRUE)||(n===Lt.SYM_FALSE&&t===Lt.FALSE||(n===Lt.SYM_P&&t===Lt.P||(n===Lt.SYM_L&&t===Lt.L||n===Lt.SYM_A&&t===Lt.A))))}if(\"string\"==typeof arguments[0]&&\"string\"==typeof arguments[1]){var i=arguments[0],r=arguments[1],s=new e(i);return s.matches(r)}}},{key:\"isTrue\",value:function(t){return t>=0||t===Lt.TRUE}}]),e}(),ei=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"size\",value:function(){return this._size}},{key:\"addAll\",value:function(t){return null===t||0===t.length?null:(this.ensureCapacity(this._size+t.length),mt.arraycopy(t,0,this._data,this._size,t.length),void(this._size+=t.length))}},{key:\"ensureCapacity\",value:function(t){if(t<=this._data.length)return null;var e=Math.max(t,2*this._data.length);this._data=At.copyOf(this._data,e)}},{key:\"toArray\",value:function(){var t=new Array(this._size).fill(null);return mt.arraycopy(this._data,0,t,0,this._size),t}},{key:\"add\",value:function(t){this.ensureCapacity(this._size+1),this._data[this._size]=t,++this._size}}],[{key:\"constructor_\",value:function(){if(this._data=null,this._size=0,0===arguments.length)e.constructor_.call(this,10);else if(1===arguments.length){var t=arguments[0];this._data=new Array(t).fill(null)}}}]),e}(),ni=function(){function e(){t(this,e)}return n(e,[{key:\"getChainStartIndices\",value:function(t){var e=0,n=new ei(Math.trunc(t.length/2));n.add(e);do{var i=this.findChainEnd(t,e);n.add(i),e=i}while(en?e:n}},{key:\"getMinX\",value:function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return ee&&(i=1),this._depth[t][n]=i}}}},{key:\"getDelta\",value:function(t){return this._depth[t][$.RIGHT]-this._depth[t][$.LEFT]}},{key:\"getLocation\",value:function(t,e){return this._depth[t][e]<=0?H.EXTERIOR:H.INTERIOR}},{key:\"toString\",value:function(){return\"A: \"+this._depth[0][1]+\",\"+this._depth[0][2]+\" B: \"+this._depth[1][1]+\",\"+this._depth[1][2]}},{key:\"add\",value:function(){if(1===arguments.length)for(var t=arguments[0],n=0;n<2;n++)for(var i=1;i<3;i++){var r=t.getLocation(n,i);r!==H.EXTERIOR&&r!==H.INTERIOR||(this.isNull(n,i)?this._depth[n][i]=e.depthAtLocation(r):this._depth[n][i]+=e.depthAtLocation(r))}else if(3===arguments.length){var s=arguments[0],a=arguments[1],o=arguments[2];o===H.INTERIOR&&this._depth[s][a]++}}}],[{key:\"constructor_\",value:function(){this._depth=Array(2).fill().map((function(){return Array(3)}));for(var t=0;t<2;t++)for(var n=0;n<3;n++)this._depth[t][n]=e.NULL_VALUE}},{key:\"depthAtLocation\",value:function(t){return t===H.EXTERIOR?0:t===H.INTERIOR?1:e.NULL_VALUE}}]),e}();ri.NULL_VALUE=-1;var si=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"getDepth\",value:function(){return this._depth}},{key:\"getCollapsedEdge\",value:function(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new a(t,Pe.toLineLabel(this._label))}},{key:\"isIsolated\",value:function(){return this._isIsolated}},{key:\"getCoordinates\",value:function(){return this.pts}},{key:\"setIsolated\",value:function(t){this._isIsolated=t}},{key:\"setName\",value:function(t){this._name=t}},{key:\"equals\",value:function(t){if(!(t instanceof a))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var n=!0,i=!0,r=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}}},{key:\"print\",value:function(t){t.print(\"edge \"+this._name+\": \"),t.print(\"LINESTRING (\");for(var e=0;e0&&t.print(\",\"),t.print(this.pts[e].x+\" \"+this.pts[e].y);t.print(\") \"+this._label+\" \"+this._depthDelta)}},{key:\"computeIM\",value:function(t){a.updateIM(this._label,t)}},{key:\"isCollapsed\",value:function(){return!!this._label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))}},{key:\"isClosed\",value:function(){return this.pts[0].equals(this.pts[this.pts.length-1])}},{key:\"getMaximumSegmentIndex\",value:function(){return this.pts.length-1}},{key:\"getDepthDelta\",value:function(){return this._depthDelta}},{key:\"getNumPoints\",value:function(){return this.pts.length}},{key:\"printReverse\",value:function(t){t.print(\"edge \"+this._name+\": \");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+\" \");t.println(\"\")}},{key:\"getMonotoneChainEdge\",value:function(){return null===this._mce&&(this._mce=new ii(this)),this._mce}},{key:\"getEnvelope\",value:function(){if(null===this._env){this._env=new U;for(var t=0;t0&&t.append(\",\"),t.append(this.pts[e].x+\" \"+this.pts[e].y);return t.append(\") \"+this._label+\" \"+this._depthDelta),t.toString()}},{key:\"isPointwiseEqual\",value:function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;ei||this._maxys;if(a)return!1;var o=this.intersectsToleranceSquare(t,e);return G.isTrue(!(a&&o),\"Found bad envelope test\"),o}},{key:\"initCorners\",value:function(t){var e=.5;this._minx=t.x-e,this._maxx=t.x+e,this._miny=t.y-e,this._maxy=t.y+e,this._corner[0]=new X(this._maxx,this._maxy),this._corner[1]=new X(this._minx,this._maxy),this._corner[2]=new X(this._minx,this._miny),this._corner[3]=new X(this._maxx,this._miny)}},{key:\"intersects\",value:function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))}},{key:\"scale\",value:function(t){return Math.round(t*this._scaleFactor)}},{key:\"getCoordinate\",value:function(){return this._originalPt}},{key:\"copyScaled\",value:function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)}},{key:\"getSafeEnvelope\",value:function(){if(null===this._safeEnv){var t=e.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new U(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv}},{key:\"intersectsPixelClosure\",value:function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))}},{key:\"intersectsToleranceSquare\",value:function(t,e){var n=!1,i=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.isProper()||(!(!n||!i)||(!!t.equals(this._pt)||!!e.equals(this._pt))))))}},{key:\"addSnappedNode\",value:function(t,e){var n=t.getCoordinate(e),i=t.getCoordinate(e+1);return!!this.intersects(n,i)&&(t.addIntersection(this.getCoordinate(),e),!0)}}],[{key:\"constructor_\",value:function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var t=arguments[0],e=arguments[1],n=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=n,e<=0)throw new m(\"Scale factor must be non-zero\");1!==e&&(this._pt=new X(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new X,this._p1Scaled=new X),this.initCorners(this._pt)}}]),e}();li.SAFE_ENV_EXPANSION_FACTOR=.75;var hi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"select\",value:function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[0],e=arguments[1];t.getLineSegment(e,this.selectedSegment),this.select(this.selectedSegment)}}}],[{key:\"constructor_\",value:function(){this.selectedSegment=new En}}]),e}(),ci=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"snap\",value:function(){if(1===arguments.length){var e=arguments[0];return this.snap(e,null,-1)}if(3===arguments.length){var i=arguments[0],r=arguments[1],s=arguments[2],a=i.getSafeEnvelope(),o=new fi(i,r,s);return this._index.query(a,new(function(){function e(){t(this,e)}return n(e,[{key:\"interfaces_\",get:function(){return[hn]}},{key:\"visitItem\",value:function(t){t.select(a,o)}}]),e}())),o.isNodeAdded()}}}],[{key:\"constructor_\",value:function(){this._index=null;var t=arguments[0];this._index=t}}]),e}(),fi=function(e){i(a,e);var s=c(a);function a(){var e;return t(this,a),e=s.call(this),a.constructor_.apply(l(e),arguments),e}return n(a,[{key:\"isNodeAdded\",value:function(){return this._isNodeAdded}},{key:\"select\",value:function(){if(!(2===arguments.length&&Number.isInteger(arguments[1])&&arguments[0]instanceof Tn))return f(r(a.prototype),\"select\",this).apply(this,arguments);var t=arguments[0],e=arguments[1],n=t.getContext();if(this._parentEdge===n&&(e===this._hotPixelVertexIndex||e+1===this._hotPixelVertexIndex))return null;this._isNodeAdded|=this._hotPixel.addSnappedNode(n,e)}}],[{key:\"constructor_\",value:function(){this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this._hotPixel=t,this._parentEdge=e,this._hotPixelVertexIndex=n}}]),a}(hi);ci.HotPixelSnapAction=fi;var vi=function(){function e(){t(this,e),e.constructor_.apply(this,arguments)}return n(e,[{key:\"processIntersections\",value:function(t,e,n,i){if(t===n&&e===i)return null;var r=t.getCoordinates()[e],s=t.getCoordinates()[e+1],a=n.getCoordinates()[i],o=n.getCoordinates()[i+1];if(this._li.computeIntersection(r,s,a,o),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var u=0;u=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof vt))throw t;this._saveException=t}if(null!==this._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var n=arguments[0],i=e.precisionScaleFactor(this._argGeom,this._distance,n),r=new ie(i);this.bufferFixedPrecision(r)}}},{key:\"computeGeometry\",value:function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===ie.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()}},{key:\"setQuadrantSegments\",value:function(t){this._bufParams.setQuadrantSegments(t)}},{key:\"bufferOriginalPrecision\",value:function(){try{var t=new ai(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof D))throw t;this._saveException=t}}},{key:\"getResultGeometry\",value:function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry}},{key:\"setEndCapStyle\",value:function(t){this._bufParams.setEndCapStyle(t)}}],[{key:\"constructor_\",value:function(){if(this._argGeom=null,this._distance=null,this._bufParams=new _,this._resultGeometry=null,this._saveException=null,1===arguments.length){var t=arguments[0];this._argGeom=t}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this._argGeom=e,this._bufParams=n}}},{key:\"bufferOp\",value:function(){if(2===arguments.length){var t=arguments[0],n=arguments[1],i=new e(t),r=i.getResultGeometry(n);return r}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof V&&\"number\"==typeof arguments[1]){var s=arguments[0],a=arguments[1],o=arguments[2],u=new e(s);u.setQuadrantSegments(o);var l=u.getResultGeometry(a);return l}if(arguments[2]instanceof _&&arguments[0]instanceof V&&\"number\"==typeof arguments[1]){var h=arguments[0],c=arguments[1],f=arguments[2],v=new e(h,f),g=v.getResultGeometry(c);return g}}else if(4===arguments.length){var y=arguments[0],d=arguments[1],p=arguments[2],m=arguments[3],k=new e(y);k.setQuadrantSegments(p),k.setEndCapStyle(m);var x=k.getResultGeometry(d);return x}}},{key:\"precisionScaleFactor\",value:function(t,e,n){var i=t.getEnvelopeInternal(),r=kt.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY()))+2*(e>0?e:0),s=n-Math.trunc(Math.log(r)/Math.log(10)+1);return Math.pow(10,s)}}]),e}();yi.CAP_ROUND=_.CAP_ROUND,yi.CAP_BUTT=_.CAP_FLAT,yi.CAP_FLAT=_.CAP_FLAT,yi.CAP_SQUARE=_.CAP_SQUARE,yi.MAX_PRECISION_DIGITS=12;var di=[\"Point\",\"MultiPoint\",\"LineString\",\"MultiLineString\",\"Polygon\",\"MultiPolygon\"],_i=function(){function e(n){t(this,e),this.geometryFactory=n||new ae}return n(e,[{key:\"read\",value:function(t){var e,n=(e=\"string\"==typeof t?JSON.parse(t):t).type;if(!pi[n])throw new Error(\"Unknown GeoJSON type: \"+e.type);return-1!==di.indexOf(n)?pi[n].call(this,e.coordinates):\"GeometryCollection\"===n?pi[n].call(this,e.geometries):pi[n].call(this,e)}},{key:\"write\",value:function(t){var e=t.getGeometryType();if(!mi[e])throw new Error(\"Geometry is not supported\");return mi[e].call(this,t)}}]),e}(),pi={Feature:function(t){var e={};for(var n in t)e[n]=t[n];if(t.geometry){var i=t.geometry.type;if(!pi[i])throw new Error(\"Unknown GeoJSON type: \"+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=pi.bbox.call(this,t.bbox)),e},FeatureCollection:function(t){var e={};if(t.features){e.features=[];for(var n=0;n -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mapboxgl-ctrl-geocoder,.mapboxgl-ctrl-geocoder *,.mapboxgl-ctrl-geocoder :after,.mapboxgl-ctrl-geocoder :before{box-sizing:border-box}.mapboxgl-ctrl-geocoder{background-color:#fff;border-radius:4px;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,Helvetica,sans-serif;font-size:18px;line-height:24px;min-width:240px;position:relative;transition:width .25s,min-width .25s;width:100%;z-index:1}.mapboxgl-ctrl-geocoder--input{background-color:transparent;border:0;color:#404040;color:rgba(0,0,0,.75);font:inherit;height:50px;margin:0;overflow:hidden;padding:6px 45px;text-overflow:ellipsis;white-space:nowrap;width:100%}.mapboxgl-ctrl-geocoder--input::-ms-clear{display:none}.mapboxgl-ctrl-geocoder--input:focus{box-shadow:none;color:#404040;color:rgba(0,0,0,.75);outline:0;outline:thin dotted}.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right>*{display:none;position:absolute;right:8px;top:7px;z-index:2}.mapboxgl-ctrl-geocoder,.mapboxgl-ctrl-geocoder .suggestions{box-shadow:0 0 10px 2px rgba(0,0,0,.1)}.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed{min-width:50px;transition:width .25s,min-width .25s;width:50px}.mapboxgl-ctrl-geocoder .suggestions{background-color:#fff;border-radius:4px;font-size:15px;left:0;list-style:none;margin:0;overflow:hidden;padding:0;position:absolute;top:110%;top:calc(100% + 6px);width:100%;z-index:1000}.mapboxgl-ctrl-bottom-left .suggestions,.mapboxgl-ctrl-bottom-right .suggestions{bottom:100%;top:auto}.mapboxgl-ctrl-geocoder .suggestions>li>a{color:#404040;cursor:default;display:block;padding:6px 12px}.mapboxgl-ctrl-geocoder .suggestions>.active>a,.mapboxgl-ctrl-geocoder .suggestions>li>a:hover{background-color:#f3f3f3;color:#404040;cursor:pointer;text-decoration:none}.mapboxgl-ctrl-geocoder--suggestion-title{font-weight:700}.mapboxgl-ctrl-geocoder--suggestion-address,.mapboxgl-ctrl-geocoder--suggestion-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapboxgl-ctrl-geocoder--icon{speak:none;fill:#757575;display:inline-block;top:15px;vertical-align:middle}.mapboxgl-ctrl-geocoder--icon-search{height:23px;left:12px;position:absolute;top:13px;width:23px}.mapboxgl-ctrl-geocoder--button{background:#fff;border:none;cursor:pointer;line-height:1;margin:0;padding:0}.mapboxgl-ctrl-geocoder--icon-close{height:20px;margin-right:3px;margin-top:8px;width:20px}.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close{fill:#909090}.mapboxgl-ctrl-geocoder--icon-geolocate{height:22px;margin-right:3px;margin-top:6px;width:22px}.mapboxgl-ctrl-geocoder--icon-loading{animation:rotate .8s cubic-bezier(.45,.05,.55,.95) infinite;height:26px;margin-right:0;margin-top:5px;width:26px}.mapboxgl-ctrl-geocoder--powered-by{display:block;float:left;font-size:13px;padding:6px 12px 9px}.mapboxgl-ctrl-geocoder--powered-by a{color:#909090}.mapboxgl-ctrl-geocoder--powered-by a:not(:hover){text-decoration:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media screen and (min-width:640px){.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed{min-width:36px;width:36px}.mapboxgl-ctrl-geocoder{font-size:15px;line-height:20px;max-width:360px;width:33.3333%}.mapboxgl-ctrl-geocoder .suggestions{font-size:13px}.mapboxgl-ctrl-geocoder--icon{top:8px}.mapboxgl-ctrl-geocoder--icon-close{height:16px;margin-right:0;margin-top:3px;width:16px}.mapboxgl-ctrl-geocoder--icon-geolocate{height:18px;margin-right:0;margin-top:2px;width:18px}.mapboxgl-ctrl-geocoder--icon-search{height:20px;left:7px;width:20px}.mapboxgl-ctrl-geocoder--input{height:36px;padding:6px 35px}.mapboxgl-ctrl-geocoder--icon-loading{height:26px;margin-right:-5px;margin-top:-2px;width:26px}.mapbox-gl-geocoder--error{color:#909090;font-size:16px;padding:6px 12px;text-align:center}.mapboxgl-ctrl-geocoder--powered-by{font-size:11px!important}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@mapbox/mapbox-gl-geocoder/dist/mapbox-gl-geocoder.css\"],\"names\":[],\"mappings\":\"AACA,iHAIE,qBACF,CAEA,wBAKE,qBAAsB,CAItB,iBAAkB,CANlB,gGAA2G,CAF3G,cAAe,CACf,gBAAiB,CAKjB,eAAgB,CAHhB,iBAAkB,CAMlB,oCAAsC,CAJtC,UAAW,CAEX,SAGF,CAEA,+BAIE,4BAA6B,CAD7B,QAAS,CAIT,aAAc,CACd,qBAA0B,CAP1B,YAAa,CAKb,WAAY,CADZ,QAAS,CAOT,eAAgB,CAHhB,gBAAiB,CACjB,sBAAuB,CACvB,kBAAmB,CATnB,UAWF,CAEA,0CACE,YACF,CAEA,qCAIE,eAAgB,CAHhB,aAAc,CACd,qBAA0B,CAC1B,SAAU,CAEV,mBACF,CAEA,6DAKE,YAAa,CAHb,iBAAkB,CAClB,SAAU,CACV,OAAQ,CAHR,SAKF,CAEA,6DAEE,sCACF,CAGA,0DAEE,cAAe,CACf,oCAAsC,CAFtC,UAGF,CAGA,qCACE,qBAAsB,CACtB,iBAAkB,CAWlB,cAAe,CAVf,MAAO,CACP,eAAgB,CAChB,QAAS,CAOT,eAAgB,CANhB,SAAU,CACV,iBAAkB,CAElB,QAAS,CACT,oBAAqB,CAFrB,UAAW,CAGX,YAGF,CAEA,iFAGE,WAAY,CADZ,QAEF,CAEA,0CAIE,aAAc,CAHd,cAAe,CACf,aAAc,CACd,gBAEF,CAEA,+FAGE,wBAAyB,CADzB,aAAc,CAGd,cAAe,CADf,oBAEF,CAEA,0CACE,eACF,CAEA,sFAGE,eAAgB,CADhB,sBAAuB,CAEvB,kBACF,CAGA,8BAGE,UAAW,CACX,YAAa,CAHb,oBAAqB,CAIrB,QAAS,CAHT,qBAIF,CAEA,qCAKE,WAAY,CAFZ,SAAU,CAFV,iBAAkB,CAClB,QAAS,CAET,UAEF,CAEA,gCAKE,eAAgB,CAFhB,WAAY,CACZ,cAAe,CAEf,aAAc,CAJd,QAAS,CADT,SAMF,CAEA,oCAEE,WAAY,CAEZ,gBAAiB,CADjB,cAAe,CAFf,UAIF,CAEA,0EACE,YACF,CAEA,wCAEE,WAAY,CAEZ,gBAAiB,CADjB,cAAe,CAFf,UAIF,CAEA,sCAOE,2DAAoE,CALpE,WAAY,CAEZ,cAAiB,CADjB,cAAe,CAFf,UAOF,CAEA,oCACE,aAAc,CACd,UAAW,CAGX,cAAe,CADf,oBAEF,CAEA,sCACE,aACF,CAEA,kDACE,oBACF,CAcA,kBACE,GAEE,mBACF,CACA,GAEE,uBACF,CACF,CAGA,oCAEE,0DAEE,cAAe,CADf,UAEF,CAEA,wBAEE,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAHhB,cAIF,CACA,qCACE,cACF,CAEA,8BACE,OACF,CAEA,oCAEE,WAAY,CAEZ,cAAe,CADf,cAAe,CAFf,UAIF,CAEA,wCAEE,WAAY,CAEZ,cAAe,CADf,cAAe,CAFf,UAIF,CAEA,qCAGE,WAAY,CAFZ,QAAS,CACT,UAEF,CAEA,+BACE,WAAY,CACZ,gBACF,CAEA,sCAEE,WAAY,CAEZ,iBAAkB,CADlB,eAAgB,CAFhB,UAIF,CAEA,2BACE,aAAa,CAEb,cAAe,CADf,gBAAiB,CAEjB,iBACF,CAEA,oCACE,wBACF,CACF\",\"sourcesContent\":[\"/* Basics */\\n.mapboxgl-ctrl-geocoder,\\n.mapboxgl-ctrl-geocoder *,\\n.mapboxgl-ctrl-geocoder *:after,\\n.mapboxgl-ctrl-geocoder *:before {\\n box-sizing: border-box;\\n}\\n\\n.mapboxgl-ctrl-geocoder {\\n font-size: 18px;\\n line-height: 24px;\\n font-family: \\\"Open Sans\\\", -apple-system, BlinkMacSystemFont, \\\"Helvetica Neue\\\", Arial, Helvetica, sans-serif;\\n position: relative;\\n background-color: #fff;\\n width: 100%;\\n min-width: 240px;\\n z-index: 1;\\n border-radius: 4px;\\n transition: width .25s, min-width .25s;\\n}\\n\\n.mapboxgl-ctrl-geocoder--input {\\n font: inherit;\\n width: 100%;\\n border: 0;\\n background-color: transparent;\\n margin: 0;\\n height: 50px;\\n color: #404040; /* fallback */\\n color: rgba(0, 0, 0, 0.75);\\n padding: 6px 45px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n.mapboxgl-ctrl-geocoder--input::-ms-clear {\\n display: none; /* hide input clear button in IE */\\n}\\n\\n.mapboxgl-ctrl-geocoder--input:focus {\\n color: #404040; /* fallback */\\n color: rgba(0, 0, 0, 0.75);\\n outline: 0;\\n box-shadow: none;\\n outline: thin dotted;\\n}\\n\\n.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right > * {\\n z-index: 2;\\n position: absolute;\\n right: 8px;\\n top: 7px;\\n display: none;\\n}\\n\\n.mapboxgl-ctrl-geocoder,\\n.mapboxgl-ctrl-geocoder .suggestions {\\n box-shadow: 0 0 10px 2px rgba(0,0,0,.1);\\n}\\n\\n/* Collapsed */\\n.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {\\n width: 50px;\\n min-width: 50px;\\n transition: width .25s, min-width .25s;\\n}\\n\\n/* Suggestions */\\n.mapboxgl-ctrl-geocoder .suggestions {\\n background-color: #fff;\\n border-radius: 4px;\\n left: 0;\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n width: 100%;\\n top: 110%; /* fallback */\\n top: calc(100% + 6px);\\n z-index: 1000;\\n overflow: hidden;\\n font-size: 15px;\\n}\\n\\n.mapboxgl-ctrl-bottom-left .suggestions,\\n.mapboxgl-ctrl-bottom-right .suggestions {\\n top: auto;\\n bottom: 100%;\\n}\\n\\n.mapboxgl-ctrl-geocoder .suggestions > li > a {\\n cursor: default;\\n display: block;\\n padding: 6px 12px;\\n color: #404040;\\n}\\n\\n.mapboxgl-ctrl-geocoder .suggestions > .active > a,\\n.mapboxgl-ctrl-geocoder .suggestions > li > a:hover {\\n color: #404040;\\n background-color: #f3f3f3;\\n text-decoration: none;\\n cursor: pointer;\\n}\\n\\n.mapboxgl-ctrl-geocoder--suggestion-title {\\n font-weight: bold;\\n}\\n\\n.mapboxgl-ctrl-geocoder--suggestion-title,\\n.mapboxgl-ctrl-geocoder--suggestion-address {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n}\\n\\n/* Icons */\\n.mapboxgl-ctrl-geocoder--icon {\\n display: inline-block;\\n vertical-align: middle;\\n speak: none;\\n fill: #757575;\\n top: 15px;\\n}\\n\\n.mapboxgl-ctrl-geocoder--icon-search {\\n position: absolute;\\n top: 13px;\\n left: 12px;\\n width: 23px;\\n height: 23px;\\n}\\n\\n.mapboxgl-ctrl-geocoder--button {\\n padding: 0;\\n margin: 0;\\n border: none;\\n cursor: pointer;\\n background: #fff;\\n line-height: 1;\\n}\\n\\n.mapboxgl-ctrl-geocoder--icon-close {\\n width: 20px;\\n height: 20px;\\n margin-top: 8px;\\n margin-right: 3px;\\n}\\n\\n.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close {\\n fill: #909090;\\n}\\n\\n.mapboxgl-ctrl-geocoder--icon-geolocate {\\n width: 22px;\\n height: 22px;\\n margin-top: 6px;\\n margin-right: 3px;\\n}\\n\\n.mapboxgl-ctrl-geocoder--icon-loading {\\n width: 26px;\\n height: 26px;\\n margin-top: 5px;\\n margin-right: 0px;\\n -moz-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\\n -webkit-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\\n animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);\\n}\\n\\n.mapboxgl-ctrl-geocoder--powered-by {\\n display: block;\\n float: left;\\n padding: 6px 12px;\\n padding-bottom: 9px;\\n font-size: 13px;\\n}\\n\\n.mapboxgl-ctrl-geocoder--powered-by a {\\n color: #909090;\\n}\\n\\n.mapboxgl-ctrl-geocoder--powered-by a:not(:hover) {\\n text-decoration: none; \\n}\\n\\n/* Animation */\\n@-webkit-keyframes rotate {\\n from {\\n -webkit-transform: rotate(0);\\n transform: rotate(0);\\n }\\n to {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes rotate {\\n from {\\n -webkit-transform: rotate(0);\\n transform: rotate(0);\\n }\\n to {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n/* Media queries*/\\n@media screen and (min-width: 640px) {\\n\\n .mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {\\n width: 36px;\\n min-width: 36px;\\n }\\n\\n .mapboxgl-ctrl-geocoder {\\n width: 33.3333%;\\n font-size: 15px;\\n line-height: 20px;\\n max-width: 360px;\\n }\\n .mapboxgl-ctrl-geocoder .suggestions {\\n font-size: 13px;\\n }\\n\\n .mapboxgl-ctrl-geocoder--icon {\\n top: 8px;\\n }\\n\\n .mapboxgl-ctrl-geocoder--icon-close {\\n width: 16px;\\n height: 16px;\\n margin-top: 3px;\\n margin-right: 0;\\n }\\n\\n .mapboxgl-ctrl-geocoder--icon-geolocate {\\n width: 18px;\\n height: 18px;\\n margin-top: 2px;\\n margin-right: 0;\\n }\\n\\n .mapboxgl-ctrl-geocoder--icon-search {\\n left: 7px;\\n width: 20px;\\n height: 20px;\\n }\\n\\n .mapboxgl-ctrl-geocoder--input {\\n height: 36px;\\n padding: 6px 35px;\\n }\\n\\n .mapboxgl-ctrl-geocoder--icon-loading {\\n width: 26px;\\n height: 26px;\\n margin-top: -2px;\\n margin-right: -5px;\\n }\\n\\n .mapbox-gl-geocoder--error{\\n color:#909090;\\n padding: 6px 12px;\\n font-size: 16px;\\n text-align: center;\\n }\\n\\n .mapboxgl-ctrl-geocoder--powered-by {\\n font-size: 11px !important;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\\\"\\\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\\\"\\\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/mapbox-gl/dist/mapbox-gl.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\\\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\\\"\\\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\\\"\\\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar assign = require('object.assign');\nvar callBound = require('call-bind/callBound');\nvar flags = require('regexp.prototype.flags');\nvar GetIntrinsic = require('get-intrinsic');\nvar getIterator = require('es-get-iterator');\nvar getSideChannel = require('side-channel');\nvar is = require('object-is');\nvar isArguments = require('is-arguments');\nvar isArray = require('isarray');\nvar isArrayBuffer = require('is-array-buffer');\nvar isDate = require('is-date-object');\nvar isRegex = require('is-regex');\nvar isSharedArrayBuffer = require('is-shared-array-buffer');\nvar objectKeys = require('object-keys');\nvar whichBoxedPrimitive = require('which-boxed-primitive');\nvar whichCollection = require('which-collection');\nvar whichTypedArray = require('which-typed-array');\nvar byteLength = require('array-buffer-byte-length');\n\nvar sabByteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);\n\nvar $getTime = callBound('Date.prototype.getTime');\nvar gPO = Object.getPrototypeOf;\nvar $objToString = callBound('Object.prototype.toString');\n\nvar $Set = GetIntrinsic('%Set%', true);\nvar $mapHas = callBound('Map.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSize = callBound('Map.prototype.size', true);\nvar $setAdd = callBound('Set.prototype.add', true);\nvar $setDelete = callBound('Set.prototype.delete', true);\nvar $setHas = callBound('Set.prototype.has', true);\nvar $setSize = callBound('Set.prototype.size', true);\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L401-L414\nfunction setHasEqualElement(set, val1, opts, channel) {\n var i = getIterator(set);\n var result;\n while ((result = i.next()) && !result.done) {\n if (internalDeepEqual(val1, result.value, opts, channel)) { // eslint-disable-line no-use-before-define\n // Remove the matching element to make sure we do not check that again.\n $setDelete(set, result.value);\n return true;\n }\n }\n\n return false;\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L416-L439\nfunction findLooseMatchingPrimitives(prim) {\n if (typeof prim === 'undefined') {\n return null;\n }\n if (typeof prim === 'object') { // Only pass in null as object!\n return void 0;\n }\n if (typeof prim === 'symbol') {\n return false;\n }\n if (typeof prim === 'string' || typeof prim === 'number') {\n // Loose equal entries exist only if the string is possible to convert to a regular number and not NaN.\n return +prim === +prim; // eslint-disable-line no-implicit-coercion\n }\n return true;\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L449-L460\nfunction mapMightHaveLoosePrim(a, b, prim, item, opts, channel) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) {\n return altValue;\n }\n var curB = $mapGet(b, altValue);\n var looseOpts = assign({}, opts, { strict: false });\n if (\n (typeof curB === 'undefined' && !$mapHas(b, altValue))\n // eslint-disable-next-line no-use-before-define\n || !internalDeepEqual(item, curB, looseOpts, channel)\n ) {\n return false;\n }\n // eslint-disable-next-line no-use-before-define\n return !$mapHas(a, altValue) && internalDeepEqual(item, curB, looseOpts, channel);\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L441-L447\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) {\n return altValue;\n }\n\n return $setHas(b, altValue) && !$setHas(a, altValue);\n}\n\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L518-L533\nfunction mapHasEqualEntry(set, map, key1, item1, opts, channel) {\n var i = getIterator(set);\n var result;\n var key2;\n while ((result = i.next()) && !result.done) {\n key2 = result.value;\n if (\n // eslint-disable-next-line no-use-before-define\n internalDeepEqual(key1, key2, opts, channel)\n // eslint-disable-next-line no-use-before-define\n && internalDeepEqual(item1, $mapGet(map, key2), opts, channel)\n ) {\n $setDelete(set, key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction internalDeepEqual(actual, expected, options, channel) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n var actualBoxed = whichBoxedPrimitive(actual);\n var expectedBoxed = whichBoxedPrimitive(expected);\n if (actualBoxed !== expectedBoxed) {\n return false;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected; // eslint-disable-line eqeqeq\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // see https://github.com/nodejs/node/commit/d3aafd02efd3a403d646a3044adcf14e63a88d32 for memos/channel inspiration\n\n var hasActual = channel.has(actual);\n var hasExpected = channel.has(expected);\n var sentinel;\n if (hasActual && hasExpected) {\n if (channel.get(actual) === channel.get(expected)) {\n return true;\n }\n } else {\n sentinel = {};\n }\n if (!hasActual) { channel.set(actual, sentinel); }\n if (!hasExpected) { channel.set(expected, sentinel); }\n\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts, channel);\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n\n return !!(x.constructor && x.constructor.isBuffer && x.constructor.isBuffer(x));\n}\n\nfunction setEquiv(a, b, opts, channel) {\n if ($setSize(a) !== $setSize(b)) {\n return false;\n }\n var iA = getIterator(a);\n var iB = getIterator(b);\n var resultA;\n var resultB;\n var set;\n while ((resultA = iA.next()) && !resultA.done) {\n if (resultA.value && typeof resultA.value === 'object') {\n if (!set) { set = new $Set(); }\n $setAdd(set, resultA.value);\n } else if (!$setHas(b, resultA.value)) {\n if (opts.strict) { return false; }\n if (!setMightHaveLoosePrim(a, b, resultA.value)) {\n return false;\n }\n if (!set) { set = new $Set(); }\n $setAdd(set, resultA.value);\n }\n }\n if (set) {\n while ((resultB = iB.next()) && !resultB.done) {\n // We have to check if a primitive value is already matching and only if it's not, go hunting for it.\n if (resultB.value && typeof resultB.value === 'object') {\n if (!setHasEqualElement(set, resultB.value, opts.strict, channel)) {\n return false;\n }\n } else if (\n !opts.strict\n && !$setHas(a, resultB.value)\n && !setHasEqualElement(set, resultB.value, opts.strict, channel)\n ) {\n return false;\n }\n }\n return $setSize(set) === 0;\n }\n return true;\n}\n\nfunction mapEquiv(a, b, opts, channel) {\n if ($mapSize(a) !== $mapSize(b)) {\n return false;\n }\n var iA = getIterator(a);\n var iB = getIterator(b);\n var resultA;\n var resultB;\n var set;\n var key;\n var item1;\n var item2;\n while ((resultA = iA.next()) && !resultA.done) {\n key = resultA.value[0];\n item1 = resultA.value[1];\n if (key && typeof key === 'object') {\n if (!set) { set = new $Set(); }\n $setAdd(set, key);\n } else {\n item2 = $mapGet(b, key);\n if ((typeof item2 === 'undefined' && !$mapHas(b, key)) || !internalDeepEqual(item1, item2, opts, channel)) {\n if (opts.strict) {\n return false;\n }\n if (!mapMightHaveLoosePrim(a, b, key, item1, opts, channel)) {\n return false;\n }\n if (!set) { set = new $Set(); }\n $setAdd(set, key);\n }\n }\n }\n\n if (set) {\n while ((resultB = iB.next()) && !resultB.done) {\n key = resultB.value[0];\n item2 = resultB.value[1];\n if (key && typeof key === 'object') {\n if (!mapHasEqualEntry(set, a, key, item2, opts, channel)) {\n return false;\n }\n } else if (\n !opts.strict\n && (!a.has(key) || !internalDeepEqual($mapGet(a, key), item2, opts, channel))\n && !mapHasEqualEntry(set, a, key, item2, assign({}, opts, { strict: false }), channel)\n ) {\n return false;\n }\n }\n return $setSize(set) === 0;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts, channel) {\n /* eslint max-statements: [2, 100], max-lines-per-function: [2, 120], max-depth: [2, 5], max-lines: [2, 400] */\n var i, key;\n\n if (typeof a !== typeof b) { return false; }\n if (a == null || b == null) { return false; }\n\n if ($objToString(a) !== $objToString(b)) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsArray = isArray(a);\n var bIsArray = isArray(b);\n if (aIsArray !== bIsArray) { return false; }\n\n // TODO: replace when a cross-realm brand check is available\n var aIsError = a instanceof Error;\n var bIsError = b instanceof Error;\n if (aIsError !== bIsError) { return false; }\n if (aIsError || bIsError) {\n if (a.name !== b.name || a.message !== b.message) { return false; }\n }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if ((aIsRegex || bIsRegex) && (a.source !== b.source || flags(a) !== flags(b))) {\n return false;\n }\n\n var aIsDate = isDate(a);\n var bIsDate = isDate(b);\n if (aIsDate !== bIsDate) { return false; }\n if (aIsDate || bIsDate) { // && would work too, because both are true or both false here\n if ($getTime(a) !== $getTime(b)) { return false; }\n }\n if (opts.strict && gPO && gPO(a) !== gPO(b)) { return false; }\n\n var aWhich = whichTypedArray(a);\n var bWhich = whichTypedArray(b);\n if (aWhich !== bWhich) {\n return false;\n }\n if (aWhich || bWhich) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n var aIsArrayBuffer = isArrayBuffer(a);\n var bIsArrayBuffer = isArrayBuffer(b);\n if (aIsArrayBuffer !== bIsArrayBuffer) { return false; }\n if (aIsArrayBuffer || bIsArrayBuffer) { // && would work too, because both are true or both false here\n if (byteLength(a) !== byteLength(b)) { return false; }\n return typeof Uint8Array === 'function' && internalDeepEqual(new Uint8Array(a), new Uint8Array(b), opts, channel);\n }\n\n var aIsSAB = isSharedArrayBuffer(a);\n var bIsSAB = isSharedArrayBuffer(b);\n if (aIsSAB !== bIsSAB) { return false; }\n if (aIsSAB || bIsSAB) { // && would work too, because both are true or both false here\n if (sabByteLength(a) !== sabByteLength(b)) { return false; }\n return typeof Uint8Array === 'function' && internalDeepEqual(new Uint8Array(a), new Uint8Array(b), opts, channel);\n }\n\n if (typeof a !== typeof b) { return false; }\n\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; } // eslint-disable-line eqeqeq\n }\n\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!internalDeepEqual(a[key], b[key], opts, channel)) { return false; }\n }\n\n var aCollection = whichCollection(a);\n var bCollection = whichCollection(b);\n if (aCollection !== bCollection) {\n return false;\n }\n if (aCollection === 'Set' || bCollection === 'Set') { // aCollection === bCollection\n return setEquiv(a, b, opts, channel);\n }\n if (aCollection === 'Map') { // aCollection === bCollection\n return mapEquiv(a, b, opts, channel);\n }\n\n return true;\n}\n\nmodule.exports = function deepEqual(a, b, opts) {\n return internalDeepEqual(a, b, opts, getSideChannel());\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $BigInt = typeof BigInt !== 'undefined' && BigInt;\n\nmodule.exports = function hasNativeBigInts() {\n\treturn typeof $BigInt === 'function'\n\t\t&& typeof BigInt === 'function'\n\t\t&& typeof $BigInt(42) === 'bigint' // eslint-disable-line no-magic-numbers\n\t\t&& typeof BigInt(42) === 'bigint'; // eslint-disable-line no-magic-numbers\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar hasOwn = require('hasown');\nvar channel = require('side-channel')();\n\nvar $TypeError = require('es-errors/type');\n\nvar SLOT = {\n\tassert: function (O, slot) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tchannel.assert(O);\n\t\tif (!SLOT.has(O, slot)) {\n\t\t\tthrow new $TypeError('`' + slot + '` is not present on `O`');\n\t\t}\n\t},\n\tget: function (O, slot) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tvar slots = channel.get(O);\n\t\treturn slots && slots['$' + slot];\n\t},\n\thas: function (O, slot) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tvar slots = channel.get(O);\n\t\treturn !!slots && hasOwn(slots, '$' + slot);\n\t},\n\tset: function (O, slot, V) {\n\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\tthrow new $TypeError('`O` is not an object');\n\t\t}\n\t\tif (typeof slot !== 'string') {\n\t\t\tthrow new $TypeError('`slot` must be a string');\n\t\t}\n\t\tvar slots = channel.get(O);\n\t\tif (!slots) {\n\t\t\tslots = {};\n\t\t\tchannel.set(O, slots);\n\t\t}\n\t\tslots['$' + slot] = V;\n\t}\n};\n\nif (Object.freeze) {\n\tObject.freeze(SLOT);\n}\n\nmodule.exports = SLOT;\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $ArrayBuffer = GetIntrinsic('%ArrayBuffer%', true);\n/** @type {undefined | ((receiver: ArrayBuffer) => number) | ((receiver: unknown) => never)} */\nvar $byteLength = callBound('ArrayBuffer.prototype.byteLength', true);\nvar $toString = callBound('Object.prototype.toString');\n\n// in node 0.10, ArrayBuffers have no prototype methods, but have an own slot-checking `slice` method\nvar abSlice = !!$ArrayBuffer && !$byteLength && new $ArrayBuffer(0).slice;\nvar $abSlice = !!abSlice && callBind(abSlice);\n\n/** @type {import('.')} */\nmodule.exports = $byteLength || $abSlice\n\t? function isArrayBuffer(obj) {\n\t\tif (!obj || typeof obj !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\tif ($byteLength) {\n\t\t\t\t// @ts-expect-error no idea why TS can't handle the overload\n\t\t\t\t$byteLength(obj);\n\t\t\t} else {\n\t\t\t\t// @ts-expect-error TS chooses not to type-narrow inside a closure\n\t\t\t\t$abSlice(obj, 0);\n\t\t\t}\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t: $ArrayBuffer\n\t\t// in node 0.8, ArrayBuffers have no prototype or own methods, but also no Symbol.toStringTag\n\t\t? function isArrayBuffer(obj) {\n\t\t\treturn $toString(obj) === '[object ArrayBuffer]';\n\t\t}\n\t\t: function isArrayBuffer(obj) { // eslint-disable-line no-unused-vars\n\t\t\treturn false;\n\t\t};\n","'use strict';\n\nvar hasBigInts = require('has-bigints')();\n\nif (hasBigInts) {\n\tvar bigIntValueOf = BigInt.prototype.valueOf;\n\tvar tryBigInt = function tryBigIntObject(value) {\n\t\ttry {\n\t\t\tbigIntValueOf.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t}\n\t\treturn false;\n\t};\n\n\tmodule.exports = function isBigInt(value) {\n\t\tif (\n\t\t\tvalue === null\n\t\t\t|| typeof value === 'undefined'\n\t\t\t|| typeof value === 'boolean'\n\t\t\t|| typeof value === 'string'\n\t\t\t|| typeof value === 'number'\n\t\t\t|| typeof value === 'symbol'\n\t\t\t|| typeof value === 'function'\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\tif (typeof value === 'bigint') {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn tryBigInt(value);\n\t};\n} else {\n\tmodule.exports = function isBigInt(value) {\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar $boolToStr = callBound('Boolean.prototype.toString');\nvar $toString = callBound('Object.prototype.toString');\n\nvar tryBooleanObject = function booleanBrandCheck(value) {\n\ttry {\n\t\t$boolToStr(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar boolClass = '[object Boolean]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isBoolean(value) {\n\tif (typeof value === 'boolean') {\n\t\treturn true;\n\t}\n\tif (value === null || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag && Symbol.toStringTag in value ? tryBooleanObject(value) : $toString(value) === boolClass;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\n/** @const */\nvar $Map = typeof Map === 'function' && Map.prototype ? Map : null;\nvar $Set = typeof Set === 'function' && Set.prototype ? Set : null;\n\nvar exported;\n\nif (!$Map) {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isMap(x) {\n\t\t// `Map` is not present in this environment.\n\t\treturn false;\n\t};\n}\n\nvar $mapHas = $Map ? Map.prototype.has : null;\nvar $setHas = $Set ? Set.prototype.has : null;\nif (!exported && !$mapHas) {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isMap(x) {\n\t\t// `Map` does not have a `has` method\n\t\treturn false;\n\t};\n}\n\n/** @type {import('.')} */\nmodule.exports = exported || function isMap(x) {\n\tif (!x || typeof x !== 'object') {\n\t\treturn false;\n\t}\n\ttry {\n\t\t$mapHas.call(x);\n\t\tif ($setHas) {\n\t\t\ttry {\n\t\t\t\t$setHas.call(x);\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// @ts-expect-error TS can't figure out that $Map is always truthy here\n\t\treturn x instanceof $Map; // core-js workaround, pre-v2.5.0\n\t} catch (e) {}\n\treturn false;\n};\n","'use strict';\n\nvar numToStr = Number.prototype.toString;\nvar tryNumberObject = function tryNumberObject(value) {\n\ttry {\n\t\tnumToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar numClass = '[object Number]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isNumberObject(value) {\n\tif (typeof value === 'number') {\n\t\treturn true;\n\t}\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryNumberObject(value) : toStr.call(value) === numClass;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thas = callBound('Object.prototype.hasOwnProperty');\n\t$exec = callBound('RegExp.prototype.exec');\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$exec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n","'use strict';\n\nvar $Map = typeof Map === 'function' && Map.prototype ? Map : null;\nvar $Set = typeof Set === 'function' && Set.prototype ? Set : null;\n\nvar exported;\n\nif (!$Set) {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isSet(x) {\n\t\t// `Set` is not present in this environment.\n\t\treturn false;\n\t};\n}\n\nvar $mapHas = $Map ? Map.prototype.has : null;\nvar $setHas = $Set ? Set.prototype.has : null;\nif (!exported && !$setHas) {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isSet(x) {\n\t\t// `Set` does not have a `has` method\n\t\treturn false;\n\t};\n}\n\n/** @type {import('.')} */\nmodule.exports = exported || function isSet(x) {\n\tif (!x || typeof x !== 'object') {\n\t\treturn false;\n\t}\n\ttry {\n\t\t$setHas.call(x);\n\t\tif ($mapHas) {\n\t\t\ttry {\n\t\t\t\t$mapHas.call(x);\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// @ts-expect-error TS can't figure out that $Set is always truthy here\n\t\treturn x instanceof $Set; // core-js workaround, pre-v2.5.0\n\t} catch (e) {}\n\treturn false;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\n\nvar $byteLength = callBound('SharedArrayBuffer.prototype.byteLength', true);\n\n/** @type {import('.')} */\nmodule.exports = $byteLength\n\t? function isSharedArrayBuffer(obj) {\n\t\tif (!obj || typeof obj !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\t$byteLength(obj);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t: function isSharedArrayBuffer(obj) { // eslint-disable-line no-unused-vars\n\t\treturn false;\n\t};\n","'use strict';\n\nvar strValue = String.prototype.valueOf;\nvar tryStringObject = function tryStringObject(value) {\n\ttry {\n\t\tstrValue.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar strClass = '[object String]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isString(value) {\n\tif (typeof value === 'string') {\n\t\treturn true;\n\t}\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = require('has-symbols')();\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isRealSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar $WeakMap = typeof WeakMap === 'function' && WeakMap.prototype ? WeakMap : null;\nvar $WeakSet = typeof WeakSet === 'function' && WeakSet.prototype ? WeakSet : null;\n\nvar exported;\n\nif (!$WeakMap) {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isWeakMap(x) {\n\t\t// `WeakMap` is not present in this environment.\n\t\treturn false;\n\t};\n}\n\nvar $mapHas = $WeakMap ? $WeakMap.prototype.has : null;\nvar $setHas = $WeakSet ? $WeakSet.prototype.has : null;\nif (!exported && !$mapHas) {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\texported = function isWeakMap(x) {\n\t\t// `WeakMap` does not have a `has` method\n\t\treturn false;\n\t};\n}\n\n/** @type {import('.')} */\nmodule.exports = exported || function isWeakMap(x) {\n\tif (!x || typeof x !== 'object') {\n\t\treturn false;\n\t}\n\ttry {\n\t\t$mapHas.call(x, $mapHas);\n\t\tif ($setHas) {\n\t\t\ttry {\n\t\t\t\t$setHas.call(x, $setHas);\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// @ts-expect-error TS can't figure out that $WeakMap is always truthy here\n\t\treturn x instanceof $WeakMap; // core-js workaround, pre-v3\n\t} catch (e) {}\n\treturn false;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\n\nvar $WeakSet = GetIntrinsic('%WeakSet%', true);\n\nvar $setHas = callBound('WeakSet.prototype.has', true);\n\nif ($setHas) {\n\tvar $mapHas = callBound('WeakMap.prototype.has', true);\n\n\t/** @type {import('.')} */\n\tmodule.exports = function isWeakSet(x) {\n\t\tif (!x || typeof x !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\t$setHas(x, $setHas);\n\t\t\tif ($mapHas) {\n\t\t\t\ttry {\n\t\t\t\t\t$mapHas(x, $mapHas);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't figure out that $WeakSet is always truthy here\n\t\t\treturn x instanceof $WeakSet; // core-js workaround, pre-v3\n\t\t} catch (e) {}\n\t\treturn false;\n\t};\n} else {\n\t/** @type {import('.')} */\n\t// eslint-disable-next-line no-unused-vars\n\tmodule.exports = function isWeakSet(x) {\n\t\t// `WeakSet` does not exist, or does not have a `has` method\n\t\treturn false;\n\t};\n}\n","/* Mapbox GL JS is Copyright © 2020 Mapbox and subject to the Mapbox Terms of Service ((https://www.mapbox.com/legal/tos/). */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.mapboxgl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, mapboxgl;\n// define gets called three times: one for each chunk. we rely on the order\n// they're imported to know which is which\nfunction define(_, chunk) {\nif (!shared) {\n shared = chunk;\n} else if (!worker) {\n worker = chunk;\n} else {\n var workerBundleString = \"self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; (\" + shared + \")(sharedChunk); (\" + worker + \")(sharedChunk); self.onerror = null;\"\n\n var sharedChunk = {};\n shared(sharedChunk);\n mapboxgl = chunk(sharedChunk);\n if (typeof window !== 'undefined' && window && window.URL && window.URL.createObjectURL) {\n mapboxgl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n}\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";var e=\"undefined\"!=typeof self?self:{},r=\"2.15.0\";let n;const i={API_URL:\"https://api.mapbox.com\",get API_URL_REGEX(){if(null==n){const t=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;try{n=null!=process.env.API_URL_REGEX?new RegExp(process.env.API_URL_REGEX):t;}catch(e){n=t;}}return n},get API_TILEJSON_REGEX(){return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/v[0-9]*\\/.*\\.json.*$)/i},get API_SPRITE_REGEX(){return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*\\/sprite.*\\..*$)/i},get API_FONTS_REGEX(){return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/fonts\\/v[0-9]*\\/)(.*\\.pbf.*$)/i},get API_STYLE_REGEX(){return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*$)/i},get API_CDN_URL_REGEX(){return /^((https?:)?\\/\\/)?api\\.mapbox\\.c(n|om)(\\/mapbox-gl-js\\/)(.*$)/i},get EVENTS_URL(){if(!i.API_URL)return null;try{const t=new URL(i.API_URL);return \"api.mapbox.cn\"===t.hostname?\"https://events.mapbox.cn/events/v2\":\"api.mapbox.com\"===t.hostname?\"https://events.mapbox.com/events/v2\":null}catch(t){return null}},SESSION_PATH:\"/map-sessions/v1\",FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",TILE_URL_VERSION:\"v4\",RASTER_URL_PREFIX:\"raster/v1\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},s={supported:!1,testSupport:function(t){!l&&o&&(u?c(t):a=t);}};let a,o,l=!1,u=!1;function c(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,o),t.isContextLost())return;s.supported=!0;}catch(t){}t.deleteTexture(e),l=!0;}e.document&&(o=e.document.createElement(\"img\"),o.onload=function(){a&&c(a),a=null,u=!0;},o.onerror=function(){l=!0,a=null;},o.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");const h=\"01\";function p(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var d=f;function f(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}f.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var y=p(d),m=g;function g(t,e){this.x=t,this.y=e;}g.prototype={clone:function(){return new g(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},g.convert=function(t){return t instanceof g?t:Array.isArray(t)?new g(t[0],t[1]):t};var x=p(m);const v=Math.PI/180,b=180/Math.PI;function w(t){return t*v}function _(t){return t*b}const A=[[0,0],[1,0],[1,1],[0,1]];function S(t){if(t<=0)return 0;if(t>=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function k(t,e,r,n){const i=new y(t,e,r,n);return function(t){return i.solve(t)}}const I=k(.25,.1,.25,1);function M(t,e,r){return Math.min(r,Math.max(e,t))}function T(t,e,r){return (r=M((r-t)/(e-t),0,1))*r*(3-2*r)}function z(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function B(t,e,r){if(!t.length)return r(null,[]);let n=t.length;const i=new Array(t.length);let s=null;t.forEach(((t,a)=>{e(t,((t,e)=>{t&&(s=t),i[a]=e,0==--n&&r(s,i);}));}));}function E(t){const e=[];for(const r in t)e.push(t[r]);return e}function C(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let P=1;function D(){return P++}function V(){return function t(e){return e?(e^Math.random()*(16>>e/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function L(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function F(t){return !!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function R(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e));}));}function U(t,e){return -1!==t.indexOf(e,t.length-e.length)}function $(t,e,r){const n={};for(const i in t)n[i]=e.call(r||this,t[i],i,t);return n}function j(t,e,r){const n={};for(const i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function O(t){return Array.isArray(t)?t.map(O):\"object\"==typeof t&&t?$(t,O):t}const q={};function N(t){q[t]||(\"undefined\"!=typeof console&&console.warn(t),q[t]=!0);}function G(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function Z(t){let e=0;for(let r,n,i=0,s=t.length,a=s-1;i@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const s=n||i;return e[r]=!s||s.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e}let J=null;function H(t){if(null==J){const e=t.navigator?t.navigator.userAgent:null;J=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return J}function Y(t){try{const r=e[t];return r.setItem(\"_mapbox_test_\",1),r.removeItem(\"_mapbox_test_\"),!0}catch(t){return !1}}function W(t,e){return [t[4*e],t[4*e+1],t[4*e+2],t[4*e+3]]}const Q=\"mapbox-tiles\";let tt=500,et=50;let rt,nt;function it(){try{return e.caches}catch(t){}}function st(){it()&&!rt&&(rt=e.caches.open(Q));}function at(t){const e=t.indexOf(\"?\");if(e<0)return t;const r=function(t){const e=t.indexOf(\"?\");return e>0?t.slice(e+1).split(\"&\"):[]}(t),n=r.filter((t=>{const e=t.split(\"=\");return \"language\"===e[0]||\"worldview\"===e[0]}));return n.length?`${t.slice(0,e)}?${n.join(\"&\")}`:t.slice(0,e)}let ot=1/0;const lt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(lt);class ut extends Error{constructor(t,e,r){401===e&&bt(r)&&(t+=\": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes\"),super(t),this.status=e,this.url=r;}toString(){return `${this.name}: ${this.message} (${this.status}): ${this.url}`}}const ct=K()?()=>self.worker&&self.worker.referrer:()=>(\"blob:\"===e.location.protocol?e.parent:e).location.href;const ht=function(t,r){if(!(/^file:/.test(n=t.url)||/^file:/.test(ct())&&!/^\\w+:/.test(n))){if(e.fetch&&e.Request&&e.AbortController&&e.Request.prototype.hasOwnProperty(\"signal\"))return function(t,r){const n=new e.AbortController,i=new e.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ct(),referrerPolicy:t.referrerPolicy,signal:n.signal});let s=!1,a=!1;const o=(l=i.url).indexOf(\"sku=\")>0&&bt(l);var l;\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");const u=(n,s,l)=>{if(a)return;if(n&&\"SecurityError\"!==n.message&&N(n.toString()),s&&l)return c(s);const u=Date.now();e.fetch(i).then((e=>{if(e.ok){const t=o?e.clone():null;return c(e,t,u)}return r(new ut(e.statusText,e.status,t.url))})).catch((e=>{\"AbortError\"!==e.name&&r(new Error(`${e.message} ${t.url}`));}));},c=(n,o,l)=>{(\"arrayBuffer\"===t.type?n.arrayBuffer():\"json\"===t.type?n.json():n.text()).then((t=>{a||(o&&l&&function(t,r,n){if(st(),!rt)return;const i={status:r.status,statusText:r.statusText,headers:new e.Headers};r.headers.forEach(((t,e)=>i.headers.set(e,t)));const s=X(r.headers.get(\"Cache-Control\")||\"\");if(s[\"no-store\"])return;s[\"max-age\"]&&i.headers.set(\"Expires\",new Date(n+1e3*s[\"max-age\"]).toUTCString());const a=i.headers.get(\"Expires\");a&&(new Date(a).getTime()-n<42e4||function(t,e){if(void 0===nt)try{new Response(new ReadableStream),nt=!0;}catch(t){nt=!1;}nt?e(t.body):t.blob().then(e);}(r,(r=>{const n=new e.Response(r,i);st(),rt&&rt.then((e=>e.put(at(t.url),n))).catch((t=>N(t.message)));})));}(i,o,l),s=!0,r(null,t,n.headers.get(\"Cache-Control\"),n.headers.get(\"Expires\")));})).catch((t=>{a||r(new Error(t.message));}));};return o?function(t,e){if(st(),!rt)return e(null);const r=at(t.url);rt.then((t=>{t.match(r).then((n=>{const i=function(t){if(!t)return !1;const e=new Date(t.headers.get(\"Expires\")||0),r=X(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i);})).catch(e);})).catch(e);}(i,u):u(null,null),{cancel:()=>{a=!0,s||n.abort();}}}(t,r);if(K()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,r,void 0,!0)}var n;return function(t,r){const n=new e.XMLHttpRequest;n.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(n.responseType=\"arraybuffer\");for(const e in t.headers)n.setRequestHeader(e,t.headers[e]);return \"json\"===t.type&&(n.responseType=\"text\",n.setRequestHeader(\"Accept\",\"application/json\")),n.withCredentials=\"include\"===t.credentials,n.onerror=()=>{r(new Error(n.statusText));},n.onload=()=>{if((n.status>=200&&n.status<300||0===n.status)&&null!==n.response){let e=n.response;if(\"json\"===t.type)try{e=JSON.parse(n.response);}catch(t){return r(t)}r(null,e,n.getResponseHeader(\"Cache-Control\"),n.getResponseHeader(\"Expires\"));}else r(new ut(n.statusText,n.status,t.url));},n.send(t.body),{cancel:()=>n.abort()}}(t,r)},pt=function(t,e){return ht(C(t,{type:\"arrayBuffer\"}),e)};function dt(t){const r=e.document.createElement(\"a\");return r.href=t,r.protocol===e.document.location.protocol&&r.host===e.document.location.host}const ft=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";let yt,mt;yt=[],mt=0;const gt=function(t,r){if(s.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),mt>=i.MAX_PARALLEL_IMAGE_REQUESTS){const e={requestParameters:t,callback:r,cancelled:!1,cancel(){this.cancelled=!0;}};return yt.push(e),e}mt++;let n=!1;const a=()=>{if(!n)for(n=!0,mt--;yt.length&&mt{a(),t?r(t):n&&(e.createImageBitmap?function(t,r){const n=new e.Blob([new Uint8Array(t)],{type:\"image/png\"});e.createImageBitmap(n).then((t=>{r(null,t);})).catch((t=>{r(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));}));}(n,((t,e)=>r(t,e,i,s))):function(t,r){const n=new e.Image,i=e.URL;n.onload=()=>{r(null,n),i.revokeObjectURL(n.src),n.onload=null,e.requestAnimationFrame((()=>{n.src=ft;}));},n.onerror=()=>r(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const s=new e.Blob([new Uint8Array(t)],{type:\"image/png\"});n.src=t.byteLength?i.createObjectURL(s):ft;}(n,((t,e)=>r(t,e,i,s))));}));return {cancel:()=>{o.cancel(),a();}}},xt=\"NO_ACCESS_TOKEN\";function vt(t){return 0===t.indexOf(\"mapbox:\")}function bt(t){return i.API_URL_REGEX.test(t)}function wt(t){return i.API_CDN_URL_REGEX.test(t)}function _t(t){return i.API_STYLE_REGEX.test(t)&&!At(t)}function At(t){return i.API_SPRITE_REGEX.test(t)}const St=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function kt(t){const e=t.match(St);if(!e)throw new Error(\"Unable to parse URL object\");return {protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function It(t){const e=t.params.length?`?${t.params.join(\"&\")}`:\"\";return `${t.protocol}://${t.authority}${t.path}${e}`}const Mt=\"mapbox.eventData\";function Tt(t){if(!t)return null;const r=t.split(\".\");if(!r||3!==r.length)return null;try{return JSON.parse(decodeURIComponent(e.atob(r[1]).split(\"\").map((t=>\"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2))).join(\"\")))}catch(t){return null}}class zt{constructor(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null;}getStorageKey(t){const r=Tt(i.ACCESS_TOKEN);let n=\"\";return n=r&&r.u?e.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,((t,e)=>String.fromCharCode(Number(\"0x\"+e))))):i.ACCESS_TOKEN||\"\",t?`${Mt}.${t}:${n}`:`${Mt}:${n}`}fetchEventData(){const t=Y(\"localStorage\"),r=this.getStorageKey(),n=this.getStorageKey(\"uuid\");if(t)try{const t=e.localStorage.getItem(r);t&&(this.eventData=JSON.parse(t));const i=e.localStorage.getItem(n);i&&(this.anonId=i);}catch(t){N(\"Unable to read from LocalStorage\");}}saveEventData(){const t=Y(\"localStorage\"),r=this.getStorageKey(),n=this.getStorageKey(\"uuid\");if(t)try{e.localStorage.setItem(n,this.anonId),Object.keys(this.eventData).length>=1&&e.localStorage.setItem(r,JSON.stringify(this.eventData));}catch(t){N(\"Unable to write to LocalStorage\");}}processRequests(t){}postEvent(t,e,r,n){if(!i.EVENTS_URL)return;const s=kt(i.EVENTS_URL);s.params.push(`access_token=${n||i.ACCESS_TOKEN||\"\"}`);const a={event:this.type,created:new Date(t).toISOString()},o=e?C(a,e):a,l={url:It(s),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([o])};this.pendingRequest=function(t,e){return ht(C(t,{method:\"POST\"}),e)}(l,(t=>{this.pendingRequest=null,r(t),this.saveEventData(),this.processRequests(n);}));}queueRequest(t,e){this.queue.push(t),this.processRequests(e);}}const Bt=new class extends zt{constructor(t){super(\"appUserTurnstile\"),this._customAccessToken=t;}postTurnstileEvent(t,e){i.EVENTS_URL&&i.ACCESS_TOKEN&&Array.isArray(t)&&t.some((t=>vt(t)||bt(t)))&&this.queueRequest(Date.now(),e);}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const e=Tt(i.ACCESS_TOKEN),n=e?e.u:i.ACCESS_TOKEN;let s=n!==this.eventData.tokenU;F(this.anonId)||(this.anonId=V(),s=!0);const a=this.queue.shift();if(this.eventData.lastSuccess){const t=new Date(this.eventData.lastSuccess),e=new Date(a),r=(a-this.eventData.lastSuccess)/864e5;s=s||r>=1||r<-1||t.getDate()!==e.getDate();}else s=!0;s?this.postEvent(a,{sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:h,\"enabled.telemetry\":!1,userId:this.anonId},(t=>{t||(this.eventData.lastSuccess=a,this.eventData.tokenU=n);}),t):this.processRequests();}},Et=Bt.postTurnstileEvent.bind(Bt),Ct=new class extends zt{constructor(){super(\"map.load\"),this.success={},this.skuToken=\"\";}postMapLoadEvent(t,e,r,n){this.skuToken=e,this.errorCb=n,i.EVENTS_URL&&(r||i.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},r):this.errorCb(new Error(xt)));}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:n}=this.queue.shift();e&&this.success[e]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=V()),this.postEvent(n,{sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:h,skuToken:this.skuToken,userId:this.anonId},(t=>{t?this.errorCb(t):e&&(this.success[e]=!0);}),t));}},Pt=Ct.postMapLoadEvent.bind(Ct),Dt=new class extends zt{constructor(){super(\"gljs.performance\");}postPerformanceEvent(t,e){i.EVENTS_URL&&(t||i.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:e},t);}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:n,performanceData:i}=this.queue.shift(),s=function(t){const n=e.performance.getEntriesByType(\"resource\"),i=e.performance.getEntriesByType(\"mark\"),s=function(t){const e={};if(t)for(const r in t)if(\"other\"!==r)for(const n of t[r]){const t=`${r}ResolveRangeMin`,i=`${r}ResolveRangeMax`,s=`${r}RequestCount`,a=`${r}RequestCachedCount`;e[t]=Math.min(e[t]||1/0,n.startTime),e[i]=Math.max(e[i]||-1/0,n.responseEnd);const o=t=>{void 0===e[t]&&(e[t]=0),++e[t];};void 0!==n.transferSize&&0===n.transferSize&&o(a),o(s);}return e}(function(t,e){const r={};if(t)for(const n of t){const t=e(n);void 0===r[t]&&(r[t]=[]),r[t].push(n);}return r}(n,jt)),a=e.devicePixelRatio,o=e.navigator.connection||e.navigator.mozConnection||e.navigator.webkitConnection,l={counters:[],metadata:[],attributes:[]},u=(t,e,r)=>{null!=r&&t.push({name:e,value:r.toString()});};for(const t in s)u(l.counters,t,s[t]);if(t.interactionRange[0]!==1/0&&t.interactionRange[1]!==-1/0&&(u(l.counters,\"interactionRangeMin\",t.interactionRange[0]),u(l.counters,\"interactionRangeMax\",t.interactionRange[1])),i)for(const t of Object.keys(Ut)){const e=Ut[t],r=i.find((t=>t.name===e));r&&u(l.counters,e,r.startTime);}return u(l.counters,\"visibilityHidden\",t.visibilityHidden),u(l.attributes,\"style\",function(t){if(t)for(const e of t){const t=e.name.split(\"?\")[0];if(_t(t)){const e=t.split(\"/\").slice(-2);if(2===e.length)return `mapbox://styles/${e[0]}/${e[1]}`}}}(n)),u(l.attributes,\"terrainEnabled\",t.terrainEnabled?\"true\":\"false\"),u(l.attributes,\"fogEnabled\",t.fogEnabled?\"true\":\"false\"),u(l.attributes,\"projection\",t.projection),u(l.attributes,\"zoom\",t.zoom),u(l.metadata,\"devicePixelRatio\",a),u(l.metadata,\"connectionEffectiveType\",o?o.effectiveType:void 0),u(l.metadata,\"navigatorUserAgent\",e.navigator.userAgent),u(l.metadata,\"screenWidth\",e.screen.width),u(l.metadata,\"screenHeight\",e.screen.height),u(l.metadata,\"windowWidth\",e.innerWidth),u(l.metadata,\"windowHeight\",e.innerHeight),u(l.metadata,\"mapWidth\",t.width/a),u(l.metadata,\"mapHeight\",t.height/a),u(l.metadata,\"webglRenderer\",t.renderer),u(l.metadata,\"webglVendor\",t.vendor),u(l.metadata,\"sdkVersion\",r),u(l.metadata,\"sdkIdentifier\",\"mapbox-gl-js\"),l}(i);for(const t of s.metadata);for(const t of s.counters);for(const t of s.attributes);this.postEvent(n,s,(()=>{}),t);}},Vt=Dt.postPerformanceEvent.bind(Dt),Lt=new class extends zt{constructor(){super(\"map.auth\"),this.success={},this.skuToken=\"\";}getSession(t,e,r,n){if(!i.API_URL||!i.SESSION_PATH)return;const s=kt(i.API_URL+i.SESSION_PATH);s.params.push(`sku=${e||\"\"}`),s.params.push(`access_token=${n||i.ACCESS_TOKEN||\"\"}`);const a={url:It(s),headers:{\"Content-Type\":\"text/plain\"}};this.pendingRequest=function(t,e){return ht(C(t,{method:\"GET\"}),e)}(a,(t=>{this.pendingRequest=null,r(t),this.saveEventData(),this.processRequests(n);}));}getSessionAPI(t,e,r,n){this.skuToken=e,this.errorCb=n,i.SESSION_PATH&&i.API_URL&&(r||i.ACCESS_TOKEN?this.queueRequest({id:t,timestamp:Date.now()},r):this.errorCb(new Error(xt)));}processRequests(t){if(this.pendingRequest||0===this.queue.length)return;const{id:e,timestamp:r}=this.queue.shift();e&&this.success[e]||this.getSession(r,this.skuToken,(t=>{t?this.errorCb(t):e&&(this.success[e]=!0);}),t);}},Ft=Lt.getSessionAPI.bind(Lt),Rt=new Set,Ut={create:\"create\",load:\"load\",fullLoad:\"fullLoad\"},$t={mark(t){e.performance.mark(t);},measure(t,r,n){e.performance.measure(t,r,n);}};function jt(t){const e=t.name.split(\"?\")[0];return wt(e)&&e.includes(\"mapbox-gl.js\")?\"javascript\":wt(e)&&e.includes(\"mapbox-gl.css\")?\"css\":function(t){return i.API_FONTS_REGEX.test(t)}(e)?\"fontRange\":At(e)?\"sprite\":_t(e)?\"style\":function(t){return i.API_TILEJSON_REGEX.test(t)}(e)?\"tilejson\":\"other\"}const Ot=e.performance;function qt(t){const e=t?t.url.toString():void 0;return Ot.getEntriesByName(e)}let Nt,Gt,Zt,Kt;const Xt={now:()=>void 0!==Zt?Zt:e.performance.now(),setNow(t){Zt=t;},restoreNow(){Zt=void 0;},frame(t){const r=e.requestAnimationFrame(t);return {cancel:()=>e.cancelAnimationFrame(r)}},getImageData(t,r=0){const{width:n,height:i}=t;Kt||(Kt=e.document.createElement(\"canvas\"));const s=Kt.getContext(\"2d\",{willReadFrequently:!0});if(!s)throw new Error(\"failed to create canvas 2d context\");return (n>Kt.width||i>Kt.height)&&(Kt.width=n,Kt.height=i),s.clearRect(-r,-r,n+2*r,i+2*r),s.drawImage(t,0,0,n,i),s.getImageData(-r,-r,n+2*r,i+2*r)},resolveURL:t=>(Nt||(Nt=e.document.createElement(\"a\")),Nt.href=t,Nt.href),get devicePixelRatio(){return e.devicePixelRatio},get prefersReducedMotion(){return !!e.matchMedia&&(null==Gt&&(Gt=e.matchMedia(\"(prefers-reduced-motion: reduce)\")),Gt.matches)}};function Jt(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function Ht(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class Yt{constructor(t,e={}){C(this,e),this.type=t;}}class Wt extends Yt{constructor(t,e={}){super(\"error\",C({error:t},e));}}class Qt{on(t,e){return this._listeners=this._listeners||{},Jt(t,e,this._listeners),this}off(t,e){return Ht(t,e,this._listeners),Ht(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},Jt(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new Yt(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)Ht(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(C(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof Wt&&console.error(t.error);return this}listens(t){return !!(this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t))}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var te=JSON.parse('{\"$version\":8,\"$root\":{\"version\":{\"required\":true,\"type\":\"enum\",\"values\":[8]},\"name\":{\"type\":\"string\"},\"metadata\":{\"type\":\"*\"},\"center\":{\"type\":\"array\",\"value\":\"number\"},\"zoom\":{\"type\":\"number\"},\"bearing\":{\"type\":\"number\",\"default\":0,\"period\":360,\"units\":\"degrees\"},\"pitch\":{\"type\":\"number\",\"default\":0,\"units\":\"degrees\"},\"light\":{\"type\":\"light\"},\"terrain\":{\"type\":\"terrain\"},\"fog\":{\"type\":\"fog\"},\"sources\":{\"required\":true,\"type\":\"sources\"},\"sprite\":{\"type\":\"string\"},\"glyphs\":{\"type\":\"string\"},\"transition\":{\"type\":\"transition\"},\"projection\":{\"type\":\"projection\"},\"layers\":{\"required\":true,\"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\":true,\"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\":false},\"*\":{\"type\":\"*\"}},\"source_raster\":{\"type\":{\"required\":true,\"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\":false},\"*\":{\"type\":\"*\"}},\"source_raster_dem\":{\"type\":{\"required\":true,\"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\":{}},\"default\":\"mapbox\"},\"volatile\":{\"type\":\"boolean\",\"default\":false},\"*\":{\"type\":\"*\"}},\"source_geojson\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"geojson\":{}}},\"data\":{\"type\":\"*\"},\"maxzoom\":{\"type\":\"number\",\"default\":18},\"attribution\":{\"type\":\"string\"},\"buffer\":{\"type\":\"number\",\"default\":128,\"maximum\":512,\"minimum\":0},\"filter\":{\"type\":\"*\"},\"tolerance\":{\"type\":\"number\",\"default\":0.375},\"cluster\":{\"type\":\"boolean\",\"default\":false},\"clusterRadius\":{\"type\":\"number\",\"default\":50,\"minimum\":0},\"clusterMaxZoom\":{\"type\":\"number\"},\"clusterMinPoints\":{\"type\":\"number\"},\"clusterProperties\":{\"type\":\"*\"},\"lineMetrics\":{\"type\":\"boolean\",\"default\":false},\"generateId\":{\"type\":\"boolean\",\"default\":false},\"promoteId\":{\"type\":\"promoteId\"}},\"source_video\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"video\":{}}},\"urls\":{\"required\":true,\"type\":\"array\",\"value\":\"string\"},\"coordinates\":{\"required\":true,\"type\":\"array\",\"length\":4,\"value\":{\"type\":\"array\",\"length\":2,\"value\":\"number\"}}},\"source_image\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"image\":{}}},\"url\":{\"required\":true,\"type\":\"string\"},\"coordinates\":{\"required\":true,\"type\":\"array\",\"length\":4,\"value\":{\"type\":\"array\",\"length\":2,\"value\":\"number\"}}},\"layer\":{\"id\":{\"type\":\"string\",\"required\":true},\"type\":{\"type\":\"enum\",\"values\":{\"fill\":{},\"line\":{},\"symbol\":{},\"circle\":{},\"heatmap\":{},\"fill-extrusion\":{},\"raster\":{},\"hillshade\":{},\"background\":{},\"sky\":{}},\"required\":true},\"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_background\",\"layout_sky\"],\"layout_background\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_sky\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_fill\":{\"fill-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_circle\":{\"circle-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_heatmap\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"},\"fill-extrusion-edge-radius\":{\"type\":\"number\",\"private\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"property-type\":\"constant\"}},\"layout_line\":{\"line-cap\":{\"type\":\"enum\",\"values\":{\"butt\":{},\"round\":{},\"square\":{}},\"default\":\"butt\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-join\":{\"type\":\"enum\",\"values\":{\"bevel\":{},\"round\":{},\"miter\":{}},\"default\":\"miter\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{\"type\":\"number\",\"default\":2,\"requires\":[{\"line-join\":\"miter\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{\"type\":\"number\",\"default\":1.05,\"requires\":[{\"line-join\":\"round\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_symbol\":{\"symbol-placement\":{\"type\":\"enum\",\"values\":{\"point\":{},\"line\":{},\"line-center\":{}},\"default\":\"point\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{\"type\":\"number\",\"default\":250,\"minimum\":1,\"units\":\"pixels\",\"requires\":[{\"symbol-placement\":\"line\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{\"type\":\"boolean\",\"default\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{\"type\":\"enum\",\"values\":{\"auto\":{},\"viewport-y\":{},\"source\":{}},\"default\":\"auto\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\",\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"units\":\"factor of the original icon size\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"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\":false,\"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\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{\"type\":\"resolvedImage\",\"tokens\":true,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"units\":\"degrees\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{\"type\":\"number\",\"default\":2,\"minimum\":0,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"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\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{\"type\":\"formatted\",\"default\":\"\",\"tokens\":true,\"expression\":{\"interpolated\":false,\"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\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{\"type\":\"number\",\"default\":16,\"minimum\":0,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{\"type\":\"number\",\"default\":10,\"minimum\":0,\"units\":\"ems\",\"requires\":[\"text-field\",{\"symbol-placement\":[\"point\"]}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{\"type\":\"number\",\"default\":1.2,\"units\":\"ems\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-letter-spacing\":{\"type\":\"number\",\"default\":0,\"units\":\"ems\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{\"type\":\"enum\",\"values\":{\"auto\":{},\"left\":{},\"center\":{},\"right\":{}},\"default\":\"center\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"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\":true,\"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\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"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\":false,\"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\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{\"type\":\"array\",\"value\":\"enum\",\"values\":{\"horizontal\":{},\"vertical\":{}},\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"units\":\"degrees\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{\"type\":\"number\",\"default\":2,\"minimum\":0,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{\"type\":\"boolean\",\"default\":true,\"requires\":[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{\"type\":\"enum\",\"values\":{\"none\":{},\"uppercase\":{},\"lowercase\":{}},\"default\":\"none\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"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\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"text-field\",\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_raster\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_hillshade\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"filter\":{\"type\":\"array\",\"value\":\"*\"},\"filter_symbol\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\",\"pitch\",\"distance-from-center\"]}},\"filter_fill\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_line\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_circle\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_fill-extrusion\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_heatmap\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_operator\":{\"type\":\"enum\",\"values\":{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{},\"within\":{}}},\"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\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":24,\"value\":[\"number\",\"color\"],\"length\":2},\"expression\":{\"type\":\"array\",\"value\":\"*\",\"minimum\":1},\"fog\":{\"range\":{\"type\":\"array\",\"default\":[0.5,10],\"minimum\":-20,\"maximum\":20,\"length\":2,\"value\":\"number\",\"property-type\":\"data-constant\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]}},\"color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":\"#ffffff\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"high-color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":\"#245cdf\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"space-color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":[\"interpolate\",[\"linear\"],[\"zoom\"],4,\"#010b19\",7,\"#367ab9\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"horizon-blend\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":[\"interpolate\",[\"linear\"],[\"zoom\"],4,0.2,7,0.1],\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"star-intensity\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":[\"interpolate\",[\"linear\"],[\"zoom\"],5,0.35,6,0],\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true}},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"property-type\":\"data-constant\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]}},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"property-type\":\"data-constant\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]}},\"color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":\"#ffffff\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"intensity\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true}},\"projection\":{\"name\":{\"type\":\"enum\",\"values\":{\"albers\":{},\"equalEarth\":{},\"equirectangular\":{},\"lambertConformalConic\":{},\"mercator\":{},\"naturalEarth\":{},\"winkelTripel\":{},\"globe\":{}},\"default\":\"mercator\",\"required\":true},\"center\":{\"type\":\"array\",\"length\":2,\"value\":\"number\",\"property-type\":\"data-constant\",\"minimum\":[-180,-90],\"maximum\":[180,90],\"transition\":false,\"requires\":[{\"name\":[\"albers\",\"lambertConformalConic\"]}]},\"parallels\":{\"type\":\"array\",\"length\":2,\"value\":\"number\",\"property-type\":\"data-constant\",\"minimum\":[-90,-90],\"maximum\":[90,90],\"transition\":false,\"requires\":[{\"name\":[\"albers\",\"lambertConformalConic\"]}]}},\"terrain\":{\"source\":{\"type\":\"string\",\"required\":true},\"exaggeration\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":1,\"minimum\":0,\"maximum\":1000,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true,\"requires\":[\"source\"]}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\",\"paint_sky\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"default\":true,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{\"type\":\"color\",\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-height\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{\"type\":\"boolean\",\"default\":true,\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-ambient-occlusion-intensity\":{\"property-type\":\"data-constant\",\"type\":\"number\",\"private\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"fill-extrusion-ambient-occlusion-radius\":{\"property-type\":\"data-constant\",\"type\":\"number\",\"private\":true,\"default\":3,\"minimum\":0,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true,\"requires\":[\"fill-extrusion-edge-radius\"]},\"fill-extrusion-rounded-roof\":{\"type\":\"boolean\",\"default\":true,\"requires\":[\"fill-extrusion-edge-radius\"],\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"minimum\":0,\"transition\":false,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-gradient\":{\"type\":\"color\",\"transition\":false,\"requires\":[{\"!\":\"line-pattern\"},{\"source\":\"geojson\",\"has\":{\"lineMetrics\":true}}],\"expression\":{\"interpolated\":true,\"parameters\":[\"line-progress\"]},\"property-type\":\"color-ramp\"},\"line-trim-offset\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"minimum\":[0,0],\"maximum\":[1,1],\"transition\":false,\"requires\":[{\"source\":\"geojson\",\"has\":{\"lineMetrics\":true}}],\"property-type\":\"constant\"}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"viewport\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},\"paint_heatmap\":{\"heatmap-radius\":{\"type\":\"number\",\"default\":30,\"minimum\":1,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"transition\":false,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{\"type\":\"color\",\"default\":[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",0.1,\"royalblue\",0.3,\"cyan\",0.5,\"lime\",0.7,\"yellow\",1,\"red\"],\"transition\":false,\"expression\":{\"interpolated\":true,\"parameters\":[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"transition\":true,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"overridable\":true,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"transition\":true,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"transition\":true,\"units\":\"degrees\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{\"type\":\"enum\",\"values\":{\"linear\":{},\"nearest\":{}},\"default\":\"linear\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"transition\":false,\"units\":\"milliseconds\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_hillshade\":{\"hillshade-illumination-direction\":{\"type\":\"number\",\"default\":335,\"minimum\":0,\"maximum\":359,\"transition\":false,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"viewport\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{\"type\":\"color\",\"default\":\"#FFFFFF\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_sky\":{\"sky-type\":{\"type\":\"enum\",\"values\":{\"gradient\":{},\"atmosphere\":{}},\"default\":\"atmosphere\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-atmosphere-sun\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"units\":\"degrees\",\"minimum\":[0,0],\"maximum\":[360,180],\"transition\":false,\"requires\":[{\"sky-type\":\"atmosphere\"}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-atmosphere-sun-intensity\":{\"type\":\"number\",\"requires\":[{\"sky-type\":\"atmosphere\"}],\"default\":10,\"minimum\":0,\"maximum\":100,\"transition\":false,\"property-type\":\"data-constant\"},\"sky-gradient-center\":{\"type\":\"array\",\"requires\":[{\"sky-type\":\"gradient\"}],\"value\":\"number\",\"default\":[0,0],\"length\":2,\"units\":\"degrees\",\"minimum\":[0,0],\"maximum\":[360,180],\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-gradient-radius\":{\"type\":\"number\",\"requires\":[{\"sky-type\":\"gradient\"}],\"default\":90,\"minimum\":0,\"maximum\":180,\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-gradient\":{\"type\":\"color\",\"default\":[\"interpolate\",[\"linear\"],[\"sky-radial-progress\"],0.8,\"#87ceeb\",1,\"white\"],\"transition\":false,\"requires\":[{\"sky-type\":\"gradient\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"sky-radial-progress\"]},\"property-type\":\"color-ramp\"},\"sky-atmosphere-halo-color\":{\"type\":\"color\",\"default\":\"white\",\"transition\":false,\"requires\":[{\"sky-type\":\"atmosphere\"}],\"property-type\":\"data-constant\"},\"sky-atmosphere-color\":{\"type\":\"color\",\"default\":\"white\",\"transition\":false,\"requires\":[{\"sky-type\":\"atmosphere\"}],\"property-type\":\"data-constant\"},\"sky-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"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\"},\"color-ramp\":{\"type\":\"property-type\"},\"data-constant\":{\"type\":\"property-type\"},\"constant\":{\"type\":\"property-type\"}},\"promoteId\":{\"*\":{\"type\":\"string\"}}}');function ee(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}function re(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function ne(t){if(Array.isArray(t))return t.map(ne);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const r in t)e[r]=ne(t[r]);return e}return re(t)}class ie extends Error{constructor(t,e){super(e),this.message=e,this.key=t;}}var se=ie;class ae{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,r]of e)this.bindings[t]=r;}concat(t){return new ae(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)}}var oe=ae;const le={kind:\"null\"},ue={kind:\"number\"},ce={kind:\"string\"},he={kind:\"boolean\"},pe={kind:\"color\"},de={kind:\"object\"},fe={kind:\"value\"},ye={kind:\"collator\"},me={kind:\"formatted\"},ge={kind:\"resolvedImage\"};function xe(t,e){return {kind:\"array\",itemType:t,N:e}}function ve(t){if(\"array\"===t.kind){const e=ve(t.itemType);return \"number\"==typeof t.N?`array<${e}, ${t.N}>`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const be=[le,ue,ce,he,pe,me,de,xe(fe),ge];function we(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!we(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(const t of be)if(!we(t,e))return null}return `Expected ${ve(t)} but found ${ve(e)} instead.`}function _e(t,e){return e.some((e=>e.kind===t.kind))}function Ae(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}var Se,ke={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Ie(t){return (t=Math.round(t))<0?0:t>255?255:t}function Me(t){return Ie(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Te(t){return (e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function ze(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{Se={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,\"\").toLowerCase();if(r in ke)return ke[r].slice();if(\"#\"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf(\"(\"),i=r.indexOf(\")\");if(-1!==n&&i+1===r.length){var s=r.substr(0,n),a=r.substr(n+1,i-(n+1)).split(\",\"),o=1;switch(s){case\"rgba\":if(4!==a.length)return null;o=Te(a.pop());case\"rgb\":return 3!==a.length?null:[Me(a[0]),Me(a[1]),Me(a[2]),o];case\"hsla\":if(4!==a.length)return null;o=Te(a.pop());case\"hsl\":if(3!==a.length)return null;var l=(parseFloat(a[0])%360+360)%360/360,u=Te(a[1]),c=Te(a[2]),h=c<=.5?c*(u+1):c+u-c*u,p=2*c-h;return [Ie(255*ze(p,h,l+1/3)),Ie(255*ze(p,h,l)),Ie(255*ze(p,h,l-1/3)),o];default:return null}}return null};}catch(t){}class Be{constructor(t,e,r,n=1){this.r=t,this.g=e,this.b=r,this.a=n;}static parse(t){if(!t)return;if(t instanceof Be)return t;if(\"string\"!=typeof t)return;const e=Se(t);return e?new Be(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,r,n]=this.toArray();return `rgba(${Math.round(t)},${Math.round(e)},${Math.round(r)},${n})`}toArray(){const{r:t,g:e,b:r,a:n}=this;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]}toArray01(){const{r:t,g:e,b:r,a:n}=this;return 0===n?[0,0,0,0]:[t/n,e/n,r/n,n]}toArray01PremultipliedAlpha(){const{r:t,g:e,b:r,a:n}=this;return [t,e,r,n]}}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.blue=new Be(0,0,1,1);var Ee=Be;class Ce{constructor(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Pe{constructor(t,e,r,n,i){this.text=t.normalize?t.normalize():t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class De{constructor(t){this.sections=t;}static fromString(t){return new De([new Pe(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof De?t:De.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}serialize(){const t=[\"format\"];for(const e of this.sections){if(e.image){t.push([\"image\",e.image.name]);continue}t.push(e.text);const r={};e.fontStack&&(r[\"text-font\"]=[\"literal\",e.fontStack.split(\",\")]),e.scale&&(r[\"font-scale\"]=e.scale),e.textColor&&(r[\"text-color\"]=[\"rgba\"].concat(e.textColor.toArray())),t.push(r);}return t}}class Ve{constructor(t){this.name=t.name,this.available=t.available;}toString(){return this.name}static fromString(t){return t?new Ve({name:t,available:!1}):null}serialize(){return [\"image\",this.name]}}function Le(t,e,r,n){return \"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Fe(t){if(null===t)return !0;if(\"string\"==typeof t)return !0;if(\"boolean\"==typeof t)return !0;if(\"number\"==typeof t)return !0;if(t instanceof Ee)return !0;if(t instanceof Ce)return !0;if(t instanceof De)return !0;if(t instanceof Ve)return !0;if(Array.isArray(t)){for(const e of t)if(!Fe(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!Fe(t[e]))return !1;return !0}return !1}function Re(t){if(null===t)return le;if(\"string\"==typeof t)return ce;if(\"boolean\"==typeof t)return he;if(\"number\"==typeof t)return ue;if(t instanceof Ee)return pe;if(t instanceof Ce)return ye;if(t instanceof De)return me;if(t instanceof Ve)return ge;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=Re(e);if(r){if(r===t)continue;r=fe;break}r=t;}return xe(r||fe,e)}return de}function Ue(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Ee||t instanceof De||t instanceof Ve?t.toString():JSON.stringify(t)}class $e{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Fe(t[1]))return e.error(\"invalid value\");const r=t[1];let n=Re(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new $e(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}serialize(){return \"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof Ee?[\"rgba\"].concat(this.value.toArray()):this.value instanceof De?this.value.serialize():this.value}}var je=$e,Oe=class{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}};const qe={string:ce,number:ue,boolean:he,object:de};class Ne{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,s;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in qe)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=qe[r],n++;}else i=fe;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);s=t[2],n++;}r=xe(i,s);}else r=qe[i];const s=[];for(;nt.outputDefined()))}serialize(){const t=this.type,e=[t.kind];if(\"array\"===t.kind){const r=t.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){e.push(r.kind);const n=t.N;(\"number\"==typeof n||this.args.length>1)&&e.push(n);}}return e.concat(this.args.map((t=>t.serialize())))}}var Ge=Ne;class Ze{constructor(t){this.type=me,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const s=t[r];if(i&&\"object\"==typeof s&&!Array.isArray(s)){i=!1;let t=null;if(s[\"font-scale\"]&&(t=e.parse(s[\"font-scale\"],1,ue),!t))return null;let r=null;if(s[\"text-font\"]&&(r=e.parse(s[\"text-font\"],1,xe(ce)),!r))return null;let a=null;if(s[\"text-color\"]&&(a=e.parse(s[\"text-color\"],1,pe),!a))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=a;}else {const s=e.parse(t[r],1,fe);if(!s)return null;const a=s.type.kind;if(\"string\"!==a&&\"value\"!==a&&\"null\"!==a&&\"resolvedImage\"!==a)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:s,scale:null,font:null,textColor:null});}}return new Ze(n)}evaluate(t){return new De(this.sections.map((e=>{const r=e.content.evaluate(t);return Re(r)===ge?new Pe(\"\",r,null,null,null):new Pe(Ue(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}serialize(){const t=[\"format\"];for(const e of this.sections){t.push(e.content.serialize());const r={};e.scale&&(r[\"font-scale\"]=e.scale.serialize()),e.font&&(r[\"text-font\"]=e.font.serialize()),e.textColor&&(r[\"text-color\"]=e.textColor.serialize()),t.push(r);}return t}}class Ke{constructor(t){this.type=ge,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ce);return r?new Ke(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=Ve.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}serialize(){return [\"image\",this.input.serialize()]}}const Xe={\"to-boolean\":he,\"to-color\":pe,\"to-number\":ue,\"to-string\":ce};class Je{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=Xe[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Le(e[0],e[1],e[2],e[3]),!r))return new Ee(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Oe(r||`Could not parse color from value '${\"string\"==typeof e?e:String(JSON.stringify(e))}'`)}if(\"number\"===this.type.kind){let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new Oe(`Could not convert ${JSON.stringify(e)} to number.`)}return \"formatted\"===this.type.kind?De.fromString(Ue(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?Ve.fromString(Ue(this.args[0].evaluate(t))):Ue(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){if(\"formatted\"===this.type.kind)return new Ze([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new Ke(this.args[0]).serialize();const t=[`to-${this.type.kind}`];return this.eachChild((e=>{t.push(e.serialize());})),t}}var He=Je;const Ye=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];var We=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null;}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?Ye[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||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const t=this.featureDistanceData.center,e=this.featureDistanceData.scale,{x:r,y:n}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(r*e-t[0])+this.featureDistanceData.bearing[1]*(n*e-t[1])}return 0}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Ee.parse(t)),e}};class Qe{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}serialize(){return [this.name].concat(this.args.map((t=>t.serialize())))}static parse(t,e){const r=t[0],n=Qe.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,s]of a){o=new Ir(e.registry,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(ve).join(\", \")})`:`(${ve(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r=e[2]||t[1]<=e[1]||t[3]>=e[3])}function sr(t,e){const r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*rr),Math.round(n*i*rr)]}function ar(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],s=t[0]-r[0],a=t[1]-r[1];return n*a-s*i==0&&n*s<=0&&i*a<=0}function or(t,e){let r=!1;for(let a=0,o=e.length;a(n=t)[1]!=(s=o[e+1])[1]>n[1]&&n[0]<(s[0]-i[0])*(n[1]-i[1])/(s[1]-i[1])+i[0]&&(r=!r);}}var n,i,s;return r}function lr(t,e){for(let r=0;r0&&o<0||a<0&&o>0}function cr(t,e,r){for(const u of r)for(let r=0;rr[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}nr(e,t);}function mr(t,e,r,n){const i=Math.pow(2,n.z)*rr,s=[n.x*rr,n.y*rr],a=[];if(!t)return a;for(const n of t)for(const t of n){const n=[t.x+s[0],t.y+s[1]];yr(n,e,r,i),a.push(n);}return a}function gr(t,e,r,n){const i=Math.pow(2,n.z)*rr,s=[n.x*rr,n.y*rr],a=[];if(!t)return a;for(const r of t){const t=[];for(const n of r){const r=[n.x+s[0],n.y+s[1]];nr(e,r),t.push(r);}a.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const n of t)yr(n,e,r,i);}var o;return a}class xr{constructor(t,e){this.type=he,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Fe(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)for(let t=0;t{e&&!br(t)&&(e=!1);})),e}function wr(t){if(t instanceof tr&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!wr(t)&&(e=!1);})),e}function _r(t,e){if(t instanceof tr&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!_r(t,e)&&(r=!1);})),r}class Ar{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e;}static parse(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");const r=t[1];return e.scope.has(r)?new Ar(r,e.scope.get(r)):e.error(`Unknown variable \"${r}\". Make sure \"${r}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return !1}serialize(){return [\"var\",this.name]}}var Sr=Ar;class kr{constructor(t,e=[],r,n=new oe,i=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return \"assert\"===r?new Ge(e,[t]):\"coerce\"===r?new He(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const n=t[0];if(\"string\"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof je)&&\"resolvedImage\"!==n.type.kind&&Mr(n)){const t=new We;try{n=new je(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new kr(this.registry,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new se(r,t));}checkSubtype(t,e){const r=we(t,e);return r&&this.error(r),r}}var Ir=kr;function Mr(t){if(t instanceof Sr)return Mr(t.boundExpression);if(t instanceof tr&&\"error\"===t.name)return !1;if(t instanceof er)return !1;if(t instanceof vr)return !1;const e=t instanceof He||t instanceof Ge;let r=!0;return t.eachChild((t=>{r=e?r&&Mr(t):r&&t instanceof je;})),!!r&&br(t)&&_r(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"sky-radial-progress\",\"accumulated\",\"is-supported-script\",\"pitch\",\"distance-from-center\"])}function Tr(t,e){const r=t.length-1;let n,i,s=0,a=r,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new Oe(\"Input is not a number.\");a=o-1;}return 0}class zr{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");const r=e.parse(t[1],1,ue);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(a,l,i);if(!u)return null;i=i||u.type,n.push([s,u]);}return new zr(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Tr(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){const t=[\"step\",this.input.serialize()];for(let e=0;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t}}var Br=zr;function Er(t,e,r){return t*(1-r)+e*r}var Cr=Object.freeze({__proto__:null,array:function(t,e,r){return t.map(((t,n)=>Er(t,e[n],r)))},color:function(t,e,r){return new Ee(Er(t.r,e.r,r),Er(t.g,e.g,r),Er(t.b,e.b,r),Er(t.a,e.a,r))},number:Er});const Pr=.95047,Dr=1.08883,Vr=4/29,Lr=6/29,Fr=3*Lr*Lr,Rr=Lr*Lr*Lr,Ur=Math.PI/180,$r=180/Math.PI;function jr(t){return t>Rr?Math.pow(t,1/3):t/Fr+Vr}function Or(t){return t>Lr?t*t*t:Fr*(t-Vr)}function qr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Nr(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Gr(t){const e=Nr(t.r),r=Nr(t.g),n=Nr(t.b),i=jr((.4124564*e+.3575761*r+.1804375*n)/Pr),s=jr((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*s-16,a:500*(i-s),b:200*(s-jr((.0193339*e+.119192*r+.9503041*n)/Dr)),alpha:t.a}}function Zr(t){let e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Or(e),r=Pr*Or(r),n=Dr*Or(n),new Ee(qr(3.2404542*r-1.5371385*e-.4985314*n),qr(-.969266*r+1.8760108*e+.041556*n),qr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Kr(t,e,r){const n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}const Xr={forward:Gr,reverse:Zr,interpolate:function(t,e,r){return {l:Er(t.l,e.l,r),a:Er(t.a,e.a,r),b:Er(t.b,e.b,r),alpha:Er(t.alpha,e.alpha,r)}}},Jr={forward:function(t){const{l:e,a:r,b:n}=Gr(t),i=Math.atan2(n,r)*$r;return {h:i<0?i+360:i,c:Math.sqrt(r*r+n*n),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Ur,r=t.c;return Zr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:Kr(t.h,e.h,r),c:Er(t.c,e.c,r),l:Er(t.l,e.l,r),alpha:Er(t.alpha,e.alpha,r)}}};var Hr=Object.freeze({__proto__:null,hcl:Jr,lab:Xr});class Yr{constructor(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e);}static interpolationFactor(t,e,r,n){let i=0;if(\"exponential\"===t.name)i=Wr(e,t.base,r,n);else if(\"linear\"===t.name)i=Wr(e,1,r,n);else if(\"cubic-bezier\"===t.name){const s=t.controlPoints;i=new y(s[0],s[1],s[2],s[3]).solve(Wr(e,1,r,n));}return i}static parse(t,e){let[r,n,i,...s]=t;if(!Array.isArray(n)||0===n.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){const t=n[1];if(\"number\"!=typeof t)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:t};}else {if(\"cubic-bezier\"!==n[0])return e.error(`Unknown interpolation type ${String(n[0])}`,1,0);{const t=n.slice(1);if(4!==t.length||t.some((t=>\"number\"!=typeof t||t<0||t>1)))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:t};}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(i=e.parse(i,2,ue),!i)return null;const a=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=pe:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,a.push([r,u]);}return \"number\"===o.kind||\"color\"===o.kind||\"array\"===o.kind&&\"number\"===o.itemType.kind&&\"number\"==typeof o.N?new Yr(o,r,n,i,a):e.error(`Type ${ve(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const s=Tr(e,n),a=Yr.interpolationFactor(this.interpolation,n,e[s],e[s+1]),o=r[s].evaluate(t),l=r[s+1].evaluate(t);return \"interpolate\"===this.operator?Cr[this.type.kind.toLowerCase()](o,l,a):\"interpolate-hcl\"===this.operator?Jr.reverse(Jr.interpolate(Jr.forward(o),Jr.forward(l),a)):Xr.reverse(Xr.interpolate(Xr.forward(o),Xr.forward(l),a))}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}serialize(){let t;t=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);const e=[this.operator,t,this.input.serialize()];for(let t=0;twe(n,t.type)));return new tn(s?fe:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args){if(n++,r=i.evaluate(t),r&&r instanceof Ve&&!r.available&&(e||(e=r),r=null,n===this.args.length))return e;if(null!==r)break}return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}serialize(){const t=[\"coalesce\"];return this.eachChild((e=>{t.push(e.serialize());})),t}}var en=tn;class rn{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new Oe(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new Oe(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}serialize(){return [\"at\",this.index.serialize(),this.input.serialize()]}}var an=sn;class on{constructor(t,e){this.type=he,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,fe),n=e.parse(t[2],2,fe);return r&&n?_e(r.type,[he,ce,ue,le,fe])?new on(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${ve(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(null==r)return !1;if(!Ae(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Oe(`Expected first argument to be of type boolean, string, number or null, but found ${ve(Re(e))} instead.`);if(!Ae(r,[\"string\",\"array\"]))throw new Oe(`Expected second argument to be of type array or string, but found ${ve(Re(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}serialize(){return [\"in\",this.needle.serialize(),this.haystack.serialize()]}}var ln=on;class un{constructor(t,e,r){this.type=ue,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,fe),n=e.parse(t[2],2,fe);if(!r||!n)return null;if(!_e(r.type,[he,ce,ue,le,fe]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${ve(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ue);return i?new un(r,n,i):null}return new un(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Ae(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Oe(`Expected first argument to be of type boolean, string, number or null, but found ${ve(Re(e))} instead.`);if(!Ae(r,[\"string\",\"array\"]))throw new Oe(`Expected second argument to be of type array or string, but found ${ve(Re(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const t=this.fromIndex.serialize();return [\"index-of\",this.needle.serialize(),this.haystack.serialize(),t]}return [\"index-of\",this.needle.serialize(),this.haystack.serialize()]}}var cn=un;class hn{constructor(t,e,r,n,i,s){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=s;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},s=[];for(let a=2;aNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,Re(t)))return null}else r=Re(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=s.length;}const c=e.parse(l,a,n);if(!c)return null;n=n||c.type,s.push(c);}const a=e.parse(t[1],1,fe);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==a.type.kind&&e.concat(1).checkSubtype(r,a.type)?null:new hn(r,n,a,i,s,o):null}evaluate(t){const e=this.input.evaluate(t);return (Re(e)===this.inputType&&this.outputs[this.cases[e]]||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()}serialize(){const t=[\"match\",this.input.serialize()],e=Object.keys(this.cases).sort(),r=[],n={};for(const t of e){const e=n[this.cases[t]];void 0===e?(n[this.cases[t]]=r.length,r.push([this.cases[t],[t]])):r[e][1].push(t);}const i=t=>\"number\"===this.inputType.kind?Number(t):t;for(const[e,n]of r)t.push(1===n.length?i(n[0]):n.map(i)),t.push(this.outputs[e].serialize());return t.push(this.otherwise.serialize()),t}}var pn=hn;class dn{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const t=[\"case\"];return this.eachChild((e=>{t.push(e.serialize());})),t}}var fn=dn;class yn{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,fe),n=e.parse(t[2],2,ue);if(!r||!n)return null;if(!_e(r.type,[xe(fe),ce,fe]))return e.error(`Expected first argument to be of type array or string, but found ${ve(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ue);return i?new yn(r.type,r,n,i):null}return new yn(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Ae(e,[\"string\",\"array\"]))throw new Oe(`Expected first argument to be of type array or string, but found ${ve(Re(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const t=this.endIndex.serialize();return [\"slice\",this.input.serialize(),this.beginIndex.serialize(),t]}return [\"slice\",this.input.serialize(),this.beginIndex.serialize()]}}var mn=yn;function gn(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function xn(t,e,r,n){return 0===n.compare(e,r)}function vn(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=he,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let s=e.parse(t[1],1,fe);if(!s)return null;if(!gn(r,s.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${ve(s.type)}'.`);let a=e.parse(t[2],2,fe);if(!a)return null;if(!gn(r,a.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${ve(a.type)}'.`);if(s.type.kind!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(`Cannot compare types '${ve(s.type)}' and '${ve(a.type)}'.`);n&&(\"value\"===s.type.kind&&\"value\"!==a.type.kind?s=new Ge(a.type,[s]):\"value\"!==s.type.kind&&\"value\"===a.type.kind&&(a=new Ge(s.type,[a])));let o=null;if(4===t.length){if(\"string\"!==s.type.kind&&\"string\"!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,ye),!o)return null}return new i(s,a,o)}evaluate(i){const s=this.lhs.evaluate(i),a=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=Re(s),r=Re(a);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new Oe(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=Re(s),r=Re(a);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,s,a)}return this.collator?r(i,s,a,this.collator.evaluate(i)):e(i,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}serialize(){const e=[t];return this.eachChild((t=>{e.push(t.serialize());})),e}}}const bn=vn(\"==\",(function(t,e,r){return e===r}),xn),wn=vn(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !xn(0,e,r,n)})),_n=vn(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Sn=vn(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),kn=vn(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class In{constructor(t,e,r,n,i,s){this.type=ce,this.number=t,this.locale=e,this.currency=r,this.unit=n,this.minFractionDigits=i,this.maxFractionDigits=s;}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ue);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ce),!i))return null;let s=null;if(n.currency&&(s=e.parse(n.currency,1,ce),!s))return null;let a=null;if(n.unit&&(a=e.parse(n.unit,1,ce),!a))return null;let o=null;if(n[\"min-fraction-digits\"]&&(o=e.parse(n[\"min-fraction-digits\"],1,ue),!o))return null;let l=null;return n[\"max-fraction-digits\"]&&(l=e.parse(n[\"max-fraction-digits\"],1,ue),!l)?null:new In(r,i,s,a,o,l)}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}serialize(){const t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.unit&&(t.unit=this.unit.serialize()),this.minFractionDigits&&(t[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),t]}}class Mn{constructor(t){this.type=ue,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${ve(r.type)} instead.`):new Mn(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Oe(`Expected value to be of type string or array, but found ${ve(Re(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}serialize(){const t=[\"length\"];return this.eachChild((e=>{t.push(e.serialize());})),t}}const Tn={\"==\":bn,\"!=\":wn,\">\":An,\"<\":_n,\">=\":kn,\"<=\":Sn,array:Ge,at:an,boolean:Ge,case:fn,coalesce:en,collator:er,format:Ze,image:Ke,in:ln,\"index-of\":cn,interpolate:Qr,\"interpolate-hcl\":Qr,\"interpolate-lab\":Qr,length:Mn,let:nn,literal:je,match:pn,number:Ge,\"number-format\":In,object:Ge,slice:mn,step:Br,string:Ge,\"to-boolean\":He,\"to-color\":He,\"to-number\":He,\"to-string\":He,var:Sr,within:vr};function zn(t,[e,r,n,i]){e=e.evaluate(t),r=r.evaluate(t),n=n.evaluate(t);const s=i?i.evaluate(t):1,a=Le(e,r,n,s);if(a)throw new Oe(a);return new Ee(e/255*s,r/255*s,n/255*s,s)}function Bn(t,e){return t in e}function En(t,e){const r=e[t];return void 0===r?null:r}function Cn(t){return {type:t}}tr.register(Tn,{error:[{kind:\"error\"},[ce],(t,[e])=>{throw new Oe(e.evaluate(t))}],typeof:[ce,[fe],(t,[e])=>ve(Re(e.evaluate(t)))],\"to-rgba\":[xe(ue,4),[pe],(t,[e])=>e.evaluate(t).toArray()],rgb:[pe,[ue,ue,ue],zn],rgba:[pe,[ue,ue,ue,ue],zn],has:{type:he,overloads:[[[ce],(t,[e])=>Bn(e.evaluate(t),t.properties())],[[ce,de],(t,[e,r])=>Bn(e.evaluate(t),r.evaluate(t))]]},get:{type:fe,overloads:[[[ce],(t,[e])=>En(e.evaluate(t),t.properties())],[[ce,de],(t,[e,r])=>En(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[fe,[ce],(t,[e])=>En(e.evaluate(t),t.featureState||{})],properties:[de,[],t=>t.properties()],\"geometry-type\":[ce,[],t=>t.geometryType()],id:[fe,[],t=>t.id()],zoom:[ue,[],t=>t.globals.zoom],pitch:[ue,[],t=>t.globals.pitch||0],\"distance-from-center\":[ue,[],t=>t.distanceFromCenter()],\"heatmap-density\":[ue,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[ue,[],t=>t.globals.lineProgress||0],\"sky-radial-progress\":[ue,[],t=>t.globals.skyRadialProgress||0],accumulated:[fe,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[ue,Cn(ue),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[ue,Cn(ue),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:ue,overloads:[[[ue,ue],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ue],(t,[e])=>-e.evaluate(t)]]},\"/\":[ue,[ue,ue],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[ue,[ue,ue],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ue,[],()=>Math.LN2],pi:[ue,[],()=>Math.PI],e:[ue,[],()=>Math.E],\"^\":[ue,[ue,ue],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ue,[ue],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))],log2:[ue,[ue],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ue,[ue],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ue,[ue],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ue,[ue],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ue,[ue],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ue,[ue],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ue,[ue],(t,[e])=>Math.atan(e.evaluate(t))],min:[ue,Cn(ue),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ue,Cn(ue),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ue,[ue],(t,[e])=>Math.abs(e.evaluate(t))],round:[ue,[ue],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ue,[ue],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ue,[ue],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[he,[ce,fe],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[he,[fe],(t,[e])=>t.id()===e.value],\"filter-type-==\":[he,[ce],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[he,[fe],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[he,[fe],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[he,[ce,fe],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[he,[fe],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[he,[fe],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[he,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[he,[xe(ce)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[he,[xe(fe)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[he,[ce,xe(fe)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[he,[ce,xe(fe)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:he,overloads:[[[he,he],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[Cn(he),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:he,overloads:[[[he,he],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[Cn(he),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[he,[he],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[he,[ce],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ce,[ce],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ce,[ce],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ce,Cn(fe),(t,e)=>e.map((e=>Ue(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ce,[ye],(t,[e])=>e.evaluate(t).resolvedLocale()]});var Pn=Tn;function Dn(t){return {result:\"success\",value:t}}function Vn(t){return {result:\"error\",value:t}}function Ln(t){return \"data-driven\"===t[\"property-type\"]}function Fn(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Rn(t){return !!t.expression&&t.expression.interpolated}function Un(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function $n(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function jn(t){return t}function On(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),s=t.type||(Rn(e)?\"exponential\":\"interval\");if(r&&((t=ee({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],Ee.parse(t[1])]))),t.default=Ee.parse(t.default?t.default:e.default)),t.colorSpace&&\"rgb\"!==t.colorSpace&&!Hr[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let a,o,l;if(\"exponential\"===s)a=Zn;else if(\"interval\"===s)a=Gn;else if(\"categorical\"===s){a=Nn,o=Object.create(null);for(const e of t.stops)o[e[0]]=e[1];l=typeof t.stops[0][0];}else {if(\"identity\"!==s)throw new Error(`Unknown function type \"${s}\"`);a=Kn;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>Zn({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===s?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Qr.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>a(t,e,r,o,l)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?qn(t.default,e.default):a(t,e,i,o,l)}}}function qn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Nn(t,e,r,n,i){return qn(typeof r===i?n[r]:void 0,t.default,e.default)}function Gn(t,e,r){if(\"number\"!==Un(r))return qn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=Tr(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function Zn(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==Un(r))return qn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const s=Tr(t.stops.map((t=>t[0])),r),a=function(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1];let u=Cr[e.type]||jn;if(t.colorSpace&&\"rgb\"!==t.colorSpace){const e=Hr[t.colorSpace];u=(t,r)=>e.reverse(e.interpolate(e.forward(t),e.forward(r),a));}return \"function\"==typeof o.evaluate?{evaluate(...t){const e=o.evaluate.apply(void 0,t),r=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==r)return u(e,r,a)}}:u(o,l,a)}function Kn(t,e,r){return \"color\"===e.type?r=Ee.parse(r):\"formatted\"===e.type?r=De.fromString(r.toString()):\"resolvedImage\"===e.type?r=Ve.fromString(r.toString()):Un(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),qn(r,t.default,e.default)}class Xn{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new We,this._defaultValue=e?function(t){return \"color\"===t.type&&($n(t.default)||Array.isArray(t.default))?new Ee(0,0,0,0):\"color\"===t.type?Ee.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,s,a,o){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n||null,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s,this._evaluator.featureTileCoord=a||null,this._evaluator.featureDistanceData=o||null,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,s,a,o){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n||null,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s||null,this._evaluator.featureTileCoord=a||null,this._evaluator.featureDistanceData=o||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Oe(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Jn(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Pn}function Hn(t,e){const r=new Ir(Pn,[],e?function(t){const e={color:pe,string:ce,number:ue,enum:ce,boolean:he,formatted:me,resolvedImage:ge};return \"array\"===t.type?xe(e[t.value]||fe,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Dn(new Xn(n,e)):Vn(r.errors)}class Yn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!wr(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}}class Wn{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!wr(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}interpolationFactor(t,e,r){return this.interpolationType?Qr.interpolationFactor(this.interpolationType,t,e,r):0}}function Qn(t,e){if(\"error\"===(t=Hn(t,e)).result)return t;const r=t.value.expression,n=br(r);if(!n&&!Ln(e))return Vn([new se(\"\",\"data expressions not supported\")]);const i=_r(r,[\"zoom\",\"pitch\",\"distance-from-center\"]);if(!i&&!Fn(e))return Vn([new se(\"\",\"zoom expressions not supported\")]);const s=ei(r);return s||i?s instanceof se?Vn([s]):s instanceof Qr&&!Rn(e)?Vn([new se(\"\",'\"interpolate\" expressions cannot be used with this property')]):Dn(s?new Wn(n?\"camera\":\"composite\",t.value,s.labels,s instanceof Qr?s.interpolation:void 0):new Yn(n?\"constant\":\"source\",t.value)):Vn([new se(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class ti{constructor(t,e){this._parameters=t,this._specification=e,ee(this,On(this._parameters,this._specification));}static deserialize(t){return new ti(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function ei(t){let e=null;if(t instanceof nn)e=ei(t.result);else if(t instanceof en){for(const r of t.args)if(e=ei(r),e)break}else (t instanceof Br||t instanceof Qr)&&t.input instanceof tr&&\"zoom\"===t.input.name&&(e=t);return e instanceof se||t.eachChild((t=>{const r=ei(t);r instanceof se?e=r:!e&&r?e=new se(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new se(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}class ri{constructor(t,e,r,n){this.message=(t?`${t}: `:\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);}}function ni(t){const e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},s=t.style,a=t.styleSpec;let o=[];const l=Un(r);if(\"object\"!==l)return [new ri(e,r,`object expected, ${l} found`)];for(const t in r){const l=t.split(\".\")[0];let u;i[l]?u=i[l]:n[l]?u=Fi:i[\"*\"]?u=i[\"*\"]:n[\"*\"]&&(u=Fi),u?o=o.concat(u({key:(e?`${e}.`:e)+t,value:r[t],valueSpec:n[l]||n[\"*\"],style:s,styleSpec:a,object:r,objectKey:t},r)):o.push(new ri(e,r[t],`unknown property \"${t}\"`));}for(const t in n)i[t]||n[t].required&&void 0===n[t].default&&void 0===r[t]&&o.push(new ri(e,r,`missing required property \"${t}\"`));return o}function ii(t){const e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,s=t.key,a=t.arrayElementValidator||Fi;if(\"array\"!==Un(e))return [new ri(s,e,`array expected, ${Un(e)} found`)];if(r.length&&e.length!==r.length)return [new ri(s,e,`array length ${r.length} expected, length ${e.length} found`)];if(r[\"min-length\"]&&e.lengthi)return [new ri(e,r,`${r} is greater than the maximum value ${i}`)]}return []}function ai(t){const e=t.valueSpec,r=re(t.value.type);let n,i,s,a={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===Un(t.value.stops)&&\"array\"===Un(t.value.stops[0])&&\"object\"===Un(t.value.stops[0][0]),c=ni({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return [new ri(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(ii({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===Un(n)&&0===n.length&&e.push(new ri(t.key,n,\"array must have at least one stop\")),e},default:function(t){return Fi({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===r&&o&&c.push(new ri(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new ri(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!Rn(t.valueSpec)&&c.push(new ri(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!Ln(t.valueSpec)?c.push(new ri(t.key,t.value,\"property functions not supported\")):o&&!Fn(t.valueSpec)&&c.push(new ri(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new ri(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==Un(n))return [new ri(o,n,`array expected, ${Un(n)} found`)];if(2!==n.length)return [new ri(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==Un(n[0]))return [new ri(o,n,`object expected, ${Un(n[0])} found`)];if(void 0===n[0].zoom)return [new ri(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new ri(o,n,\"object stop key must have value\")];const e=re(n[0].zoom);if(\"number\"!=typeof e)return [new ri(o,n[0].zoom,\"stop zoom values must be numbers\")];if(s&&s>e)return [new ri(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];e!==s&&(s=e,i=void 0,a={}),r=r.concat(ni({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:si,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return Jn(ne(n[1]))?r.concat([new ri(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(Fi({key:`${o}[1]`,value:n[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const o=Un(t.value),l=re(t.value),u=null!==t.value?t.value:s;if(n){if(o!==n)return [new ri(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if(\"number\"!==o&&\"string\"!==o&&\"boolean\"!==o&&\"number\"!=typeof l&&\"string\"!=typeof l&&\"boolean\"!=typeof l)return [new ri(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==o&&\"categorical\"!==r){let n=`number expected, ${o} found`;return Ln(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ri(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||\"number\"==typeof l&&isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&\"number\"==typeof l&&\"number\"==typeof i&&void 0!==i&&lnew ri(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new ri(t.key,t.value,`Invalid data expression for \"${t.propertyKey}\". Output values must be contained as literals within the expression.`)];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!wr(r))return [new ri(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext)return li(r,t);if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!_r(r,[\"zoom\",\"feature-state\"]))return [new ri(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!br(r))return [new ri(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function li(t,e){const r=new Set([\"zoom\",\"feature-state\",\"pitch\",\"distance-from-center\"]);if(e.valueSpec&&e.valueSpec.expression)for(const t of e.valueSpec.expression.parameters)r.delete(t);if(0===r.size)return [];const n=[];return t instanceof tr&&r.has(t.name)?[new ri(e.key,e.value,`[\"${t.name}\"] expression is not supported in a filter for a ${e.object.type} layer with id: ${e.object.id}`)]:(t.eachChild((t=>{n.push(...li(t,e));})),n)}function ui(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(re(r))&&i.push(new ri(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(re(r))&&i.push(new ri(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function ci(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(const e of t.slice(1))if(!ci(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}function hi(t,e=\"fill\"){if(null==t)return {filter:()=>!0,needGeometry:!1,needFeature:!1};ci(t)||(t=xi(t));const r=t;let n=!0;try{n=function(t){if(!fi(t))return t;let e=ne(t);return di(e),e=pi(e),e}(r);}catch(t){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\\nand paste the contents of this message in the report.\\nThank you!\\nFilter Expression:\\n${JSON.stringify(r,null,2)}\\n `);}const i=te[`filter_${e}`],s=Hn(n,i);let a=null;if(\"error\"===s.result)throw new Error(s.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));a=(t,e,r)=>s.value.evaluate(t,e,{},r);let o=null,l=null;if(n!==r){const t=Hn(r,i);if(\"error\"===t.result)throw new Error(t.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));o=(e,r,n,i,s)=>t.value.evaluate(e,r,{},n,void 0,void 0,i,s),l=!br(t.value.expression);}return {filter:a,dynamicFilter:o||void 0,needGeometry:gi(n),needFeature:!!l}}function pi(t){if(!Array.isArray(t))return t;const e=function(t){if(yi.has(t[0]))for(let e=1;epi(t)))}function di(t){let e=!1;const r=[];if(\"case\"===t[0]){for(let n=1;n\",\">=\",\"<\",\"<=\",\"to-boolean\"]);function mi(t,e){return te?1:0}function gi(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?vi(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(xi))):\"all\"===e?[\"all\"].concat(t.slice(1).map(xi)):\"none\"===e?[\"all\"].concat(t.slice(1).map(xi).map(_i)):\"in\"===e?bi(t[1],t.slice(2)):\"!in\"===e?_i(bi(t[1],t.slice(2))):\"has\"===e?wi(t[1]):\"!has\"===e?_i(wi(t[1])):\"within\"!==e||t;var r;}function vi(t,e,r){switch(t){case\"$type\":return [`filter-type-${r}`,e];case\"$id\":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function bi(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(mi)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function wi(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function _i(t){return [\"!\",t]}function Ai(t){return ci(ne(t.value))?oi(ee({},t,{expressionContext:\"filter\",valueSpec:t.styleSpec[`filter_${t.layerType||\"fill\"}`]})):Si(t)}function Si(t){const e=t.value,r=t.key;if(\"array\"!==Un(e))return [new ri(r,e,`array expected, ${Un(e)} found`)];const n=t.styleSpec;let i,s=[];if(e.length<1)return [new ri(r,e,\"filter array must have at least 1 element\")];switch(s=s.concat(ui({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),re(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===re(e[1])&&s.push(new ri(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&s.push(new ri(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=Un(e[1]),\"string\"!==i&&s.push(new ri(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let a=2;a{t in r&&e.push(new ri(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{re(e.id)===o&&(t=e);})),t?t.ref?e.push(new ri(n,r.ref,\"ref cannot reference another ref layer\")):a=re(t.type):\"string\"==typeof o&&e.push(new ri(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==a&&\"sky\"!==a)if(r.source){const t=i.sources&&i.sources[r.source],s=t&&re(t.type);t?\"vector\"===s&&\"raster\"===a?e.push(new ri(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster\"===s&&\"raster\"!==a?e.push(new ri(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==s||r[\"source-layer\"]?\"raster-dem\"===s&&\"hillshade\"!==a?e.push(new ri(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==a||!r.paint||!r.paint[\"line-gradient\"]&&!r.paint[\"line-trim-offset\"]||\"geojson\"===s&&t.lineMetrics||e.push(new ri(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new ri(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new ri(n,r.source,`source \"${r.source}\" not found`));}else e.push(new ri(n,r,'missing required property \"source\"'));return e=e.concat(ni({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":()=>[],type:()=>Fi({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"}),filter:t=>Ai(ee({layerType:a},t)),layout:t=>ni({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":t=>Mi(ee({layerType:a},t))}}),paint:t=>ni({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":t=>Ii(ee({layerType:a},t))}})}})),e}function zi(t){const e=t.value,r=t.key,n=Un(e);return \"string\"!==n?[new ri(r,e,`string expected, ${n} found`)]:[]}const Bi={promoteId:function({key:t,value:e}){if(\"string\"===Un(e))return zi({key:t,value:e});{const r=[];for(const n in e)r.push(...zi({key:`${t}.${n}`,value:e[n]}));return r}}};function Ei(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new ri(r,e,'\"type\" is required')];const s=re(e.type);let a;switch(s){case\"vector\":case\"raster\":case\"raster-dem\":return a=ni({key:r,value:e,valueSpec:n[`source_${s.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:Bi}),a;case\"geojson\":if(a=ni({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:Bi}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],s=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;a.push(...oi({key:`${r}.${t}.map`,value:i,expressionContext:\"cluster-map\"})),a.push(...oi({key:`${r}.${t}.reduce`,value:s,expressionContext:\"cluster-reduce\"}));}return a;case\"video\":return ni({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return ni({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return [new ri(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ui({key:`${r}.type`,value:e.type,valueSpec:{values:Ci(n)},style:i,styleSpec:n})}}function Ci(t){return t.source.reduce(((e,r)=>{const n=t[r];return \"enum\"===n.type.type&&(e=e.concat(Object.keys(n.type.values))),e}),[])}function Pi(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let s=[];const a=Un(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new ri(\"light\",e,`object expected, ${a} found`)]),s;for(const t in e){const a=t.match(/^(.*)-transition$/);s=s.concat(a&&n[a[1]]&&n[a[1]].transition?Fi({key:t,value:e[t],valueSpec:r.transition,style:i,styleSpec:r}):n[t]?Fi({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}):[new ri(t,e[t],`unknown property \"${t}\"`)]);}return s}function Di(t){const e=t.value,r=t.key,n=t.style,i=t.styleSpec,s=i.terrain;let a=[];const o=Un(e);if(void 0===e)return a;if(\"object\"!==o)return a=a.concat([new ri(\"terrain\",e,`object expected, ${o} found`)]),a;for(const t in e){const r=t.match(/^(.*)-transition$/);a=a.concat(r&&s[r[1]]&&s[r[1]].transition?Fi({key:t,value:e[t],valueSpec:i.transition,style:n,styleSpec:i}):s[t]?Fi({key:t,value:e[t],valueSpec:s[t],style:n,styleSpec:i}):[new ri(t,e[t],`unknown property \"${t}\"`)]);}if(e.source){const t=n.sources&&n.sources[e.source],i=t&&re(t.type);t?\"raster-dem\"!==i&&a.push(new ri(r,e.source,`terrain cannot be used with a source of type ${String(i)}, it only be used with a \"raster-dem\" source type`)):a.push(new ri(r,e.source,`source \"${e.source}\" not found`));}else a.push(new ri(r,e,'terrain is missing required property \"source\"'));return a}function Vi(t){const e=t.value,r=t.style,n=t.styleSpec,i=n.fog;let s=[];const a=Un(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new ri(\"fog\",e,`object expected, ${a} found`)]),s;for(const t in e){const a=t.match(/^(.*)-transition$/);s=s.concat(a&&i[a[1]]&&i[a[1]].transition?Fi({key:t,value:e[t],valueSpec:n.transition,style:r,styleSpec:n}):i[t]?Fi({key:t,value:e[t],valueSpec:i[t],style:r,styleSpec:n}):[new ri(t,e[t],`unknown property \"${t}\"`)]);}return s}const Li={\"*\":()=>[],array:ii,boolean:function(t){const e=t.value,r=t.key,n=Un(e);return \"boolean\"!==n?[new ri(r,e,`boolean expected, ${n} found`)]:[]},number:si,color:function(t){const e=t.key,r=t.value,n=Un(r);return \"string\"!==n?[new ri(e,r,`color expected, ${n} found`)]:null===Se(r)?[new ri(e,r,`color expected, \"${r}\" found`)]:[]},enum:ui,filter:Ai,function:ai,layer:Ti,object:ni,source:Ei,light:Pi,terrain:Di,fog:Vi,string:zi,formatted:function(t){return 0===zi(t).length?[]:oi(t)},resolvedImage:function(t){return 0===zi(t).length?[]:oi(t)},projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style;let s=[];const a=Un(e);if(\"object\"===a)for(const t in e)s=s.concat(Fi({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}));else \"string\"!==a&&(s=s.concat([new ri(\"projection\",e,`object or string expected, ${a} found`)]));return s}};function Fi(t){const e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&$n(re(e))?ai(t):r.expression&&Jn(ne(e))?oi(t):r.type&&Li[r.type]?Li[r.type](t):ni(ee({},t,{valueSpec:r.type?n[r.type]:r}))}function Ri(t){const e=t.value,r=t.key,n=zi(t);return n.length||(-1===e.indexOf(\"{fontstack}\")&&n.push(new ri(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new ri(r,e,'\"glyphs\" url must include a \"{range}\" token'))),n}function Ui(t,e=te){return Oi(Fi({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Ri,\"*\":()=>[]}}))}const $i=t=>Oi(Ii(t)),ji=t=>Oi(Mi(t));function Oi(t){return t.slice().sort(((t,e)=>t.line&&e.line?t.line-e.line:0))}function qi(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new Wt(new Error(n.message))),r=!0;return r}var Ni=Zi,Gi=3;function Zi(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var s=0;s=c[d+0]&&n>=c[d+1])?(a[p]=!0,s.push(u[p])):a[p]=!1;}}},Zi.prototype._forEachCell=function(t,e,r,n,i,s,a,o){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n),p=l;p<=c;p++)for(var d=u;d<=h;d++){var f=this.d*d+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(d),this._convertFromCellCoord(p+1),this._convertFromCellCoord(d+1)))&&i.call(this,t,e,r,n,f,s,a,o))return}},Zi.prototype._convertFromCellCoord=function(t){return (t-this.padding)/this.scale},Zi.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Zi.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=Gi+this.cells.length+1+1,r=0,n=0;n=0||(i[e]=Wi(t[e],r)));t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==n&&(i.$name=n),i}throw new Error(\"can't serialize object of type \"+typeof t)}function Qi(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Hi(t)||Yi(t)||ArrayBuffer.isView(t)||t instanceof e.ImageData)return t;if(Array.isArray(t))return t.map(Qi);if(\"object\"==typeof t){const e=t.$name||\"Object\",{klass:r}=Xi[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const e of Object.keys(t))\"$name\"!==e&&(n[e]=Qi(t[e]));return n}throw new Error(\"can't deserialize object of type \"+typeof t)}const ts={\"Latin-1 Supplement\":t=>t>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,\"Arabic Supplement\":t=>t>=1872&&t<=1919,\"Arabic Extended-A\":t=>t>=2208&&t<=2303,\"Hangul Jamo\":t=>t>=4352&&t<=4607,\"Unified Canadian Aboriginal Syllabics\":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":t=>t>=6320&&t<=6399,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"CJK Radicals Supplement\":t=>t>=11904&&t<=12031,\"Kangxi Radicals\":t=>t>=12032&&t<=12255,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,\"Hangul Compatibility Jamo\":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,\"Bopomofo Extended\":t=>t>=12704&&t<=12735,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Katakana Phonetic Extensions\":t=>t>=12784&&t<=12799,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"CJK Unified Ideographs Extension A\":t=>t>=13312&&t<=19903,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"CJK Unified Ideographs\":t=>t>=19968&&t<=40959,\"Yi Syllables\":t=>t>=40960&&t<=42127,\"Yi Radicals\":t=>t>=42128&&t<=42191,\"Hangul Jamo Extended-A\":t=>t>=43360&&t<=43391,\"Hangul Syllables\":t=>t>=44032&&t<=55215,\"Hangul Jamo Extended-B\":t=>t>=55216&&t<=55295,\"Private Use Area\":t=>t>=57344&&t<=63743,\"CJK Compatibility Ideographs\":t=>t>=63744&&t<=64255,\"Arabic Presentation Forms-A\":t=>t>=64336&&t<=65023,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Arabic Presentation Forms-B\":t=>t>=65136&&t<=65279,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function es(t){for(const e of t)if(is(e.charCodeAt(0)))return !0;return !1}function rs(t){for(const e of t)if(!ns(e.charCodeAt(0)))return !1;return !0}function ns(t){return !(ts.Arabic(t)||ts[\"Arabic Supplement\"](t)||ts[\"Arabic Extended-A\"](t)||ts[\"Arabic Presentation Forms-A\"](t)||ts[\"Arabic Presentation Forms-B\"](t))}function is(t){return !(746!==t&&747!==t&&(t<4352||!(ts[\"Bopomofo Extended\"](t)||ts.Bopomofo(t)||ts[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||ts[\"CJK Compatibility Ideographs\"](t)||ts[\"CJK Compatibility\"](t)||ts[\"CJK Radicals Supplement\"](t)||ts[\"CJK Strokes\"](t)||!(!ts[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||ts[\"CJK Unified Ideographs Extension A\"](t)||ts[\"CJK Unified Ideographs\"](t)||ts[\"Enclosed CJK Letters and Months\"](t)||ts[\"Hangul Compatibility Jamo\"](t)||ts[\"Hangul Jamo Extended-A\"](t)||ts[\"Hangul Jamo Extended-B\"](t)||ts[\"Hangul Jamo\"](t)||ts[\"Hangul Syllables\"](t)||ts.Hiragana(t)||ts[\"Ideographic Description Characters\"](t)||ts.Kanbun(t)||ts[\"Kangxi Radicals\"](t)||ts[\"Katakana Phonetic Extensions\"](t)||ts.Katakana(t)&&12540!==t||!(!ts[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!ts[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||ts[\"Unified Canadian Aboriginal Syllabics\"](t)||ts[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||ts[\"Vertical Forms\"](t)||ts[\"Yijing Hexagram Symbols\"](t)||ts[\"Yi Syllables\"](t)||ts[\"Yi Radicals\"](t))))}function ss(t){return !(is(t)||function(t){return !!(ts[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||ts[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||ts[\"Letterlike Symbols\"](t)||ts[\"Number Forms\"](t)||ts[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||ts[\"Control Pictures\"](t)&&9251!==t||ts[\"Optical Character Recognition\"](t)||ts[\"Enclosed Alphanumerics\"](t)||ts[\"Geometric Shapes\"](t)||ts[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||ts[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||ts[\"CJK Symbols and Punctuation\"](t)||ts.Katakana(t)||ts[\"Private Use Area\"](t)||ts[\"CJK Compatibility Forms\"](t)||ts[\"Small Form Variants\"](t)||ts[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function as(t){return t>=1424&&t<=2303||ts[\"Arabic Presentation Forms-A\"](t)||ts[\"Arabic Presentation Forms-B\"](t)}function os(t,e){return !(!e&&as(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||ts.Khmer(t))}function ls(t){for(const e of t)if(as(e.charCodeAt(0)))return !0;return !1}const us=\"deferred\",cs=\"loading\",hs=\"loaded\";let ps=null,ds=\"unavailable\",fs=null;const ys=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(ds=\"error\"),ps&&ps(t);};function ms(){gs.fire(new Yt(\"pluginStateChange\",{pluginStatus:ds,pluginURL:fs}));}const gs=new Qt,xs=function(){return ds},vs=function(){if(ds!==us||!fs)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");ds=cs,ms(),fs&&pt({url:fs},(t=>{t?ys(t):(ds=hs,ms());}));},bs={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>ds===hs||null!=bs.applyArabicShaping,isLoading:()=>ds===cs,setState(t){ds=t.pluginStatus,fs=t.pluginURL;},isParsed:()=>null!=bs.applyArabicShaping&&null!=bs.processBidirectionalText&&null!=bs.processStyledBidirectionalText,getPluginURL:()=>fs};class ws{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.transition=e.transition,this.pitch=e.pitch):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0);}isSupportedScript(t){return function(t,e){for(const r of t)if(!os(r.charCodeAt(0),e))return !1;return !0}(t,bs.isLoaded())}}class _s{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if($n(t))return new ti(t,e);if(Jn(t)){const r=Qn(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return \"string\"==typeof t&&\"color\"===e.type&&(r=Ee.parse(t)),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class As{constructor(t){this.property=t,this.value=new _s(t,void 0);}transitioned(t,e){return new ks(this.property,this.value,e,C({},t.transition,this.transition),t.now)}untransitioned(){return new ks(this.property,this.value,null,{},0)}}class Ss{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return O(this._values[t].value.value)}setValue(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new As(this._values[t].property)),this._values[t].value=new _s(this._values[t].property,null===e?void 0:O(e));}getTransition(t){return O(this._values[t].transition)}setTransition(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new As(this._values[t].property)),this._values[t].transition=O(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new Is(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Is(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ks{constructor(t,e,r,n,i){const s=n.delay||0,a=n.duration||0;i=i||0,this.property=t,this.value=e,this.begin=i+s,this.end=this.begin+a,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),s=this.prior;if(s){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(nthis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null;}}function Rs(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=Vs[t.type].BYTES_PER_ELEMENT,s=r=Us(r,Math.max(e,i)),a=t.components||1;return n=Math.max(n,i),r+=i*a,{name:t.name,type:t.type,components:a,offset:s}})),size:Us(r,Math.max(n,e)),alignment:e}}function Us(t,e){return Math.ceil(t/e)*e}class $s extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}$s.prototype.bytesPerElement=4,Ji($s,\"StructArrayLayout2i4\");class js extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}js.prototype.bytesPerElement=6,Ji(js,\"StructArrayLayout3i6\");class Os extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,t}}Os.prototype.bytesPerElement=8,Ji(Os,\"StructArrayLayout4i8\");class qs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,s,a)}emplace(t,e,r,n,i,s,a,o){const l=6*t,u=12*t,c=3*t;return this.int16[l+0]=e,this.int16[l+1]=r,this.uint8[u+4]=n,this.uint8[u+5]=i,this.uint8[u+6]=s,this.uint8[u+7]=a,this.float32[c+2]=o,t}}qs.prototype.bytesPerElement=12,Ji(qs,\"StructArrayLayout2i4ub1f12\");class Ns extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.float32[s+3]=i,t}}Ns.prototype.bytesPerElement=16,Ji(Ns,\"StructArrayLayout4f16\");class Gs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=6*t,o=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,this.uint16[a+3]=i,this.float32[o+2]=s,t}}Gs.prototype.bytesPerElement=12,Ji(Gs,\"StructArrayLayout4ui1f12\");class Zs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.uint16[s+0]=e,this.uint16[s+1]=r,this.uint16[s+2]=n,this.uint16[s+3]=i,t}}Zs.prototype.bytesPerElement=8,Ji(Zs,\"StructArrayLayout4ui8\");class Ks extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}Ks.prototype.bytesPerElement=12,Ji(Ks,\"StructArrayLayout6i12\");class Xs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,s,a,o,l,u,c,h)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=r,this.int16[d+2]=n,this.int16[d+3]=i,this.uint16[d+4]=s,this.uint16[d+5]=a,this.uint16[d+6]=o,this.uint16[d+7]=l,this.int16[d+8]=u,this.int16[d+9]=c,this.int16[d+10]=h,this.int16[d+11]=p,t}}Xs.prototype.bytesPerElement=24,Ji(Xs,\"StructArrayLayout4i4ui4i24\");class Js extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=10*t,l=5*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.float32[l+2]=i,this.float32[l+3]=s,this.float32[l+4]=a,t}}Js.prototype.bytesPerElement=20,Ji(Js,\"StructArrayLayout3i3f20\");class Hs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Hs.prototype.bytesPerElement=4,Ji(Hs,\"StructArrayLayout1ul4\");class Ys extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p){const d=this.length;return this.resize(d+1),this.emplace(d,t,e,r,n,i,s,a,o,l,u,c,h,p)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,d){const f=20*t,y=10*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.int16[f+4]=s,this.float32[y+3]=a,this.float32[y+4]=o,this.float32[y+5]=l,this.float32[y+6]=u,this.int16[f+14]=c,this.uint32[y+8]=h,this.uint16[f+18]=p,this.uint16[f+19]=d,t}}Ys.prototype.bytesPerElement=40,Ji(Ys,\"StructArrayLayout5i4f1i1ul2ui40\");class Ws extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,s,a)}emplace(t,e,r,n,i,s,a,o){const l=8*t;return this.int16[l+0]=e,this.int16[l+1]=r,this.int16[l+2]=n,this.int16[l+4]=i,this.int16[l+5]=s,this.int16[l+6]=a,this.int16[l+7]=o,t}}Ws.prototype.bytesPerElement=16,Ji(Ws,\"StructArrayLayout3i2i2i16\");class Qs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.int16[o+6]=i,this.int16[o+7]=s,t}}Qs.prototype.bytesPerElement=16,Ji(Qs,\"StructArrayLayout2f1f2i16\");class ta extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=12*t,a=3*t;return this.uint8[s+0]=e,this.uint8[s+1]=r,this.float32[a+1]=n,this.float32[a+2]=i,t}}ta.prototype.bytesPerElement=12,Ji(ta,\"StructArrayLayout2ub2f12\");class ea extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}ea.prototype.bytesPerElement=12,Ji(ea,\"StructArrayLayout3f12\");class ra extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}ra.prototype.bytesPerElement=6,Ji(ra,\"StructArrayLayout3ui6\");class na extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b){const w=this.length;return this.resize(w+1),this.emplace(w,t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w){const _=30*t,A=15*t,S=60*t;return this.int16[_+0]=e,this.int16[_+1]=r,this.int16[_+2]=n,this.float32[A+2]=i,this.float32[A+3]=s,this.uint16[_+8]=a,this.uint16[_+9]=o,this.uint32[A+5]=l,this.uint32[A+6]=u,this.uint32[A+7]=c,this.uint16[_+16]=h,this.uint16[_+17]=p,this.uint16[_+18]=d,this.float32[A+10]=f,this.float32[A+11]=y,this.uint8[S+48]=m,this.uint8[S+49]=g,this.uint8[S+50]=x,this.uint32[A+13]=v,this.int16[_+28]=b,this.uint8[S+58]=w,t}}na.prototype.bytesPerElement=60,Ji(na,\"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60\");class ia extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S,k,I,M,T,z){const B=this.length;return this.resize(B+1),this.emplace(B,t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S,k,I,M,T,z)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S,k,I,M,T,z,B){const E=38*t,C=19*t;return this.int16[E+0]=e,this.int16[E+1]=r,this.int16[E+2]=n,this.float32[C+2]=i,this.float32[C+3]=s,this.int16[E+8]=a,this.int16[E+9]=o,this.int16[E+10]=l,this.int16[E+11]=u,this.int16[E+12]=c,this.int16[E+13]=h,this.uint16[E+14]=p,this.uint16[E+15]=d,this.uint16[E+16]=f,this.uint16[E+17]=y,this.uint16[E+18]=m,this.uint16[E+19]=g,this.uint16[E+20]=x,this.uint16[E+21]=v,this.uint16[E+22]=b,this.uint16[E+23]=w,this.uint16[E+24]=_,this.uint16[E+25]=A,this.uint16[E+26]=S,this.uint16[E+27]=k,this.uint16[E+28]=I,this.uint32[C+15]=M,this.float32[C+16]=T,this.float32[C+17]=z,this.float32[C+18]=B,t}}ia.prototype.bytesPerElement=76,Ji(ia,\"StructArrayLayout3i2f6i15ui1ul3f76\");class sa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}sa.prototype.bytesPerElement=4,Ji(sa,\"StructArrayLayout1f4\");class aa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=5*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,this.float32[a+4]=s,t}}aa.prototype.bytesPerElement=20,Ji(aa,\"StructArrayLayout5f20\");class oa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=6*t;return this.uint32[3*t+0]=e,this.uint16[s+2]=r,this.uint16[s+3]=n,this.uint16[s+4]=i,t}}oa.prototype.bytesPerElement=12,Ji(oa,\"StructArrayLayout1ul3ui12\");class la extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}la.prototype.bytesPerElement=4,Ji(la,\"StructArrayLayout2ui4\");class ua extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}ua.prototype.bytesPerElement=2,Ji(ua,\"StructArrayLayout1ui2\");class ca extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ca.prototype.bytesPerElement=8,Ji(ca,\"StructArrayLayout2f8\");class ha extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ha.prototype.size=40;class pa extends Ys{get(t){return new ha(this,t)}}Ji(pa,\"CollisionBoxArray\");class da extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(t){this._structArray.uint8[this._pos1+49]=t;}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(t){this._structArray.uint8[this._pos1+50]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(t){this._structArray.uint32[this._pos4+13]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(t){this._structArray.uint8[this._pos1+58]=t;}}da.prototype.size=60;class fa extends na{get(t){return new da(this,t)}}Ji(fa,\"PlacedSymbolArray\");class ya extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(t){this._structArray.uint32[this._pos4+15]=t;}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}ya.prototype.size=76;class ma extends ia{get(t){return new ya(this,t)}}Ji(ma,\"SymbolInstanceArray\");class ga extends sa{getoffsetX(t){return this.float32[1*t+0]}}Ji(ga,\"GlyphOffsetArray\");class xa extends $s{getx(t){return this.int16[2*t+0]}gety(t){return this.int16[2*t+1]}}Ji(xa,\"SymbolLineVertexArray\");class va extends Ls{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]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}va.prototype.size=12;class ba extends oa{get(t){return new va(this,t)}}Ji(ba,\"FeatureIndexArray\");class wa extends la{geta_centroid_pos0(t){return this.uint16[2*t+0]}geta_centroid_pos1(t){return this.uint16[2*t+1]}}Ji(wa,\"FillExtrusionCentroidArray\");const _a=Rs([{name:\"a_pattern\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio\",components:1,type:\"Float32\"}]),Aa=Rs([{name:\"a_dash\",components:4,type:\"Uint16\"}]);var Sa={exports:{}},ka={exports:{}};ka.exports=function(t,e){var r,n,i,s,a,o,l,u;for(n=t.length-(r=3&t.length),i=e,a=3432918353,o=461845907,u=0;u>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var Ia=ka.exports,Ma={exports:{}};Ma.exports=function(t,e){for(var r,n=t.length,i=e^n,s=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var Ta=Ia,za=Ma.exports;Sa.exports=Ta,Sa.exports.murmur3=Ta,Sa.exports.murmur2=za;var Ba=p(Sa.exports);class Ea{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(Ca(t)),this.positions.push(e,r,n);}getPositions(t){const e=Ca(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Pa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new Ea;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Ca(t){const e=+t;return !isNaN(e)&&Number.MIN_SAFE_INTEGER<=e&&e<=Number.MAX_SAFE_INTEGER?e:Ba(String(t))}function Pa(t,e,r,n){for(;r>1];let s=r-1,a=n+1;for(;;){do{s++;}while(t[s]i);if(s>=a)break;Da(t,s,a),Da(e,3*s,3*a),Da(e,3*s+1,3*a+1),Da(e,3*s+2,3*a+2);}a-r`u_${t}`)),this.type=r;}setUniform(t,e,r,n,i){e.set(t,i,n.constantOr(this.value));}getBinding(t,e){return \"color\"===this.type?new Ra(t):new La(t)}}class Na{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.pattern=null,this.pixelRatio=1;}setConstantPatternPositions(t){this.pixelRatio=t.pixelRatio||1,this.pattern=t.tl.concat(t.br);}setUniform(t,e,r,n,i){const s=\"u_pattern\"===i||\"u_dash\"===i?this.pattern:\"u_pixel_ratio\"===i?this.pixelRatio:null;s&&e.set(t,i,s);}getBinding(t,e){return \"u_pattern\"===e||\"u_dash\"===e?new Fa(t):new La(t)}}class Ga{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i,s){const a=this.paintVertexArray.length,o=this.expression.evaluate(new ws(0),e,{},i,n,s);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o);}updatePaintArray(t,e,r,n,i){const s=this.expression.evaluate({zoom:0},r,n,void 0,i);this._setPaintValue(t,e,s);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Oa(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new s;}populatePaintArray(t,e,r,n,i,s){const a=this.expression.evaluate(new ws(this.zoom),e,{},i,n,s),o=this.expression.evaluate(new ws(this.zoom+1),e,{},i,n,s),l=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(l,t,a,o);}updatePaintArray(t,e,r,n,i){const s=this.expression.evaluate({zoom:this.zoom},r,n,void 0,i),a=this.expression.evaluate({zoom:this.zoom+1},r,n,void 0,i);this._setPaintValue(t,e,s,a);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Oa(r),s=Oa(n);for(let r=t;r!0)){this.binders={},this._buffers=[];const n=[];for(const i in t.paint._values){if(!r(i))continue;const s=t.paint.get(i);if(!(s instanceof Ts&&Ln(s.property.specification)))continue;const a=Ya(i,t.type),o=s.value,l=s.property.specification.type,u=!!s.property.useIntegerZoom,c=\"line-dasharray\"===i||i.endsWith(\"pattern\"),h=\"line-dasharray\"===i&&\"constant\"!==t.layout.get(\"line-cap\").value.kind;if(\"constant\"!==o.kind||h)if(\"source\"===o.kind||h||c){const e=to(i,l,\"source\");this.binders[i]=c?new Ka(o,a,l,e,t.id):new Ga(o,a,l,e),n.push(`/a_${i}`);}else {const t=to(i,l,\"composite\");this.binders[i]=new Za(o,a,l,u,e,t),n.push(`/z_${i}`);}else this.binders[i]=c?new Na(o.value,a):new qa(o.value,a,l),n.push(`/u_${i}`);}this.cacheKey=n.sort().join(\"\");}getMaxValue(t){const e=this.binders[t];return e instanceof Ga||e instanceof Za?e.maxValue:0}populatePaintArrays(t,e,r,n,i,s){for(const a in this.binders){const o=this.binders[a];(o instanceof Ga||o instanceof Za||o instanceof Ka)&&o.populatePaintArray(t,e,r,n,i,s);}}setConstantPatternPositions(t){for(const e in this.binders){const r=this.binders[e];r instanceof Na&&r.setConstantPatternPositions(t);}}updatePaintArrays(t,e,r,n,i,s){let a=!1;for(const o in t){const l=e.getPositions(o);for(const e of l){const l=r.feature(e.index);for(const r in this.binders){const u=this.binders[r];if((u instanceof Ga||u instanceof Za||u instanceof Ka)&&!0===u.expression.isStateDependent){const c=n.paint.get(r);u.expression=c.value,u.updatePaintArray(e.start,e.end,l,t[o],i,s),a=!0;}}}}return a}defines(){const t=[];for(const e in this.binders){const r=this.binders[e];(r instanceof qa||r instanceof Na)&&t.push(...r.uniformNames.map((t=>`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Ga||r instanceof Za||r instanceof Ka)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Xa(n,e,r);this.needsUpload=!1,this._featureMap=new Ea,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,s,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,s,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n,i){for(const s of r)this.needsUpload=this.programConfigurations[s.id].updatePaintArrays(t,this._featureMap,e,s,n,i)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}const Ha={\"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-pattern\":[\"pattern\",\"pixel_ratio\"],\"fill-pattern\":[\"pattern\",\"pixel_ratio\"],\"fill-extrusion-pattern\":[\"pattern\",\"pixel_ratio\"],\"line-dasharray\":[\"dash\"]};function Ya(t,e){return Ha[t]||[t.replace(`${e}-`,\"\").replace(/-/g,\"_\")]}const Wa={\"line-pattern\":{source:Gs,composite:Gs},\"fill-pattern\":{source:Gs,composite:Gs},\"fill-extrusion-pattern\":{source:Gs,composite:Gs},\"line-dasharray\":{source:Zs,composite:Zs}},Qa={color:{source:ca,composite:Ns},number:{source:sa,composite:ca}};function to(t,e,r){const n=Wa[t];return n&&n[r]||Qa[e][r]}Ji(qa,\"ConstantBinder\"),Ji(Na,\"PatternConstantBinder\"),Ji(Ga,\"SourceExpressionBinder\"),Ji(Ka,\"PatternCompositeBinder\"),Ji(Za,\"CompositeExpressionBinder\"),Ji(Xa,\"ProgramConfiguration\",{omit:[\"_buffers\"]}),Ji(Ja,\"ProgramConfigurationSet\");const eo=\"-transition\";class ro extends Qt{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&\"sky\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Ms(e.layout)),e.paint)){this._transitionablePaint=new Ss(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new zs(e.paint);}}getLayoutProperty(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(ji,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return U(t,eo)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate($i,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(U(t,eo))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=r.value.isDataDriven(),i=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const s=this._transitionablePaint._values[t].value,a=s.isDataDriven(),o=U(t,\"pattern\")||\"line-dasharray\"===t;return a||n||o||this._handleOverridablePaintPropertyUpdate(t,i,s)}}_handleSpecialPaintPropertyUpdate(t){}getProgramIds(){return null}getProgramConfiguration(t){return null}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={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&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),j(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&qi(this,t.call(Ui,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:te,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isSky(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Ts&&Ln(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}compileFilter(){this._filterCompiled||(this._featureFilter=hi(this.filter),this._filterCompiled=!0);}invalidateCompiledFilter(){this._filterCompiled=!1;}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const no=Rs([{name:\"a_pos\",components:2,type:\"Int16\"}],4),io=Rs([{name:\"a_pos_3\",components:3,type:\"Int16\"},{name:\"a_pos_normal_3\",components:3,type:\"Int16\"}]);class so{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>so.MAX_VERTEX_ARRAY_LENGTH&&N(`Max vertices per segment is ${so.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>so.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new so([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}so.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ji(so,\"SegmentVector\");var ao=8192;class oo{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));}setNorthEast(t){return this._ne=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this}setSouthWest(t){return this._sw=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this}extend(t){const e=this._sw,r=this._ne;let n,i;if(t instanceof Ol)n=t,i=t;else {if(!(t instanceof oo))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(oo.convert(t)):this.extend(Ol.convert(t)):\"object\"==typeof t&&null!==t&&t.hasOwnProperty(\"lat\")&&(t.hasOwnProperty(\"lon\")||t.hasOwnProperty(\"lng\"))?this.extend(Ol.convert(t)):this;if(n=t._sw,i=t._ne,!n||!i)return this}return e||r?(e.lng=Math.min(n.lng,e.lng),e.lat=Math.min(n.lat,e.lat),r.lng=Math.max(i.lng,r.lng),r.lat=Math.max(i.lat,r.lat)):(this._sw=new Ol(n.lng,n.lat),this._ne=new Ol(i.lng,i.lat)),this}getCenter(){return new Ol((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Ol(this.getWest(),this.getNorth())}getSouthEast(){return new Ol(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return [this._sw.toArray(),this._ne.toArray()]}toString(){return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return !(this._sw&&this._ne)}contains(t){const{lng:e,lat:r}=Ol.convert(t);let n=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&n}static convert(t){return !t||t instanceof oo?t:new oo(t)}}var lo=1e-6,uo=\"undefined\"!=typeof Float32Array?Float32Array:Array;function co(){var t=new uo(9);return uo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function ho(t,e,r){var n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=r[0],d=r[1],f=r[2],y=r[3],m=r[4],g=r[5],x=r[6],v=r[7],b=r[8];return t[0]=p*n+d*a+f*u,t[1]=p*i+d*o+f*c,t[2]=p*s+d*l+f*h,t[3]=y*n+m*a+g*u,t[4]=y*i+m*o+g*c,t[5]=y*s+m*l+g*h,t[6]=x*n+v*a+b*u,t[7]=x*i+v*o+b*c,t[8]=x*s+v*l+b*h,t}function po(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function fo(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],d=e[11],f=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*a,v=r*l-i*a,b=r*u-s*a,w=n*l-i*o,_=n*u-s*o,A=i*u-s*l,S=c*y-h*f,k=c*m-p*f,I=c*g-d*f,M=h*m-p*y,T=h*g-d*y,z=p*g-d*m,B=x*z-v*T+b*M+w*I-_*k+A*S;return B?(t[0]=(o*z-l*T+u*M)*(B=1/B),t[1]=(i*T-n*z-s*M)*B,t[2]=(y*A-m*_+g*w)*B,t[3]=(p*_-h*A-d*w)*B,t[4]=(l*I-a*z-u*k)*B,t[5]=(r*z-i*I+s*k)*B,t[6]=(m*b-f*A-g*v)*B,t[7]=(c*A-p*b+d*v)*B,t[8]=(a*T-o*I+u*S)*B,t[9]=(n*I-r*T-s*S)*B,t[10]=(f*_-y*b+g*x)*B,t[11]=(h*b-c*_-d*x)*B,t[12]=(o*k-a*M-l*S)*B,t[13]=(r*M-n*k+i*S)*B,t[14]=(y*v-f*w-m*x)*B,t[15]=(c*w-h*v+p*x)*B,t):null}function yo(t,e,r){var n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],d=e[10],f=e[11],y=e[12],m=e[13],g=e[14],x=e[15],v=r[0],b=r[1],w=r[2],_=r[3];return t[0]=v*n+b*o+w*h+_*y,t[1]=v*i+b*l+w*p+_*m,t[2]=v*s+b*u+w*d+_*g,t[3]=v*a+b*c+w*f+_*x,t[4]=(v=r[4])*n+(b=r[5])*o+(w=r[6])*h+(_=r[7])*y,t[5]=v*i+b*l+w*p+_*m,t[6]=v*s+b*u+w*d+_*g,t[7]=v*a+b*c+w*f+_*x,t[8]=(v=r[8])*n+(b=r[9])*o+(w=r[10])*h+(_=r[11])*y,t[9]=v*i+b*l+w*p+_*m,t[10]=v*s+b*u+w*d+_*g,t[11]=v*a+b*c+w*f+_*x,t[12]=(v=r[12])*n+(b=r[13])*o+(w=r[14])*h+(_=r[15])*y,t[13]=v*i+b*l+w*p+_*m,t[14]=v*s+b*u+w*d+_*g,t[15]=v*a+b*c+w*f+_*x,t}function mo(t,e,r){var n,i,s,a,o,l,u,c,h,p,d,f,y=r[0],m=r[1],g=r[2];return e===t?(t[12]=e[0]*y+e[4]*m+e[8]*g+e[12],t[13]=e[1]*y+e[5]*m+e[9]*g+e[13],t[14]=e[2]*y+e[6]*m+e[10]*g+e[14],t[15]=e[3]*y+e[7]*m+e[11]*g+e[15]):(i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],d=e[10],f=e[11],t[0]=n=e[0],t[1]=i,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=p,t[10]=d,t[11]=f,t[12]=n*y+o*m+h*g+e[12],t[13]=i*y+l*m+p*g+e[13],t[14]=s*y+u*m+d*g+e[14],t[15]=a*y+c*m+f*g+e[15]),t}function go(t,e,r){var n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function xo(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[4],a=e[5],o=e[6],l=e[7],u=e[8],c=e[9],h=e[10],p=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=s*i+u*n,t[5]=a*i+c*n,t[6]=o*i+h*n,t[7]=l*i+p*n,t[8]=u*i-s*n,t[9]=c*i-a*n,t[10]=h*i-o*n,t[11]=p*i-l*n,t}function vo(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[8],c=e[9],h=e[10],p=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i-u*n,t[1]=a*i-c*n,t[2]=o*i-h*n,t[3]=l*i-p*n,t[8]=s*n+u*i,t[9]=a*n+c*i,t[10]=o*n+h*i,t[11]=l*n+p*i,t}function bo(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function wo(t,e,r){var n,i,s,a=r[0],o=r[1],l=r[2],u=Math.hypot(a,o,l);return u0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}function Vo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Lo(t,e,r){var n=e[0],i=e[1],s=e[2],a=r[0],o=r[1],l=r[2];return t[0]=i*l-s*o,t[1]=s*a-n*l,t[2]=n*o-i*a,t}function Fo(t,e,r){var n=e[0],i=e[1],s=e[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/(a=a||1),t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/a,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/a,t}function Ro(t,e,r){var n=r[0],i=r[1],s=r[2],a=e[0],o=e[1],l=e[2],u=i*l-s*o,c=s*a-n*l,h=n*o-i*a,p=i*h-s*c,d=s*u-n*h,f=n*c-i*u,y=2*r[3];return c*=y,h*=y,d*=2,f*=2,t[0]=a+(u*=y)+(p*=2),t[1]=o+c+d,t[2]=l+h+f,t}var Uo,$o=To,jo=zo,Oo=ko;function qo(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function No(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=r*r+n*n+i*i+s*s;return a>0&&(a=1/Math.sqrt(a)),t[0]=r*a,t[1]=n*a,t[2]=i*a,t[3]=s*a,t}function Go(t,e,r){var n=e[0],i=e[1],s=e[2],a=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*s+r[12]*a,t[1]=r[1]*n+r[5]*i+r[9]*s+r[13]*a,t[2]=r[2]*n+r[6]*i+r[10]*s+r[14]*a,t[3]=r[3]*n+r[7]*i+r[11]*s+r[15]*a,t}function Zo(){var t=new uo(4);return uo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function Ko(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function Xo(t,e,r){r*=.5;var n=e[0],i=e[1],s=e[2],a=e[3],o=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*o,t[1]=i*l+s*o,t[2]=s*l-i*o,t[3]=a*l-n*o,t}function Jo(t,e,r){r*=.5;var n=e[0],i=e[1],s=e[2],a=e[3],o=Math.sin(r),l=Math.cos(r);return t[0]=n*l-s*o,t[1]=i*l+a*o,t[2]=s*l+n*o,t[3]=a*l-i*o,t}Ao(),Uo=new uo(4),uo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0,Uo[3]=0);var Ho=No;Ao(),Io(1,0,0),Io(0,1,0),Zo(),Zo(),co();const Yo=Rs([{type:\"Float32\",name:\"a_globe_pos\",components:3},{type:\"Float32\",name:\"a_uv\",components:2}]),{members:Wo}=Yo,Qo=Rs([{name:\"a_pos_3\",components:3,type:\"Int16\"}]);var tl=Rs([{name:\"a_pos\",type:\"Int16\",components:2}]);class el{constructor(t,e){this.pos=t,this.dir=e;}intersectsPlane(t,e,r){const n=Vo(e,this.dir);if(Math.abs(n)<1e-6)return !1;const i=((t[0]-this.pos[0])*e[0]+(t[1]-this.pos[1])*e[1]+(t[2]-this.pos[2])*e[2])/n;return r[0]=this.pos[0]+this.dir[0]*i,r[1]=this.pos[1]+this.dir[1]*i,r[2]=this.pos[2]+this.dir[2]*i,!0}closestPointOnSphere(t,e,r){if(function(t,e){var r=t[0],n=t[1],i=t[2],s=e[0],a=e[1],o=e[2];return Math.abs(r-s)<=lo*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-a)<=lo*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-o)<=lo*Math.max(1,Math.abs(i),Math.abs(o))}(this.pos,t)||0===e)return r[0]=r[1]=r[2]=0,!1;const[n,i,s]=this.dir,a=this.pos[0]-t[0],o=this.pos[1]-t[1],l=this.pos[2]-t[2],u=n*n+i*i+s*s,c=2*(a*n+o*i+l*s),h=c*c-4*u*(a*a+o*o+l*l-e*e);if(h<0){const t=Math.max(-c/2,0),u=a+n*t,h=o+i*t,p=l+s*t,d=Math.hypot(u,h,p);return r[0]=u*e/d,r[1]=h*e/d,r[2]=p*e/d,!1}{const t=(-c-Math.sqrt(h))/(2*u);if(t<0){const t=Math.hypot(a,o,l);return r[0]=a*e/t,r[1]=o*e/t,r[2]=l*e/t,!1}return r[0]=a+n*t,r[1]=o+i*t,r[2]=l+s*t,!0}}}class rl{constructor(t,e,r,n,i){this.TL=t,this.TR=e,this.BR=r,this.BL=n,this.horizon=i;}static fromInvProjectionMatrix(t,e,r){const n=[-1,1,1],i=[1,1,1],s=[1,-1,1],a=[-1,-1,1],o=Fo(n,n,t),l=Fo(i,i,t),u=Fo(s,s,t),c=Fo(a,a,t);return new rl(o,l,u,c,e/r)}}class nl{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(t,e,r,n){const i=Math.pow(2,r),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{const s=Go([],r,t),a=1/s[3]/e*i;return function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}(s,s,[a,a,n?1/s[3]:a,a])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=Do([],Lo([],$o([],s[t[0]],s[t[1]]),$o([],s[t[2]],s[t[1]]))),r=-Vo(e,s[t[1]]);return e.concat(r)}));return new nl(s,a)}}class il{static fromPoints(t){const e=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(const n of t)Bo(e,e,n),Eo(r,r,n);return new il(e,r)}static applyTransform(t,e){const r=t.getCorners();for(let t=0;t=0;if(0===s)return 0;s!==e.length&&(r=!1);}if(r)return 2;for(let e=0;e<3;e++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[e]-this.min[e])return 0}return 1}}const sl=5,al=6,ol=ao/Math.PI/2,ll=16383,ul=64,cl=[ul,32,16],hl=-ol,pl=ol,dl=[new il([hl,hl,hl],[pl,pl,pl]),new il([hl,hl,hl],[0,0,pl]),new il([0,hl,hl],[pl,0,pl]),new il([hl,0,hl],[0,pl,pl]),new il([0,0,hl],[pl,pl,pl])];function fl(t){return t*ol/Ul}function yl(t,e,r,n=!0){const i=Co([],t._camera.position,t.worldSize),s=[e,r,1,1];Go(s,s,t.pixelMatrixInverse),qo(s,s,1/s[3]);const a=Do([],$o([],s,i)),o=t.globeMatrix,l=[o[12],o[13],o[14]],u=$o([],l,i),c=ko(u),h=Do([],u),p=t.worldSize/(2*Math.PI),d=Vo(h,a),f=Math.asin(p/c);if(f1?null:function(t,e,r,n){const i=Math.sin(r);return t*(Math.sin((1-n)*r)/i)+e*(Math.sin(n*r)/i)}(t.a[e],t.b[e],t.angle,M(r,0,1))+t.center[e]}function xl(t){if(t.z<=1)return dl[t.z+2*t.y+t.x];const e=Sl(Al(t));return il.fromPoints(e)}function vl(t,e,r){return Co(t,t,1-r),Po(t,t,e,r)}function bl(t,e){const r=Pl(e.zoom);if(0===r)return xl(t);const n=Al(t),i=Sl(n),s=Nl(n.getWest())*e.worldSize,a=Nl(n.getEast())*e.worldSize,o=Gl(n.getNorth())*e.worldSize,l=Gl(n.getSouth())*e.worldSize,u=[s,o,0],c=[a,o,0],h=[s,l,0],p=[a,l,0],d=fo([],e.globeMatrix);return Fo(u,u,d),Fo(c,c,d),Fo(h,h,d),Fo(p,p,d),i[0]=vl(i[0],h,r),i[1]=vl(i[1],p,r),i[2]=vl(i[2],c,r),i[3]=vl(i[3],u,r),il.fromPoints(i)}function wl(t,e,r){for(const n of t)Fo(n,n,e),Co(n,n,r);}function _l(t,e,r){const n=e/t.worldSize,i=t.globeMatrix;if(r.z<=1){const t=xl(r).getCorners();return wl(t,i,n),il.fromPoints(t)}const s=Al(r),a=Sl(s);wl(a,i,n);const o=Number.MAX_VALUE,l=[-o,-o,-o],u=[o,o,o];if(s.contains(t.center)){for(const t of a)Bo(u,u,t),Eo(l,l,t);l[2]=0;const e=t.point,r=[e.x*n,e.y*n,0];return Bo(u,u,r),Eo(l,l,r),new il(u,l)}const c=[i[12]*n,i[13]*n,i[14]*n],h=s.getCenter(),p=M(t.center.lat,-Hl,Hl),d=M(h.lat,-Hl,Hl),f=Nl(t.center.lng),y=Gl(p);let m=f-Nl(h.lng);const g=y-Gl(d);m>.5?m-=1:m<-.5&&(m+=1);let x=0;Math.abs(m)>Math.abs(g)?x=m>=0?1:3:(x=g>=0?0:2,Po(c,c,[i[4]*n,i[5]*n,i[6]*n],-Math.sin(w(g>=0?s.getSouth():s.getNorth()))*ol));const v=a[x],b=a[(x+1)%4],_=new ml(v,b,c),A=[gl(_,0)||v[0],gl(_,1)||v[1],gl(_,2)||v[2]],S=Pl(t.zoom);if(S>0){const n=function({x:t,y:e,z:r},n,i,s,a){const o=1/(1<.5?p=-1:d<-.5&&(p=1),l=((l+p)*n-(s*=n))*i+s,u=((u+p)*n-s)*i+s,c=(c*n-(a*=n))*i+a,h=(h*n-a)*i+a,[[l,h,0],[u,h,0],[u,c,0],[l,c,0]]}(r,e,t._pixelsPerMercatorPixel,f,y);for(let t=0;tMath.PI/2*1.01}const Ll=w(85),Fl=Math.cos(Ll),Rl=Math.sin(Ll),Ul=6371008.8,$l=2*Math.PI*Ul;class jl{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new jl(z(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ul*Math.acos(Math.min(i,1))}toBounds(t=0){const e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new oo(new jl(this.lng-r,this.lat-e),new jl(this.lng+r,this.lat+e))}toEcef(t){const e=fl(t);return Il(this.lat,this.lng,ol+e)}static convert(t){if(t instanceof jl)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new jl(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new jl(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}var Ol=jl;function ql(t){return $l*Math.cos(t*Math.PI/180)}function Nl(t){return (180+t)/360}function Gl(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Zl(t,e){return t/ql(e)}function Kl(t){return 360*t-180}function Xl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}function Jl(t,e){return t*ql(Xl(e))}const Hl=85.051129;function Yl(t){return 1/Math.cos(t*Math.PI/180)}class Wl{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Ol.convert(t);return new Wl(Nl(r.lng),Gl(r.lat),Zl(e,r.lat))}toLngLat(){return new Ol(Kl(this.x),Xl(this.y))}toAltitude(){return Jl(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/$l*Yl(Xl(this.y))}}function Ql(t,e,r,n,i,s,a,o,l){const u=(e+n)/2,c=(r+i)/2,h=new x(u,c);o(h),function(t,e,r,n,i,s){const a=r-i,o=n-s;return Math.abs((n-e)*a-(r-t)*o)/Math.hypot(a,o)}(h.x,h.y,s.x,s.y,a.x,a.y)>=l?(Ql(t,e,r,u,c,s,h,o,l),Ql(t,u,c,n,i,h,a,o,l)):t.push(a);}function tu(t,e,r){let n=t[0],i=n.x,s=n.y;e(n);const a=[n];for(let o=1;ot.x+1||nt.y+1)&&N(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),t}function au(t,e,r){const n=t.loadGeometry(),i=t.extent,s=ao/i;if(e&&r&&r.projection.isReprojectedInTileSpace){const s=1<{const r=Kl((e.x+t.x/i)/s),n=Xl((e.y+t.y/i)/s),c=u.project(r,n);t.x=(c.x*a-o)*i,t.y=(c.y*a-l)*i;};for(let e=0;e=i||r.y<0||r.y>=i||(c(r),t.push(r));n[e]=t;}}for(const t of n)for(const e of t)su(e,s);return n}function ou(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?au(t):[]}}function lu(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}function uu(t,e,r){const n=16384;t.emplaceBack(e.x,e.y,e.z,r[0]*n,r[1]*n,r[2]*n);}class cu{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.projection=t.projection,this.layoutVertexArray=new $s,this.indexArray=new ra,this.segments=new so,this.programConfigurations=new Ja(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r,n){const i=this.layers[0],s=[];let a=null;\"circle\"===i.type&&(a=i.layout.get(\"circle-sort-key\"));for(const{feature:e,id:i,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ou(e,t);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),u,r))continue;const c=a?a.evaluate(u,{},r):void 0,h={id:i,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:au(e,r,n),patterns:{},sortKey:c};s.push(h);}a&&s.sort(((t,e)=>t.sortKey-e.sortKey));let o=null;\"globe\"===n.projection.name&&(this.globeExtVertexArray=new Ks,o=n.projection);for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n,l=t[s].feature;this.addFeature(n,i,s,e.availableImages,r,o),e.featureIndex.insert(l,i,s,a,this.index);}}update(t,e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r,n);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,no.members),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,io.members))),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy());}addFeature(t,e,r,n,i,s){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=ao||n<0||n>=ao)continue;if(s){const t=s.projectTilePoint(r,n,i),e=s.upVector(i,r,n),a=this.globeExtVertexArray;uu(a,t,e),uu(a,t,e),uu(a,t,e),uu(a,t,e);}const a=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),o=a.vertexLength;lu(this.layoutVertexArray,r,n,-1,-1),lu(this.layoutVertexArray,r,n,1,-1),lu(this.layoutVertexArray,r,n,1,1),lu(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(o,o+1,o+2),this.indexArray.emplaceBack(o,o+2,o+3),a.vertexLength+=4,a.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n,i);}}function hu(t,e){for(let r=0;r1){if(yu(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function vu(t,e){let r,n,i,s=!1;for(let a=0;ae.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(s=!s);}return s}function bu(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(r=!r);}return r}function wu(t,e,r,n,i){for(const s of t)if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.y)return !0;const s=[new x(e,r),new x(e,i),new x(n,i),new x(n,r)];if(t.length>2)for(const e of s)if(bu(t,e))return !0;for(let e=0;ei.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const s=G(t,e,r[0]);return s!==G(t,e,r[1])||s!==G(t,e,r[2])||s!==G(t,e,r[3])}function Au(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Su(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ku(t,e,r,n,i){if(!e[0]&&!e[1])return t;const s=x.convert(e)._mult(i);\"viewport\"===r&&s._rotate(-n);const a=[];for(let e=0;e0){const t=r.projection.upVector(u,h.x,h.y);d.x+=t[0]*c*p,d.y+=t[1]*c*p,d.z+=t[2]*c*p;}const f=s?h:Bu(d.x,d.y,d.z,n),y=s?t.tilespaceRays.map((t=>Pu(t,p))):t.queryGeometry.screenGeometry,m=Go([],[d.x,d.y,d.z,1],n);if(!a&&s?l*=m[3]/r.cameraToCenterDistance:a&&!s&&(l*=r.cameraToCenterDistance/m[3]),s){const t=Xl((e.y/ao+u.y)/(1<t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const a=t.data,o=e.data;for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*a.r/a.a),i.data[r+n+1]=Math.floor(255*a.g/a.a),i.data[r+n+2]=Math.floor(255*a.b/a.a),i.data[r+n+3]=Math.floor(255*a.a);};if(t.clips)for(let e=0,i=0;e80*r){n=s=t[0],i=a=t[1];for(var f=r;fs&&(s=o),l>a&&(a=l);u=0!==(u=Math.max(s-n,a-i))?32767/u:0;}return Ju(p,d,r,n,i,u,0),d}function Ku(t,e,r,n,i){var s,a;if(i===gc(t,e,r,n)>0)for(s=e;s=e;s-=n)a=fc(s,t[s],t[s+1],a);return a&&lc(a,a.next)&&(yc(a),a=a.next),a}function Xu(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!lc(n,n.next)&&0!==oc(n.prev,n,n.next))n=n.next;else {if(yc(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Ju(t,e,r,n,i,s,a){if(t){!a&&s&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=nc(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,s,a,o,l,u=1;do{for(r=t,t=null,s=null,a=0;r;){for(a++,n=r,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,o--):(i=n,n=n.nextZ,l--),s?s.nextZ=i:t=i,i.prevZ=s,s=i;r=n;}s.nextZ=null,u*=2;}while(a>1)}(i);}(t,n,i,s);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Yu(t,n,i,s):Hu(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),yc(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?Ju(t=Wu(Xu(t),e,r),e,r,n,i,s,2):2===a&&Qu(t,e,r,n,i,s):Ju(Xu(t),e,r,n,i,s,1);break}}}function Hu(t){var e=t.prev,r=t,n=t.next;if(oc(e,r,n)>=0)return !1;for(var i=e.x,s=r.x,a=n.x,o=e.y,l=r.y,u=n.y,c=is?i>a?i:a:s>a?s:a,d=o>l?o>u?o:u:l>u?l:u,f=n.next;f!==e;){if(f.x>=c&&f.x<=p&&f.y>=h&&f.y<=d&&sc(i,o,s,l,a,u,f.x,f.y)&&oc(f.prev,f,f.next)>=0)return !1;f=f.next;}return !0}function Yu(t,e,r,n){var i=t.prev,s=t,a=t.next;if(oc(i,s,a)>=0)return !1;for(var o=i.x,l=s.x,u=a.x,c=i.y,h=s.y,p=a.y,d=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=nc(d,f,e,r,n),x=nc(y,m,e,r,n),v=t.prevZ,b=t.nextZ;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=d&&v.x<=y&&v.y>=f&&v.y<=m&&v!==i&&v!==a&&sc(o,c,l,h,u,p,v.x,v.y)&&oc(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=d&&b.x<=y&&b.y>=f&&b.y<=m&&b!==i&&b!==a&&sc(o,c,l,h,u,p,b.x,b.y)&&oc(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=d&&v.x<=y&&v.y>=f&&v.y<=m&&v!==i&&v!==a&&sc(o,c,l,h,u,p,v.x,v.y)&&oc(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=d&&b.x<=y&&b.y>=f&&b.y<=m&&b!==i&&b!==a&&sc(o,c,l,h,u,p,b.x,b.y)&&oc(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Wu(t,e,r){var n=t;do{var i=n.prev,s=n.next.next;!lc(i,s)&&uc(i,n,n.next,s)&&pc(i,s)&&pc(s,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(s.i/r|0),yc(n),yc(n.next),n=t=s),n=n.next;}while(n!==t);return Xu(n)}function Qu(t,e,r,n,i,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&ac(a,o)){var l=dc(a,o);return a=Xu(a,a.next),l=Xu(l,l.next),Ju(a,e,r,n,i,s,0),void Ju(l,e,r,n,i,s,0)}o=o.next;}a=a.next;}while(a!==t)}function tc(t,e){return t.x-e.x}function ec(t,e){var r=function(t,e){var r,n=e,i=t.x,s=t.y,a=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>a&&(a=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&sc(sr.x||n.x===r.x&&rc(r,n)))&&(r=n,p=l)),n=n.next;}while(n!==u);return r}(t,e);if(!r)return e;var n=dc(r,t);return Xu(n,n.next),Xu(r,r.next)}function rc(t,e){return oc(t.prev,t,e.prev)<0&&oc(e.next,t,t.next)<0}function nc(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ic(t){var e=t,r=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(n-o)>=(r-a)*(e-o)&&(r-a)*(s-o)>=(i-a)*(n-o)}function ac(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&uc(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(pc(t,e)&&pc(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,s=(t.y+e.y)/2;do{r.y>s!=r.next.y>s&&r.next.y!==r.y&&i<(r.next.x-r.x)*(s-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(oc(t.prev,t,e.prev)||oc(t,e.prev,e))||lc(t,e)&&oc(t.prev,t,t.next)>0&&oc(e.prev,e,e.next)>0)}function oc(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function lc(t,e){return t.x===e.x&&t.y===e.y}function uc(t,e,r,n){var i=hc(oc(t,e,r)),s=hc(oc(t,e,n)),a=hc(oc(r,n,t)),o=hc(oc(r,n,e));return i!==s&&a!==o||!(0!==i||!cc(t,r,e))||!(0!==s||!cc(t,n,e))||!(0!==a||!cc(r,t,n))||!(0!==o||!cc(r,e,n))}function cc(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function hc(t){return t>0?1:t<0?-1:0}function pc(t,e){return oc(t.prev,t,t.next)<0?oc(t,e,t.next)>=0&&oc(t,t.prev,e)>=0:oc(t,e,t.prev)<0||oc(t,t.next,e)<0}function dc(t,e){var r=new mc(t.i,t.x,t.y),n=new mc(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,s.next=n,n.prev=s,n}function fc(t,e,r,n){var i=new mc(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function yc(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function mc(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function gc(t,e,r,n){for(var i=0,s=e,a=r-n;s0&&r.holes.push(n+=t[i-1].length);}return r};var xc=p(Gu.exports);function vc(t,e,r,n,i){bc(t,e,r||0,n||t.length-1,i||_c);}function bc(t,e,r,n,i){for(;n>r;){if(n-r>600){var s=n-r+1,a=e-r+1,o=Math.log(s),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);bc(t,e,Math.max(r,Math.floor(e-a*l/s+u)),Math.min(n,Math.floor(e+(s-a)*l/s+u)),i);}var c=t[e],h=r,p=n;for(wc(t,r,e),i(t[n],c)>0&&wc(t,r,n);h0;)p--;}0===i(t[r],c)?wc(t,r,p):wc(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function wc(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function _c(t,e){return te?1:0}function Ac(t,e){const r=t.length;if(r<=1)return [t];const n=[];let i,s;for(let e=0;e1)for(let t=0;tt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new $s,this.indexArray=new ra,this.indexArray2=new la,this.programConfigurations=new Ja(t.layers,t.zoom),this.segments=new so,this.segments2=new so,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.projection=t.projection;}populate(t,e,r,n){this.hasPattern=kc(\"fill\",this.layers,e);const i=this.layers[0].layout.get(\"fill-sort-key\"),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ou(a,t);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),c,r))continue;const h=i?i.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:au(a,r,n),patterns:{},sortKey:h};s.push(p);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=Ic(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{},e.availableImages);e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r,n);}addFeatures(t,e,r,n,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r,n);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Nu),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,r,n,i,s=[]){for(const t of Ac(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)s+=t.readSVarint(),a+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new Vc(s,a));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},Fc.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(s+=t.readSVarint())u&&(u=s);else if(7!==r)throw new Error(\"unknown command \"+r)}return [a,l,o,u]},Fc.prototype.toGeoJSON=function(t,e,r){var n,i,s=this.extent*Math.pow(2,r),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=Fc.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}Oc.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new $c(this._pbf,e,this.extent,this._keys,this._values)};var Nc=jc;function Gc(t,e,r){if(3===t){var n=new Nc(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}var Zc=Dc.VectorTile=function(t,e){this.layers=t.readFields(Gc,{},e);},Kc=Dc.VectorTileFeature=Lc;function Xc(t,e,r,n){const i=[],s=0===n?(t,e,r,n,i,s)=>{t.push(new x(s,r+(s-e)/(n-e)*(i-r)));}:(t,e,r,n,i,s)=>{t.push(new x(e+(s-r)/(i-r)*(n-e),s));};for(const a of t){const t=[];for(const i of a){if(i.length<=2)continue;const a=[];for(let t=0;te&&s(a,o,l,u,c,e):h>r?p=e&&s(a,o,l,u,c,e),p>r&&h<=r&&s(a,o,l,u,c,r);}let o=i[i.length-1];const l=0===n?o.x:o.y;l>=e&&l<=r&&a.push(o),a.length&&(o=a[a.length-1],a[0].x===o.x&&a[0].y===o.y||a.push(a[0]),t.push(a));}t.length&&i.push(t);}return i}Dc.VectorTileLayer=jc;const Jc=Kc.types,Hc=Math.pow(2,13);function Yc(t,e,r,n,i,s,a,o){t.emplaceBack((e<<1)+a,(r<<1)+s,(Math.floor(n*Hc)<<1)+i,Math.round(o));}function Wc(t,e,r){const n=16384;t.emplaceBack(e.x,e.y,e.z,r[0]*n,r[1]*n,r[2]*n);}class Qc{constructor(){this.acc=new x(0,0),this.polyCount=[];}startRing(t){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new x(t.x,t.y),this.max=new x(t.x,t.y));}append(t,e){this.currentPolyCount.edges++,this.acc._add(t);const r=this.min,n=this.max;t.xn.x&&(n.x=t.x),t.yn.y&&(n.y=t.y),((0===t.x||t.x===ao)&&t.x===e.x)!=((0===t.y||t.y===ao)&&t.y===e.y)&&this.processBorderOverlap(t,e),e.x<0!=t.x<0&&this.addBorderIntersection(0,Er(e.y,t.y,(0-e.x)/(t.x-e.x))),e.x>ao!=t.x>ao&&this.addBorderIntersection(1,Er(e.y,t.y,(ao-e.x)/(t.x-e.x))),e.y<0!=t.y<0&&this.addBorderIntersection(2,Er(e.x,t.x,(0-e.y)/(t.y-e.y))),e.y>ao!=t.y>ao&&this.addBorderIntersection(3,Er(e.x,t.x,(ao-e.y)/(t.y-e.y)));}addBorderIntersection(t,e){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const r=this.borders[t];er[1]&&(r[1]=e);}processBorderOverlap(t,e){if(t.x===e.x){if(t.y===e.y)return;const r=0===t.x?0:1;this.addBorderIntersection(r,e.y),this.addBorderIntersection(r,t.y);}else {const r=0===t.y?2:3;this.addBorderIntersection(r,e.x),this.addBorderIntersection(r,t.x);}}centroid(){const t=this.polyCount.reduce(((t,e)=>t+e.edges),0);return 0!==t?this.acc.div(t)._round():new x(0,0)}span(){return new x(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((t,e)=>t+ +(e[0]!==Number.MAX_VALUE)),0)}}class th{constructor(t){this.zoom=t.zoom,this.canonical=t.canonical,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=t.projection,this.layoutVertexArray=new Os,this.centroidVertexArray=new wa,this.indexArray=new ra,this.programConfigurations=new Ja(t.layers,t.zoom),this.segments=new so,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.enableTerrain=t.enableTerrain;}populate(t,e,r,n){this.features=[],this.hasPattern=kc(\"fill-extrusion\",this.layers,e),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=function(t){const e=Math.exp(Math.PI*(1-t.y/(1<=0;t--){const e=p[t];(0===e.length||(d=e[0]).every((t=>t.x<=0))||d.every((t=>t.x>=ao))||d.every((t=>t.y<=0))||d.every((t=>t.y>=ao)))&&p.splice(t,1);}var d;let f;if(u)f=lh(p,o,n);else {f=[];for(const t of p)f.push({polygon:t,bounds:o});}const y=h?this.edgeRadius:0;for(const{polygon:t,bounds:e}of f){let r=0,i=0;for(const e of t)h&&!e[0].equals(e[e.length-1])&&e.push(e[0]),i+=h?e.length-1:e.length;const s=this.segments.prepareSegment((h?5:4)*i,this.layoutVertexArray,this.indexArray);if(h){const e=[],i=[];r=s.vertexLength;for(const r of t){let a,o;r.length&&r!==t[0]&&i.push(e.length/2),a=r[1].sub(r[0])._perp()._unit();for(let t=1;t4&&sh(i[i.length-2],i[0],i[1]),d=y?rh(i[i.length-2],i[0],i[1],y):0;a=i[1].sub(i[0])._perp()._unit();let f=!0;for(let m=1,g=0;m0?1:0,S=x.dist(v);if(g+S>32768&&(g=0),y){o=b.sub(v)._perp()._unit();let t=nh(x,v,b,eh(a,o),y);isNaN(t)&&(t=0);const e=v.sub(x)._unit();x=x.add(e.mult(d))._round(),v=v.add(e.mult(-t))._round(),d=t,a=o;}const k=s.vertexLength,I=i.length>4&&sh(x,v,b);let M=ah(g,p,f);if(Yc(this.layoutVertexArray,x.x,x.y,_,A,0,0,M),Yc(this.layoutVertexArray,x.x,x.y,_,A,0,1,M),g+=S,M=ah(g,I,!f),p=I,Yc(this.layoutVertexArray,v.x,v.y,_,A,0,0,M),Yc(this.layoutVertexArray,v.x,v.y,_,A,0,1,M),s.vertexLength+=4,this.indexArray.emplaceBack(k+0,k+1,k+2),this.indexArray.emplaceBack(k+1,k+3,k+2),s.primitiveLength+=2,y){const n=r+(1===m?i.length-2:m-2),a=1===m?r:n+1;if(this.indexArray.emplaceBack(k+1,n,k+3),this.indexArray.emplaceBack(n,a,k+3),s.primitiveLength+=2,void 0===t&&(t=k),!ih(b,i[m],e)){const e=m===i.length-1?t:s.vertexLength;this.indexArray.emplaceBack(k+2,k+3,e),this.indexArray.emplaceBack(k+3,e+1,e),this.indexArray.emplaceBack(k+3,a,e+1),s.primitiveLength+=3;}f=!f;}if(u){const t=this.layoutVertexExtArray,e=l.projectTilePoint(x.x,x.y,n),r=l.projectTilePoint(v.x,v.y,n),i=l.upVector(n,x.x,x.y),s=l.upVector(n,v.x,v.y);Wc(t,e,i),Wc(t,e,i),Wc(t,r,s),Wc(t,r,s);}}h&&(r+=i.length-1);}}if(c&&c.polyCount.length>0){if(c.borders){c.vertexArrayOffset=this.centroidVertexArray.length;const t=c.borders,e=this.featuresOnBorder.push(c)-1;for(let r=0;r<4;r++)t[r][0]!==Number.MAX_VALUE&&this.borders[r].push(e);}this.encodeCentroid(c.borders?void 0:c.centroid(),c);}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,s,n);}sortBorders(){for(let t=0;t<4;t++)this.borders[t].sort(((e,r)=>this.featuresOnBorder[e].borders[t][0]-this.featuresOnBorder[r].borders[t][0]));}encodeCentroid(t,e,r=!0){let n,i;if(t)if(0!==t.y){const r=e.span()._mult(this.tileToMeter);n=(Math.max(t.x,1)<<3)+Math.min(7,Math.round(r.x/10)),i=(Math.max(t.y,1)<<3)+Math.min(7,Math.round(r.y/10));}else n=Math.ceil(7*(t.x+450)),i=0;else n=0,i=+r;let s=r?this.centroidVertexArray.length:e.vertexArrayOffset;for(const t of e.polyCount){r&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*t.edges+t.top);for(let e=0;er[1].x&&e.x>r[1].x||t.yr[1].y&&e.y>r[1].y}function sh(t,e,r){if(t.x<0||t.x>=ao||e.x<0||e.x>=ao||r.x<0||r.x>=ao)return !1;const n=r.sub(e),i=n.perp(),s=t.sub(e);return (n.x*s.x+n.y*s.y)/Math.sqrt((n.x*n.x+n.y*n.y)*(s.x*s.x+s.y*s.y))>-.866&&i.x*s.x+i.y*s.y<0}function ah(t,e,r){const n=e?2|t:-3&t;return r?1|n:-2&n}function oh(){const t=Math.PI/32,e=Math.tan(t),r=Ul;return r*Math.sqrt(1+2*e*e)-r}function lh(t,e,r){const n=1<{for(const r of t)a.push({polygon:r,bounds:e});},l=Math.ceil(Math.log2(r)),u=Math.ceil(Math.log2(n)),c=l-u,h=[];for(let t=0;t0?0:1);for(let t=0;te+1?d.push({polygons:p,bounds:t,depth:e+1}):o(p,t);}if(f.length){const t=[new x(0===r?c:n.x,1===r?c:n.y),a];h.length>e+1?d.push({polygons:f,bounds:t,depth:e+1}):o(f,t);}}return a}(t,e,Math.ceil((s-i)/11.25),Math.ceil((a-o)/11.25),1,((t,e,i)=>{if(0===t)return .5*(e+i);{const t=Xl((r.y+e/ao)/n);return (Gl(.5*(Xl((r.y+i/ao)/n)+t))*n-r.y)*ao}}))}Ji(th,\"FillExtrusionBucket\",{omit:[\"layers\",\"features\"]}),Ji(Qc,\"PartMetadata\");const uh=new Ps({\"fill-extrusion-edge-radius\":new Bs(te[\"layout_fill-extrusion\"][\"fill-extrusion-edge-radius\"])});var ch={paint:new Ps({\"fill-extrusion-opacity\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Es(te[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Es(te[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Es(te[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Es(te[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"]),\"fill-extrusion-ambient-occlusion-intensity\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-ambient-occlusion-intensity\"]),\"fill-extrusion-ambient-occlusion-radius\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-ambient-occlusion-radius\"]),\"fill-extrusion-rounded-roof\":new Bs(te[\"paint_fill-extrusion\"][\"fill-extrusion-rounded-roof\"])}),layout:uh};function hh(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class ph{constructor(t,e,r){this.z=t,this.x=e,this.y=r,this.key=yh(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e){const r=function(t,e,r){var n=hh(256*t,256*(e=Math.pow(2,r)-e-1),r),i=hh(256*(t+1),256*(e+1),r);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}(this.x,this.y,this.z),n=function(t,e,r){let n,i=\"\";for(let s=t;s>0;s--)n=1<this.canonical.z?new fh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new fh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e=!0){if(this.overscaledZ===t&&e)return this.key;if(t>this.canonical.z)return yh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y);{const r=this.canonical.z-t;return yh(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new fh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new fh(e,this.wrap,e,r,n),new fh(e,this.wrap,e,r+1,n),new fh(e,this.wrap,e,r,n+1),new fh(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.yt.id)),this.index=t.index,this.projection=t.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new qs,this.layoutVertexArray2=new Ns,this.indexArray=new ra,this.programConfigurations=new Ja(t.layers,t.zoom),this.segments=new so,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r,n){this.hasPattern=kc(\"line\",this.layers,e);const i=this.layers[0].layout.get(\"line-sort-key\"),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ou(e,t);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),u,r))continue;const c=i?i.evaluate(u,{},r):void 0,h={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:au(e,r,n),patterns:{},sortKey:c};s.push(h);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));const{lineAtlas:a,featureIndex:o}=e,l=this.addConstantDashes(a);for(const n of s){const{geometry:i,index:s,sourceLayerIndex:u}=n;if(l&&this.addFeatureDashes(n,a),this.hasPattern){const t=Ic(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,a.positions,e.availableImages);o.insert(t[s].feature,i,s,u,this.index);}}addConstantDashes(t){let e=!1;for(const r of this.layers){const n=r.paint.get(\"line-dasharray\").value,i=r.layout.get(\"line-cap\").value;if(\"constant\"!==n.kind||\"constant\"!==i.kind)e=!0;else {const e=i.value,r=n.value;if(!r)continue;t.addDash(r,e);}}return e}addFeatureDashes(t,e){const r=this.zoom;for(const n of this.layers){const i=n.paint.get(\"line-dasharray\").value,s=n.layout.get(\"line-cap\").value;if(\"constant\"===i.kind&&\"constant\"===s.kind)continue;let a,o;if(\"constant\"===i.kind){if(a=i.value,!a)continue}else a=i.evaluate({zoom:r},t);o=\"constant\"===s.kind?s.value:s.evaluate({zoom:r},t),e.addDash(a,o),t.patterns[n.id]=e.getKey(a,o);}}update(t,e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r,n);}addFeatures(t,e,r,n,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r,n);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ah)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,wh),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&t.properties.hasOwnProperty(\"mapbox_clip_start\")&&t.properties.hasOwnProperty(\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i,s){const a=this.layers[0].layout,o=a.get(\"line-join\").evaluate(t,{}),l=a.get(\"line-cap\").evaluate(t,{}),u=a.get(\"line-miter-limit\"),c=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,o,l,u,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,s,n);}addLine(t,e,r,n,i,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,f,0,0,c),p=e;}}const A=p&&d;let S=A?r:a?\"butt\":n;if(A&&\"round\"===S&&(vi&&(S=\"bevel\"),\"bevel\"===S&&(v>2&&(S=\"flipbevel\"),v100)m=y.mult(-1);else {const t=v*f.add(y).mag()/f.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if(\"bevel\"===S||\"fakeround\"===S){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,f,e,r,c),\"fakeround\"===S){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(d.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,s=!1){const a=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,s,!1,r,i),this.addHalfVertex(t,a,o,s,!0,-n,i);}addHalfVertex({x:t,y:e},r,n,i,s,a,o){this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(s?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===a?0:a<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const l=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,l),o.primitiveLength++),s?this.e2=l:this.e1=l;}updateScaledDistance(){if(this.lineClips){const t=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=t*this.lineClips.start+this.distance;}else this.lineSoFar=this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}Ji(Ih,\"LineBucket\",{omit:[\"layers\",\"patternFeatures\"]});const Mh=new Ps({\"line-cap\":new Es(te.layout_line[\"line-cap\"]),\"line-join\":new Es(te.layout_line[\"line-join\"]),\"line-miter-limit\":new Bs(te.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Bs(te.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Es(te.layout_line[\"line-sort-key\"])});var Th={paint:new Ps({\"line-opacity\":new Es(te.paint_line[\"line-opacity\"]),\"line-color\":new Es(te.paint_line[\"line-color\"]),\"line-translate\":new Bs(te.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Bs(te.paint_line[\"line-translate-anchor\"]),\"line-width\":new Es(te.paint_line[\"line-width\"]),\"line-gap-width\":new Es(te.paint_line[\"line-gap-width\"]),\"line-offset\":new Es(te.paint_line[\"line-offset\"]),\"line-blur\":new Es(te.paint_line[\"line-blur\"]),\"line-dasharray\":new Es(te.paint_line[\"line-dasharray\"]),\"line-pattern\":new Es(te.paint_line[\"line-pattern\"]),\"line-gradient\":new Cs(te.paint_line[\"line-gradient\"]),\"line-trim-offset\":new Bs(te.paint_line[\"line-trim-offset\"])}),layout:Mh};const zh=new class extends Es{possiblyEvaluate(t,e){return e=new ws(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=C({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}(Th.paint.properties[\"line-width\"].specification);function Bh(t,e){return e>0?e+2*t:t}zh.useIntegerZoom=!0;const Eh=Rs([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_tex_size\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Ch=Rs([{name:\"a_globe_anchor\",components:3,type:\"Int16\"},{name:\"a_globe_normal\",components:3,type:\"Float32\"}],4),Ph=Rs([{name:\"a_projected_pos\",components:4,type:\"Float32\"}],4);Rs([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const Dh=Rs([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Vh=Rs([{name:\"a_size_scale\",components:1,type:\"Float32\"},{name:\"a_padding\",components:2,type:\"Float32\"}]);Rs([{type:\"Int16\",name:\"projectedAnchorX\"},{type:\"Int16\",name:\"projectedAnchorY\"},{type:\"Int16\",name:\"projectedAnchorZ\"},{type:\"Int16\",name:\"tileAnchorX\"},{type:\"Int16\",name:\"tileAnchorY\"},{type:\"Float32\",name:\"x1\"},{type:\"Float32\",name:\"y1\"},{type:\"Float32\",name:\"x2\"},{type:\"Float32\",name:\"y2\"},{type:\"Int16\",name:\"padding\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const Lh=Rs([{name:\"a_pos\",components:3,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Fh=Rs([{name:\"a_pos_2f\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);Rs([{name:\"triangle\",components:3,type:\"Uint16\"}]),Rs([{type:\"Int16\",name:\"projectedAnchorX\"},{type:\"Int16\",name:\"projectedAnchorY\"},{type:\"Int16\",name:\"projectedAnchorZ\"},{type:\"Float32\",name:\"tileAnchorX\"},{type:\"Float32\",name:\"tileAnchorY\"},{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:\"Uint8\",name:\"flipState\"}]),Rs([{type:\"Int16\",name:\"projectedAnchorX\"},{type:\"Int16\",name:\"projectedAnchorY\"},{type:\"Int16\",name:\"projectedAnchorZ\"},{type:\"Float32\",name:\"tileAnchorX\"},{type:\"Float32\",name:\"tileAnchorY\"},{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\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Rs([{type:\"Float32\",name:\"offsetX\"}]),Rs([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"}]);var Rh=24;const Uh=128;function $h(t,e){const{expression:r}=e;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new ws(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;i{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),bs.applyArabicShaping&&(t=bs.applyArabicShaping(t)),t}(t.text,e,r);})),t}const Gh={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\",\"←\":\"↑\",\"→\":\"↓\"};function Zh(t){return \"︶\"===t||\"﹈\"===t||\"︸\"===t||\"﹄\"===t||\"﹂\"===t||\"︾\"===t||\"︼\"===t||\"︺\"===t||\"︘\"===t||\"﹀\"===t||\"︐\"===t||\"︓\"===t||\"︔\"===t||\"`\"===t||\" ̄\"===t||\"︑\"===t||\"︒\"===t}function Kh(t){return \"︵\"===t||\"﹇\"===t||\"︷\"===t||\"﹃\"===t||\"﹁\"===t||\"︽\"===t||\"︻\"===t||\"︹\"===t||\"︗\"===t||\"︿\"===t}var Xh=Yh,Jh=function(t,e,r,n,i){var s,a,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,d=t[e+h];for(h+=p,s=d&(1<<-c)-1,d>>=-c,c+=o;c>0;s=256*s+t[e+h],h+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===s)s=1-u;else {if(s===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),s-=u;}return (d?-1:1)*a*Math.pow(2,s-n)},Hh=function(t,e,r,n,i,s){var a,o,l,u=8*s-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:s-1,f=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+d]=255&o,d+=f,o/=256,i-=8);for(a=a<0;t[r+d]=255&a,d+=f,a/=256,u-=8);t[r+d-f]|=128*y;};\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */function Yh(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}Yh.Varint=0,Yh.Fixed64=1,Yh.Bytes=2,Yh.Fixed32=5;var Wh=4294967296,Qh=1/Wh,tp=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function ep(t){return t.type===Yh.Bytes?t.readVarint()+t.pos:t.pos+1}function rp(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function np(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function ip(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function yp(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Yh.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,s=this.pos;this.type=7&n,t(i,e,this),this.pos===s&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=dp(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=yp(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=dp(this.buf,this.pos)+dp(this.buf,this.pos+4)*Wh;return this.pos+=8,t},readSFixed64:function(){var t=dp(this.buf,this.pos)+yp(this.buf,this.pos+4)*Wh;return this.pos+=8,t},readFloat:function(){var t=Jh(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Jh(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,s=r.buf;if(n=(112&(i=s[r.pos++]))>>4,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<3,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<10,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<17,i<128)return rp(t,n,e);if(n|=(127&(i=s[r.pos++]))<<24,i<128)return rp(t,n,e);if(n|=(1&(i=s[r.pos++]))<<31,i<128)return rp(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&tp?function(t,e,r){return tp.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(s=t[i+1]))&&(u=(31&l)<<6|63&s)<=127&&(u=null):3===c?(a=t[i+2],128==(192&(s=t[i+1]))&&128==(192&a)&&((u=(15&l)<<12|(63&s)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+2],o=t[i+3],128==(192&(s=t[i+1]))&&128==(192&a)&&128==(192&o)&&((u=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Yh.Bytes)return t.push(this.readVarint(e));var r=ep(this);for(t=t||[];this.pos127;);else if(e===Yh.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Yh.Fixed32)this.pos+=4;else {if(e!==Yh.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,s=0;s55295&&n<57344){if(!i){n>56319||s+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&np(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Hh(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Hh(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&np(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,Yh.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,ip,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,sp,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,lp,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ap,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,op,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,up,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,cp,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hp,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pp,e);},writeBytesField:function(t,e){this.writeTag(t,Yh.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,Yh.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,Yh.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,Yh.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,Yh.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,Yh.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,Yh.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,Yh.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,Yh.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,Yh.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var mp=p(Xh);const gp=3;function xp(t,e,r){e.glyphs=[],1===t&&r.readMessage(vp,e);}function vp(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:s,left:a,top:o,advance:l}=r.readMessage(bp,{});e.glyphs.push({id:t,bitmap:new Ru({width:i+2*gp,height:s+2*gp},n),metrics:{width:i,height:s,left:a,top:o,advance:l}});}else 4===t?e.ascender=r.readSVarint():5===t&&(e.descender=r.readSVarint());}function bp(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}const wp=gp;function _p(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,s=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,s=Math.max(s,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();tt.hasImage(e))),t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const r in t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);}patchUpdatedImage(t,e,r){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[n,i]=t.tl;r.update(e.data,void 0,{x:n,y:i});}}Ji(Sp,\"ImagePosition\"),Ji(kp,\"ImageAtlas\");const Ip={horizontal:1,vertical:2,horizontalOnly:3},Mp=-17;class Tp{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null;}static forText(t,e){const r=new Tp;return r.scale=t||1,r.fontStack=e,r}static forImage(t){const e=new Tp;return e.imageName=t,e}}class zp{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;}static fromFeature(t,e){const r=new zp;for(let n=0;n=0&&r>=t&&Ep[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new zp;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Tp.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Bp(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f){const y=zp.fromFeature(t,i);h===Ip.vertical&&y.verticalizePunctuation(p);let m=[];const g=function(t,e,r,n,i,s){if(!t)return [];const a=[],o=function(t,e,r,n,i,s){let a=0;for(let r=0;r=0;let u=0;for(let r=0;r0&&s>w&&(w=s);}else {const t=r[o.fontStack];if(!t)continue;t[y]&&(S=t[y]);const n=e[o.fontStack];if(!n)continue;const s=n.glyphs[y];if(!s)continue;if(v=s.metrics,I=8203!==y?Rh:0,m){const t=void 0!==n.ascender?Math.abs(n.ascender):0,e=void 0!==n.descender?Math.abs(n.descender):0,r=(t+e)*g;_-r/2;){if(a--,a<0)return !1;o-=t[a].dist(s),s=t[a];}o+=t[a].dist(t[a+1]),a++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;a++,o+=e.dist(r);}return !0}function Np(t){let e=0;for(let r=0;ru){const c=(u-l)/s,h=Er(n.x,i.x,c),p=Er(n.y,i.y,c),d=new Op(h,p,0,i.angleTo(n),r);return !a||qp(t,d,o,a,e)?d:void 0}l+=s;}}function Xp(t,e,r,n,i,s,a,o,l){const u=Gp(n,s,a),c=Zp(n,i),h=c*a,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new Op(g,x,0,y,e);r._round(),n&&!qp(t,r,s,n,i)||d.push(r);}}h+=f;}return o||d.length||a||(d=Jp(t,h/2,r,n,i,s,a,!0,l)),d}function Hp(t,e,r,n,i){const s=[];for(let a=0;a=n&&u.x>=n||(a.x>=n?a=new x(n,a.y+(n-a.x)/(u.x-a.x)*(u.y-a.y))._round():u.x>=n&&(u=new x(n,a.y+(n-a.x)/(u.x-a.x)*(u.y-a.y))._round()),a.y>=i&&u.y>=i||(a.y>=i?a=new x(a.x+(i-a.y)/(u.y-a.y)*(u.x-a.x),i)._round():u.y>=i&&(u=new x(a.x+(i-a.y)/(u.y-a.y)*(u.x-a.x),i)._round()),l&&a.equals(l[l.length-1])||(l=[a],s.push(l)),l.push(u)))));}}return s}Ji(Op,\"Anchor\");const Yp=1e20;function Wp(t,e,r,n,i,s,a,o,l){for(let u=e;u-1);l++,s[l]=o,a[l]=u,a[l+1]=Yp;}for(let o=0,l=0;o{let n=this.entries[t];n||(n=this.entries[t]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let i=n.glyphs[e];if(void 0!==i)return void r(null,{stack:t,id:e,glyph:i});if(i=this._tinySDF(n,t,e),i)return n.glyphs[e]=i,void r(null,{stack:t,id:e,glyph:i});const s=Math.floor(e/256);if(256*s>65535)return void r(new Error(\"glyphs > 65535 not supported\"));if(n.ranges[s])return void r(null,{stack:t,id:e,glyph:i});let a=n.requests[s];a||(a=n.requests[s]=[],rd.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){n.ascender=e.ascender,n.descender=e.descender;for(const t in e.glyphs)this._doesCharSupportLocalGlyph(+t)||(n.glyphs[+t]=e.glyphs[+t]);n.ranges[s]=!0;}for(const r of a)r(t,e);delete n.requests[s];}))),a.push(((n,i)=>{n?r(n):i&&r(null,{stack:t,id:e,glyph:i.glyphs[e]||null});}));}),((t,r)=>{if(t)e(t);else if(r){const t={};for(const{stack:e,id:n,glyph:i}of r)void 0===t[e]&&(t[e]={}),void 0===t[e].glyphs&&(t[e].glyphs={}),t[e].glyphs[n]=i&&{id:i.id,bitmap:i.bitmap.clone(),metrics:i.metrics},t[e].ascender=this.entries[e].ascender,t[e].descender=this.entries[e].descender;e(null,t);}}));}_doesCharSupportLocalGlyph(t){return this.localGlyphMode!==ed.none&&(this.localGlyphMode===ed.all?!!this.localFontFamily:!!this.localFontFamily&&(ts[\"CJK Unified Ideographs\"](t)||ts[\"Hangul Syllables\"](t)||ts.Hiragana(t)||ts.Katakana(t)||ts[\"CJK Symbols and Punctuation\"](t)))}_tinySDF(t,e,r){const n=this.localFontFamily;if(!n||!this._doesCharSupportLocalGlyph(r))return;let i=t.tinySDF;if(!i){let r=\"400\";/bold/i.test(e)?r=\"900\":/medium/i.test(e)?r=\"500\":/light/i.test(e)&&(r=\"200\"),i=t.tinySDF=new rd.TinySDF({fontFamily:n,fontWeight:r,fontSize:24*td,buffer:3*td,radius:8*td}),i.fontWeight=r;}if(this.localGlyphs[i.fontWeight][r])return this.localGlyphs[i.fontWeight][r];const s=String.fromCharCode(r),{data:a,width:o,height:l,glyphWidth:u,glyphHeight:c,glyphLeft:h,glyphTop:p,glyphAdvance:d}=i.draw(s);return this.localGlyphs[i.fontWeight][r]={id:r,bitmap:new Ru({width:o,height:l},a),metrics:{width:u/td,height:c/td,left:h/td,top:p/td-27,advance:d/td,localGlyph:!0}}}}rd.loadGlyphRange=function(t,e,r,n,i){const s=256*e,a=s+255,o=n.transformRequest(n.normalizeGlyphsURL(r).replace(\"{fontstack}\",t).replace(\"{range}\",`${s}-${a}`),lt.Glyphs);pt(o,((t,e)=>{if(t)i(t);else if(e){const t={},r=function(t){return new mp(t).readFields(xp,{})}(e);for(const e of r.glyphs)t[e.id]=e;i(null,{glyphs:t,ascender:r.ascender,descender:r.descender});}}));},rd.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:r=8,cutoff:n=.25,fontFamily:i=\"sans-serif\",fontWeight:s=\"normal\",fontStyle:a=\"normal\"}={}){this.buffer=e,this.cutoff=n,this.radius=r;const o=this.size=t+4*e,l=this._createCanvas(o),u=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});u.font=`${a} ${s} ${t}px ${i}`,u.textBaseline=\"alphabetic\",u.textAlign=\"left\",u.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Uint16Array(o);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:s}=this.ctx.measureText(t),a=Math.ceil(r),o=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(s-i))),l=Math.min(this.size-this.buffer,a+Math.ceil(n)),u=o+2*this.buffer,c=l+2*this.buffer,h=Math.max(u*c,0),p=new Uint8ClampedArray(h),d={data:p,width:u,height:c,glyphWidth:o,glyphHeight:l,glyphTop:a,glyphLeft:0,glyphAdvance:e};if(0===o||0===l)return d;const{ctx:f,buffer:y,gridInner:m,gridOuter:g}=this;f.clearRect(y,y,o,l),f.fillText(t,y,y+a);const x=f.getImageData(y,y,o,l);g.fill(Yp,0,h),m.fill(0,0,h);for(let t=0;t0?t*t:0,m[n]=t<0?t*t:0;}}Wp(g,0,0,u,c,u,this.f,this.v,this.z),Wp(m,y,y,o,l,u,this.f,this.v,this.z);for(let t=0;tt+e[1]-e[0],f=h.reduce(d,0),y=p.reduce(d,0),m=o-f,g=l-y;let v=0,b=f,w=0,_=y,A=0,S=m,k=0,I=g;if(s.content&&n){const t=s.content;v=sd(h,0,t[0]),w=sd(p,0,t[1]),b=sd(h,t[0],t[2]),_=sd(p,t[1],t[3]),A=t[0]-v,k=t[1]-w,S=t[2]-t[0]-b,I=t[3]-t[1]-_;}const M=(n,i,o,l)=>{const h=od(n.stretch-v,b,u,t.left),p=ld(n.fixed-A,S,n.stretch,f),d=od(i.stretch-w,_,c,t.top),m=ld(i.fixed-k,I,i.stretch,y),g=od(o.stretch-v,b,u,t.left),M=ld(o.fixed-A,S,o.stretch,f),T=od(l.stretch-w,_,c,t.top),z=ld(l.fixed-k,I,l.stretch,y),B=new x(h,d),E=new x(g,d),C=new x(g,T),P=new x(h,T),D=new x(p/a,m/a),V=new x(M/a,z/a),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];B._matMult(r),E._matMult(r),P._matMult(r),C._matMult(r);}const F=n.stretch+n.fixed,R=i.stretch+i.fixed;return {tl:B,tr:E,bl:P,br:C,tex:{x:s.paddedRect.x+nd+F,y:s.paddedRect.y+nd+R,w:o.stretch+o.fixed-F,h:l.stretch+l.fixed-R},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:V,minFontScaleX:S/a/u,minFontScaleY:I/a/c,isSDF:r}};if(n&&(s.stretchX||s.stretchY)){const t=ad(h,m,f),e=ad(p,g,y);for(let r=0;r0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=s,t=n;}e[t]=i;}}function hd(t,e){return te?1:0}function pd(t,e=1,r=!1){let n=1/0,i=1/0,s=-1/0,a=-1/0;const o=t[0];for(let t=0;ts)&&(s=e.x),(!t||e.y>a)&&(a=e.y);}const l=Math.min(s-n,a-i);let u=l/2;const c=new cd([],dd);if(0===l)return new x(n,i);for(let e=n;eh.d||!h.d)&&(h=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,p)),n.max-h.d<=e||(u=n.h/2,c.push(new fd(n.p.x-u,n.p.y-u,u,t)),c.push(new fd(n.p.x+u,n.p.y-u,u,t)),c.push(new fd(n.p.x-u,n.p.y+u,u,t)),c.push(new fd(n.p.x+u,n.p.y+u,u,t)),p+=4);}return r&&(console.log(`num probes: ${p}`),console.log(`best distance: ${h.d}`)),h.p}function dd(t,e){return e.max-t.max}class fd{constructor(t,e,r,n){this.p=new x(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,xu(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}}const yd=7,md=Number.POSITIVE_INFINITY,gd=Math.sqrt(2);function xd(t,[e,r]){let n=0,i=0;if(r===md){e<0&&(e=0);const r=e/gd;switch(t){case\"top-right\":case\"top-left\":i=r-yd;break;case\"bottom-right\":case\"bottom-left\":i=-r+yd;break;case\"bottom\":i=-e+yd;break;case\"top\":i=e-yd;}switch(t){case\"top-right\":case\"bottom-right\":n=-r;break;case\"top-left\":case\"bottom-left\":n=r;break;case\"left\":n=e;break;case\"right\":n=-e;}}else {switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-yd;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+yd;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}}return [n,i]}function vd(t,e,r,n,i,s,a,o,l,u){t.createArrays(),t.tilePixelRatio=ao/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;const c=t.layers[0].layout,h=t.layers[0]._unevaluatedLayout._values,p={};if(\"composite\"===t.textSizeData.kind){const{minZoom:e,maxZoom:r}=t.textSizeData;p.compositeTextSizes=[h[\"text-size\"].possiblyEvaluate(new ws(e),o),h[\"text-size\"].possiblyEvaluate(new ws(r),o)];}if(\"composite\"===t.iconSizeData.kind){const{minZoom:e,maxZoom:r}=t.iconSizeData;p.compositeIconSizes=[h[\"icon-size\"].possiblyEvaluate(new ws(e),o),h[\"icon-size\"].possiblyEvaluate(new ws(r),o)];}p.layoutTextSize=h[\"text-size\"].possiblyEvaluate(new ws(l+1),o),p.layoutIconSize=h[\"icon-size\"].possiblyEvaluate(new ws(l+1),o),p.textMaxSize=h[\"text-size\"].possiblyEvaluate(new ws(18),o);const d=\"map\"===c.get(\"text-rotation-alignment\")&&\"point\"!==c.get(\"symbol-placement\"),f=c.get(\"text-size\");for(const s of t.features){const l=c.get(\"text-font\").evaluate(s,{},o).join(\",\"),h=f.evaluate(s,{},o),y=p.layoutTextSize.evaluate(s,{},o),m=(p.layoutIconSize.evaluate(s,{},o),{horizontal:{},vertical:void 0}),g=s.text;let x,v=[0,0];if(g){const n=g.toString(),a=c.get(\"text-letter-spacing\").evaluate(s,{},o)*Rh,u=c.get(\"text-line-height\").evaluate(s,{},o)*Rh,p=rs(n)?a:0,f=c.get(\"text-anchor\").evaluate(s,{},o),x=c.get(\"text-variable-anchor\");if(!x){const t=c.get(\"text-radial-offset\").evaluate(s,{},o);v=t?xd(f,[t*Rh,md]):c.get(\"text-offset\").evaluate(s,{},o).map((t=>t*Rh));}let b=d?\"center\":c.get(\"text-justify\").evaluate(s,{},o);const w=\"point\"===c.get(\"symbol-placement\"),_=w?c.get(\"text-max-width\").evaluate(s,{},o)*Rh:1/0,A=s=>{t.allowVerticalPlacement&&es(n)&&(m.vertical=Bp(g,e,r,i,l,_,u,f,s,p,v,Ip.vertical,!0,y,h));};if(!d&&x){const t=\"auto\"===b?x.map((t=>bd(t))):[b];let n=!1;for(let s=0;s=0||!es(n)){const t=Bp(g,e,r,i,l,_,u,f,b,p,v,Ip.horizontal,!1,y,h);t&&(m.horizontal[b]=t);}A(w?\"left\":b);}}let b=!1;if(s.icon&&s.icon.name){const e=n[s.icon.name];e&&(x=$p(i[s.icon.name],c.get(\"icon-offset\").evaluate(s,{},o),c.get(\"icon-anchor\").evaluate(s,{},o)),b=e.sdf,void 0===t.sdfIcons?t.sdfIcons=e.sdf:t.sdfIcons!==e.sdf&&N(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(e.pixelRatio!==t.pixelRatio||0!==c.get(\"icon-rotate\").constantOr(1))&&(t.iconsNeedLinear=!0));}const w=kd(m.horizontal)||m.vertical;t.iconsInText||(t.iconsInText=!!w&&w.iconsInText),(w||x)&&wd(t,s,m,x,n,p,y,0,v,b,a,o,u);}s&&t.generateCollisionDebugBuffers(l,t.collisionBoxArray);}function bd(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function wd(t,e,r,n,i,s,a,o,l,u,c,h,p){let d=s.textMaxSize.evaluate(e,{},h);void 0===d&&(d=a);const f=t.layers[0].layout,y=f.get(\"icon-offset\").evaluate(e,{},h),m=kd(r.horizontal)||r.vertical,g=\"globe\"===p.name,x=Rh,v=a/x,b=t.tilePixelRatio*d/x,_=(B=t.overscaling,t.zoom>18&&B>2&&(B>>=1),Math.max(ao/(512*B),1)*f.get(\"symbol-spacing\")),A=f.get(\"text-padding\")*t.tilePixelRatio,S=f.get(\"icon-padding\")*t.tilePixelRatio,k=w(f.get(\"text-max-angle\")),I=\"map\"===f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),T=f.get(\"symbol-placement\"),z=_/2;var B;const E=f.get(\"icon-text-fit\");let C;n&&\"none\"!==E&&(t.allowVerticalPlacement&&r.vertical&&(C=jp(n,r.vertical,E,f.get(\"icon-text-fit-padding\"),y,v)),m&&(n=jp(n,m,E,f.get(\"icon-text-fit-padding\"),y,v)));const P=(a,o,d)=>{if(o.x<0||o.x>=ao||o.y<0||o.y>=ao)return;let f=null;if(g){const{x:t,y:e,z:r}=p.projectTilePoint(o.x,o.y,d);f={anchor:new Op(t,e,r,0,void 0),up:p.upVector(d,o.x,o.y)};}!function(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m,g,x,v,b,w,_,A,S){const k=t.addToLineVertexArray(e,n);let I,M,T,z,B,E,C,P=0,D=0,V=0,L=0,F=-1,R=-1;const U={};let $=Ba(\"\");const j=r?r.anchor:e;let O=0,q=0;if(void 0===l._unevaluatedLayout.getValue(\"text-radial-offset\")?[O,q]=l.layout.get(\"text-offset\").evaluate(b,{},S).map((t=>t*Rh)):(O=l.layout.get(\"text-radial-offset\").evaluate(b,{},S)*Rh,q=md),t.allowVerticalPlacement&&i.vertical){const t=i.vertical;if(f)E=Md(t),o&&(C=Md(o));else {const r=l.layout.get(\"text-rotate\").evaluate(b,{},S)+90;T=Id(u,j,e,c,h,p,t,d,r,y),o&&(z=Id(u,j,e,c,h,p,o,g,r));}}if(s){const n=l.layout.get(\"icon-rotate\").evaluate(b,{},S),i=\"none\"!==l.layout.get(\"icon-text-fit\"),a=id(s,n,_,i),d=o?id(o,n,_,i):void 0;M=Id(u,j,e,c,h,p,s,g,n),P=4*a.length;const f=t.iconSizeData;let y=null;\"source\"===f.kind?(y=[Uh*l.layout.get(\"icon-size\").evaluate(b,{},S)],y[0]>Ad&&N(`${t.layerIds[0]}: Value for \"icon-size\" is >= ${_d}. Reduce your \"icon-size\".`)):\"composite\"===f.kind&&(y=[Uh*w.compositeIconSizes[0].evaluate(b,{},S),Uh*w.compositeIconSizes[1].evaluate(b,{},S)],(y[0]>Ad||y[1]>Ad)&&N(`${t.layerIds[0]}: Value for \"icon-size\" is >= ${_d}. Reduce your \"icon-size\".`)),t.addSymbols(t.icon,a,y,v,x,b,!1,r,e,k.lineStartIndex,k.lineLength,-1,A,S),F=t.icon.placedSymbolArray.length-1,d&&(D=4*d.length,t.addSymbols(t.icon,d,y,v,x,b,Ip.vertical,r,e,k.lineStartIndex,k.lineLength,-1,A,S),R=t.icon.placedSymbolArray.length-1);}for(const n in i.horizontal){const s=i.horizontal[n];I||($=Ba(s.text),f?B=Md(s):I=Id(u,j,e,c,h,p,s,d,l.layout.get(\"text-rotate\").evaluate(b,{},S),y));const o=1===s.positionedLines.length;if(V+=Sd(t,r,e,s,a,l,f,b,y,k,i.vertical?Ip.horizontal:Ip.horizontalOnly,o?Object.keys(i.horizontal):[n],U,F,w,A,S),o)break}i.vertical&&(L+=Sd(t,r,e,i.vertical,a,l,f,b,y,k,Ip.vertical,[\"vertical\"],U,R,w,A,S));let G=-1;const Z=(t,e)=>t?Math.max(t,e):e;G=Z(B,G),G=Z(E,G),G=Z(C,G);const K=G>-1?1:0;t.glyphOffsetArray.length>=of.MAX_GLYPHS&&N(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(j.x,j.y,j.z,e.x,e.y,U.right>=0?U.right:-1,U.center>=0?U.center:-1,U.left>=0?U.left:-1,U.vertical>=0?U.vertical:-1,F,R,$,void 0!==I?I:t.collisionBoxArray.length,void 0!==I?I+1:t.collisionBoxArray.length,void 0!==T?T:t.collisionBoxArray.length,void 0!==T?T+1:t.collisionBoxArray.length,void 0!==M?M:t.collisionBoxArray.length,void 0!==M?M+1:t.collisionBoxArray.length,z||t.collisionBoxArray.length,z?z+1:t.collisionBoxArray.length,c,V,L,P,D,K,0,O,q,G);}(t,o,f,a,r,n,i,C,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,A,I,l,0,S,M,y,e,s,u,c,h);};if(\"line\"===T)for(const i of Hp(e.geometry,0,0,ao,ao)){const e=Xp(i,_,k,r.vertical||m,n,x,b,t.overscaling,ao);for(const r of e)m&&Td(t,m.text,z,r)||P(i,r,h);}else if(\"line-center\"===T){for(const t of e.geometry)if(t.length>1){const e=Kp(t,k,r.vertical||m,n,x,b);e&&P(t,e,h);}}else if(\"Polygon\"===e.type)for(const t of Ac(e.geometry,0)){const e=pd(t,16);P(t[0],new Op(e.x,e.y,0,0,void 0),h);}else if(\"LineString\"===e.type)for(const t of e.geometry)P(t,new Op(t[0].x,t[0].y,0,0,void 0),h);else if(\"Point\"===e.type)for(const t of e.geometry)for(const e of t)P([e],new Op(e.x,e.y,0,0,void 0),h);}const _d=255,Ad=_d*Uh;function Sd(t,e,r,n,i,s,a,o,l,u,c,h,p,d,f,y,m){const g=function(t,e,r,n,i,s,a,o){const l=[];if(0===e.positionedLines.length)return l;const u=n.layout.get(\"text-rotate\").evaluate(s,{})*Math.PI/180,c=function(t){const e=t[0],r=t[1],n=e*r;return n>0?[e,-r]:n<0?[-e,r]:0===e?[r,e]:[r,-e]}(r);let h=Math.abs(e.top-e.bottom);for(const t of e.positionedLines)h-=t.lineOffset;const p=e.positionedLines.length,d=h/p;let f=e.top-r[1];for(let t=0;tAd&&N(`${t.layerIds[0]}: Value for \"text-size\" is >= ${_d}. Reduce your \"text-size\".`)):\"composite\"===v.kind&&(b=[Uh*f.compositeTextSizes[0].evaluate(o,{},m),Uh*f.compositeTextSizes[1].evaluate(o,{},m)],(b[0]>Ad||b[1]>Ad)&&N(`${t.layerIds[0]}: Value for \"text-size\" is >= ${_d}. Reduce your \"text-size\".`)),t.addSymbols(t.text,g,b,l,a,o,c,e,r,u.lineStartIndex,u.lineLength,d,y,m);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function kd(t){for(const e in t)return t[e];return null}function Id(t,e,r,n,i,s,a,o,l,u){let c=a.top,h=a.bottom,p=a.left,d=a.right;const f=a.collisionPadding;if(f&&(p-=f[0],c-=f[1],d+=f[2],h+=f[3]),l){const t=new x(p,c),e=new x(d,c),r=new x(p,h),n=new x(d,h),i=w(l);let s=new x(0,0);u&&(s=new x(u[0],u[1])),t._rotateAround(i,s),e._rotateAround(i,s),r._rotateAround(i,s),n._rotateAround(i,s),p=Math.min(t.x,e.x,r.x,n.x),d=Math.max(t.x,e.x,r.x,n.x),c=Math.min(t.y,e.y,r.y,n.y),h=Math.max(t.y,e.y,r.y,n.y);}return t.emplaceBack(e.x,e.y,e.z,r.x,r.y,p,c,d,h,o,n,i,s),t.length-1}function Md(t){t.collisionPadding&&(t.top-=t.collisionPadding[1],t.bottom+=t.collisionPadding[3]);const e=t.bottom-t.top;return e>0?Math.max(10,e):null}function Td(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])v&&(b(t,u,n,i,o,l),b(u,r,o,l,s,a));}b(h,p,n,s,i,s),b(p,d,i,s,i,a),b(d,f,i,a,n,a),b(f,h,n,a,n,s),y-=v,m-=v,g+=v,x+=v;const w=1/Math.max(g-y,x-m);return {scale:w,x:y*w,y:m*w,x2:g*w,y2:x*w,projection:e}}const Ed=po(new Float32Array(16));class Cd{constructor(t){this.spec=t,this.name=t.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit=\"meters\",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=[\"custom\"],this.center=[0,0],this.range=[3.5,7];}project(t,e){return {x:0,y:0,z:0}}unproject(t,e){return new Ol(0,0)}projectTilePoint(t,e,r){return {x:t,y:e,z:0}}locationPoint(t,e,r=!0){return t._coordinatePoint(t.locationCoordinate(e),r)}pixelsPerMeter(t,e){return Zl(1,t)*e}pixelSpaceConversion(t,e,r){return 1}farthestPixelDistance(t){return zd(t,t.pixelsPerMeter)}pointCoordinate(t,e,r,n){const i=t.horizonLineFromTop(!1),s=new x(e,Math.max(i,r));return t.rayIntersectionCoordinate(t.pointRayIntersection(s,n))}pointCoordinate3D(t,e,r){const n=new x(e,r);if(t.elevation)return t.elevation.pointCoordinate(n);{const e=this.pointCoordinate(t,n.x,n.y,0);return [e.x,e.y,e.z]}}isPointAboveHorizon(t,e){if(t.elevation)return !this.pointCoordinate3D(t,e.x,e.y);const r=t.horizonLineFromTop();return e.y0?e<-jd+r&&(e=-jd+r):e>jd-r&&(e=jd-r);const s=i/Math.pow(Od(e),n);let a=s*Math.sin(n*t),o=i-s*Math.cos(n*t);return a=.5*(a/Math.PI+.5),o=.5*(o/Math.PI+.5),{x:a,y:this.southernCenter?o:1-o,z:0}}unproject(t,e){t=(2*t-.5)*Math.PI,this.southernCenter&&(e=1-e),e=(2*(1-e)-.5)*Math.PI;const{n:r,f:n}=this,i=n-e,s=Math.sign(i),a=Math.sign(r)*Math.sqrt(t*t+i*i);let o=Math.atan2(t,Math.abs(i))*s;i*r<0&&(o-=Math.PI*Math.sign(t)*s);const l=M(_(o/r)+this.center[0],-180,180),u=M(_(2*Math.atan(Math.pow(n/a,1/r))-jd),-Hl,Hl);return new Ol(l,this.southernCenter?-u:u)}}class Nd extends Cd{constructor(t){super(t),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null;}project(t,e){return {x:Nl(t),y:Gl(e),z:0}}unproject(t,e){const r=Kl(t),n=Xl(e);return new Ol(r,n)}}const Gd=w(Hl);class Zd extends Cd{project(t,e){const r=(e=w(e))*e,n=r*r;return {x:.5*((t=w(t))*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791))/Math.PI+.5),y:1-.5*(e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))/Math.PI+1),z:0}}unproject(t,e){t=(2*t-.5)*Math.PI;let r=e=(2*(1-e)-1)*Math.PI,n=25,i=0,s=r*r;do{s=r*r;const t=s*s;i=(r*(1.007226+s*(.015085+t*(.028874*s-.044475-.005916*t)))-e)/(1.007226+s*(.045255+t*(.259866*s-.311325-.005916*11*t))),r=M(r-i,-Gd,Gd);}while(Math.abs(i)>1e-6&&--n>0);s=r*r;const a=M(_(t/(.8707+s*(s*(s*s*s*(.003971-.001529*s)-.013791)-.131979))),-180,180),o=_(r);return new Ol(a,o)}}const Kd=w(Hl);class Xd extends Cd{project(t,e){e=w(e),t=w(t);const r=Math.cos(e),n=2/Math.PI,i=Math.acos(r*Math.cos(t/2)),s=Math.sin(i)/i,a=.5*(t*n+2*r*Math.sin(t/2)/s)||0,o=.5*(e+Math.sin(e)/s)||0;return {x:.5*(a/Math.PI+.5),y:1-.5*(o/Math.PI+1),z:0}}unproject(t,e){let r=t=(2*t-.5)*Math.PI,n=e=(2*(1-e)-1)*Math.PI,i=25;const s=1e-6;let a=0,o=0;do{const i=Math.cos(n),s=Math.sin(n),l=2*s*i,u=s*s,c=i*i,h=Math.cos(r/2),p=Math.sin(r/2),d=2*h*p,f=p*p,y=1-c*h*h,m=y?1/y:0,g=y?Math.acos(i*h)*Math.sqrt(1/y):0,x=.5*(2*g*i*p+2*r/Math.PI)-t,v=.5*(g*s+n)-e,b=.5*m*(c*f+g*i*h*u)+1/Math.PI,w=m*(d*l/4-g*s*p),_=.125*m*(l*p-g*s*c*d),A=.5*m*(u*h+g*f*i)+.5,S=w*_-A*b;a=(v*w-x*A)/S,o=(x*_-v*b)/S,r=M(r-a,-Math.PI,Math.PI),n=M(n-o,-Kd,Kd);}while((Math.abs(a)>s||Math.abs(o)>s)&&--i>0);return new Ol(_(r),_(n))}}class Jd extends Cd{constructor(t){super(t),this.center=t.center||[0,0],this.parallels=t.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(w(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0;}project(t,e){const{scale:r,cosPhi:n}=this;return {x:w(t)*n*r+.5,y:-Math.sin(w(e))/n*r+.5,z:0}}unproject(t,e){const{scale:r,cosPhi:n}=this,i=-(e-.5)/r,s=M(_((t-.5)/r)/n,-180,180),a=Math.asin(M(i*n,-1,1)),o=M(_(a),-Hl,Hl);return new Ol(s,o)}}class Hd extends Nd{constructor(t){super(t),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit=\"pixels\",this.unsupportedLayers=[\"debug\"],this.range=[3,5];}projectTilePoint(t,e,r){const n=Ml(t,e,r);return Fo(n,n,Bl(xl(r))),{x:n[0],y:n[1],z:n[2]}}locationPoint(t,e){const r=Il(e.lat,e.lng),n=Do([],r),i=t.elevation?t.elevation.getAtPointOrZero(t.locationCoordinate(e),t._centerAltitude):t._centerAltitude;Po(r,r,n,Zl(1,0)*ao*i);const s=po(new Float64Array(16));return yo(s,t.pixelMatrix,t.globeMatrix),Fo(r,r,s),new x(r[0],r[1])}pixelsPerMeter(t,e){return Zl(1,0)*e}pixelSpaceConversion(t,e,r){const n=Zl(1,t)*e,i=Er(Zl(1,45)*e,n,r);return this.pixelsPerMeter(t,e)/i}createTileMatrix(t,e,r){const n=El(xl(r.canonical));return yo(new Float64Array(16),t.globeMatrix,n)}createInversionMatrix(t,e){const{center:r}=t,n=Bl(xl(e));return vo(n,n,w(r.lng)),xo(n,n,w(r.lat)),go(n,n,[t._pixelsPerMercatorPixel,t._pixelsPerMercatorPixel,1]),Float32Array.from(n)}pointCoordinate(t,e,r,n){return yl(t,e,r,!0)||new Wl(0,0)}pointCoordinate3D(t,e,r){const n=this.pointCoordinate(t,e,r,0);return [n.x,n.y,n.z]}isPointAboveHorizon(t,e){return !yl(t,e.x,e.y,!1)}farthestPixelDistance(t){const e=function(t,e){const r=t.cameraToCenterDistance,n=t._centerAltitude*e,i=t._camera,s=t._camera.forward(),a=Mo([],Co([],s,-r),[0,0,n]),o=t.worldSize/(2*Math.PI),l=[0,0,-o],u=t.width/t.height,c=Math.tan(t.fovAboveCenter),h=Co([],i.up(),c),p=Co([],i.right(),c*u),d=Do([],Mo([],Mo([],s,h),p)),f=[];let y;if(new el(a,d).closestPointOnSphere(l,o,f)){const e=Mo([],f,l),r=$o([],e,a);y=Math.cos(t.fovAboveCenter)*ko(r);}else {const t=$o([],a,l),e=$o([],l,a);Do(e,e);const r=ko(t)-o;y=Math.sqrt(r*(r+2*o));const n=Math.acos(y/(o+r))-Math.acos(Vo(s,e));y*=Math.cos(n);}return 1.01*y}(t,this.pixelsPerMeter(t.center.lat,t.worldSize)),r=Pl(t.zoom);if(r>0){const n=zd(t,Zl(1,t.center.lat)*t.worldSize),i=t.worldSize/(2*Math.PI),s=Math.max(t.width,t.height)/t.worldSize*Math.PI;return Er(e,n+i*(1-Math.cos(s)),Math.pow(r,10))}return e}upVector(t,e,r){return Ml(e,r,t,1)}upVectorScale(t){return {metersToTile:fl(Tl(xl(t)))}}}function Yd(t){const e=t.parallels,r=!!e&&Math.abs(e[0]+e[1])<.01;switch(t.name){case\"mercator\":return new Nd(t);case\"equirectangular\":return new $d(t);case\"naturalEarth\":return new Zd(t);case\"equalEarth\":return new Ud(t);case\"winkelTripel\":return new Xd(t);case\"albers\":return r?new Jd(t):new Pd(t);case\"lambertConformalConic\":return r?new Jd(t):new qd(t);case\"globe\":return new Hd(t)}throw new Error(`Invalid projection name: ${t.name}`)}const Wd=Kc.types,Qd=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function tf(t,e,r,n,i,s,a,o,l,u,c,h,p){const d=o?Math.min(Ad,Math.round(o[0])):0,f=o?Math.min(Ad,Math.round(o[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),s,a,(d<<1)+(l?1:0),f,16*u,16*c,256*h,256*p);}function ef(t,e,r,n,i,s,a){t.emplaceBack(e,r,n,i,s,a);}function rf(t,e,r,n,i){t.emplaceBack(e,r,n,i),t.emplaceBack(e,r,n,i),t.emplaceBack(e,r,n,i),t.emplaceBack(e,r,n,i);}function nf(t){for(const e of t.sections)if(ls(e.text))return !0;return !1}class sf{constructor(t){this.layoutVertexArray=new Xs,this.indexArray=new ra,this.programConfigurations=t,this.segments=new so,this.dynamicLayoutVertexArray=new Ns,this.opacityVertexArray=new Hs,this.placedSymbolArray=new fa,this.globeExtVertexArray=new Js;}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length}upload(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Eh.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,Ph.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Qd,!0),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=t.createVertexBuffer(this.globeExtVertexArray,Ch.members,!0)),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t));}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy());}}Ji(sf,\"SymbolBuffers\");class af{constructor(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new so,this.collisionVertexArray=new ta,this.collisionVertexArrayExt=new ea;}upload(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Dh.members,!0),this.collisionVertexBufferExt=t.createVertexBuffer(this.collisionVertexArrayExt,Vh.members,!0);}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy());}}Ji(af,\"CollisionBuffers\");class of{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=po([]),this.placementViewportMatrix=po([]);const e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$h(this.zoom,e[\"text-size\"]),this.iconSizeData=$h(this.zoom,e[\"icon-size\"]);const r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),i=r.get(\"symbol-z-order\");this.canOverlap=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=(\"viewport-y\"===i||\"auto\"===i&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=r.get(\"text-writing-mode\").map((t=>Ip[t])),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=t.sourceID,this.projection=t.projection;}createArrays(){this.text=new sf(new Ja(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new sf(new Ja(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new ga,this.lineVertexArray=new xa,this.symbolInstances=new ma;}calculateGlyphDependencies(t,e,r,n,i){for(let r=0;r0)&&(\"constant\"!==o.value.kind||o.value.value.length>0),h=\"constant\"!==u.value.kind||!!u.value.value||Object.keys(u.parameters).length>0,p=s.get(\"symbol-sort-key\");if(this.features=[],!c&&!h)return;const d=e.iconDependencies,f=e.glyphDependencies,y=e.availableImages,m=new ws(this.zoom);for(const{feature:e,id:l,index:u,sourceLayerIndex:g}of t){const t=i._featureFilter.needGeometry,x=ou(e,t);if(!i._featureFilter.filter(m,x,r))continue;if(t||(x.geometry=au(e,r,n)),a&&1!==e.type&&r.z<=5){const t=x.geometry,e=.98078528056,n=(t,n)=>Vo(Ml(t.x,t.y,r,1),Ml(n.x,n.y,r,1))=0;for(const r of v.sections)if(r.image)d[r.image.name]=!0;else {const n=es(v.toString()),i=r.fontStack||t,s=f[i]=f[i]||{};this.calculateGlyphDependencies(r.text,s,e,this.allowVerticalPlacement,n);}}}\"line\"===s.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function s(e){n.push(t[e]),i++;}function a(t,e,i){const s=r[t];return delete r[t],r[e]=s,n[s].geometry[0].pop(),n[s].geometry[0]=n[s].geometry[0].concat(i[0]),s}function o(t,r,i){const s=e[r];return delete e[r],e[t]=s,n[s].geometry[0].shift(),n[s].geometry[0]=i[0].concat(n[s].geometry[0]),s}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r,n),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r,n));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}getProjection(){return this.projectionInstance||(this.projectionInstance=Yd(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment)for(const{x:t,y:r}of e)this.lineVertexArray.emplaceBack(t,r);return {lineStartIndex:r,lineLength:this.lineVertexArray.length-r}}addSymbols(t,e,r,n,i,s,a,o,l,u,c,h,p,d){const f=t.indexArray,y=t.layoutVertexArray,m=t.globeExtVertexArray,g=t.segments.prepareSegment(4*e.length,y,f,this.canOverlap?s.sortKey:void 0),x=this.glyphOffsetArray.length,v=g.vertexLength,b=this.allowVerticalPlacement&&a===Ip.vertical?Math.PI/2:0,w=s.text&&s.text.sections;for(let n=0;n=0?e.rightJustifiedTextSymbolIndex:e.centerJustifiedTextSymbolIndex>=0?e.centerJustifiedTextSymbolIndex:e.leftJustifiedTextSymbolIndex>=0?e.leftJustifiedTextSymbolIndex:e.verticalPlacedTextSymbolIndex>=0?e.verticalPlacedTextSymbolIndex:n),s=jh(this.textSizeData,t,i)/Rh;return this.tilePixelRatio*s}getSymbolInstanceIconSize(t,e,r){const n=this.icon.placedSymbolArray.get(r),i=jh(this.iconSizeData,t,n);return this.tilePixelRatio*i}_commitDebugCollisionVertexUpdate(t,e,r){t.emplaceBack(e,-r,-r),t.emplaceBack(e,r,-r),t.emplaceBack(e,r,r),t.emplaceBack(e,-r,r);}_updateTextDebugCollisionBoxes(t,e,r,n,i,s){for(let a=n;a0}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(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),s}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex);const{rightJustifiedTextSymbolIndex:r,centerJustifiedTextSymbolIndex:n,leftJustifiedTextSymbolIndex:i,verticalPlacedTextSymbolIndex:s,placedIconSymbolIndex:a,verticalPlacedIconSymbolIndex:o}=e;r>=0&&this.addIndicesForPlacedSymbol(this.text,r),n>=0&&n!==r&&this.addIndicesForPlacedSymbol(this.text,n),i>=0&&i!==n&&i!==r&&this.addIndicesForPlacedSymbol(this.text,i),s>=0&&this.addIndicesForPlacedSymbol(this.text,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a),o>=0&&this.addIndicesForPlacedSymbol(this.icon,o);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}Ji(of,\"SymbolBucket\",{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),of.MAX_GLYPHS=65535,of.addDynamicAttributes=rf;const lf=new Ps({\"symbol-placement\":new Bs(te.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Bs(te.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Bs(te.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Es(te.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Bs(te.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Bs(te.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new Bs(te.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Bs(te.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Bs(te.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Es(te.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Bs(te.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Bs(te.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Es(te.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Es(te.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Bs(te.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Bs(te.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Es(te.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Es(te.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Bs(te.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Bs(te.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Bs(te.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Es(te.layout_symbol[\"text-field\"]),\"text-font\":new Es(te.layout_symbol[\"text-font\"]),\"text-size\":new Es(te.layout_symbol[\"text-size\"]),\"text-max-width\":new Es(te.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Es(te.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Es(te.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Es(te.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Es(te.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Bs(te.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Es(te.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Bs(te.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Bs(te.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Es(te.layout_symbol[\"text-rotate\"]),\"text-padding\":new Bs(te.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Bs(te.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Es(te.layout_symbol[\"text-transform\"]),\"text-offset\":new Es(te.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Bs(te.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new Bs(te.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Bs(te.layout_symbol[\"text-optional\"])});var uf={paint:new Ps({\"icon-opacity\":new Es(te.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Es(te.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Es(te.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Es(te.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Es(te.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Bs(te.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Bs(te.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Es(te.paint_symbol[\"text-opacity\"]),\"text-color\":new Es(te.paint_symbol[\"text-color\"],{runtimeType:pe,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new Es(te.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Es(te.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Es(te.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Bs(te.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Bs(te.paint_symbol[\"text-translate-anchor\"])}),layout:lf};class cf{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:le,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}Ji(cf,\"FormatSectionOverride\",{omit:[\"defaultValue\"]});class hf extends ro{constructor(t){super(t,uf);}recalculate(t,e){super.recalculate(t,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\"));const r=this.layout.get(\"text-writing-mode\");if(r){const t=[];for(const e of r)t.indexOf(e)<0&&t.push(e);this.layout._values[\"text-writing-mode\"]=t;}else this.layout._values[\"text-writing-mode\"]=\"point\"===this.layout.get(\"symbol-placement\")?[\"horizontal\"]:[\"horizontal\",\"vertical\"];this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||Jn(s.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new of(t)}queryRadius(){return 0}queryIntersectsFeature(){return !1}_setPaintOverrides(){for(const t of uf.paint.overridableProperties){if(!hf.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new cf(e),n=new Xn(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new Yn(\"source\",n):new Wn(\"composite\",n,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new Ts(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&hf.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=uf.paint.properties[e];let i=!1;const s=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof De)s(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof je&&Re(e.value)===me?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}getProgramConfiguration(t){return new Xa(this,t)}}var pf={paint:new Ps({\"background-color\":new Bs(te.paint_background[\"background-color\"]),\"background-pattern\":new Bs(te.paint_background[\"background-pattern\"]),\"background-opacity\":new Bs(te.paint_background[\"background-opacity\"])})},df={paint:new Ps({\"raster-opacity\":new Bs(te.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Bs(te.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Bs(te.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Bs(te.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Bs(te.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Bs(te.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Bs(te.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Bs(te.paint_raster[\"raster-fade-duration\"])})};class ff extends ro{constructor(t){super(t,{}),this.implementation=t;}is3D(){return \"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}isLayerDraped(){return void 0!==this.implementation.renderToTile}shouldRedrape(){return !!this.implementation.shouldRerenderTiles&&this.implementation.shouldRerenderTiles()}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){}onAdd(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);}onRemove(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);}}var yf={paint:new Ps({\"sky-type\":new Bs(te.paint_sky[\"sky-type\"]),\"sky-atmosphere-sun\":new Bs(te.paint_sky[\"sky-atmosphere-sun\"]),\"sky-atmosphere-sun-intensity\":new Bs(te.paint_sky[\"sky-atmosphere-sun-intensity\"]),\"sky-gradient-center\":new Bs(te.paint_sky[\"sky-gradient-center\"]),\"sky-gradient-radius\":new Bs(te.paint_sky[\"sky-gradient-radius\"]),\"sky-gradient\":new Cs(te.paint_sky[\"sky-gradient\"]),\"sky-atmosphere-halo-color\":new Bs(te.paint_sky[\"sky-atmosphere-halo-color\"]),\"sky-atmosphere-color\":new Bs(te.paint_sky[\"sky-atmosphere-color\"]),\"sky-opacity\":new Bs(te.paint_sky[\"sky-opacity\"])})};function mf(t,e,r){const n=[0,0,1],i=Ko([]);return Jo(i,i,r?-w(t)+Math.PI:w(t)),Xo(i,i,-w(e)),Ro(n,n,i),Do(n,n)}const gf={circle:class extends ro{constructor(t){super(t,Tu);}createBucket(t){return new cu(t)}queryRadius(t){const e=t;return Au(\"circle-radius\",this,e)+Au(\"circle-stroke-width\",this,e)+Su(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(t,e,r,n,i,s,a,o){const l=Iu(this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),s.angle,t.pixelToTileUnitsFactor),u=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r);return zu(t,n,s,a,o,\"map\"===this.paint.get(\"circle-pitch-alignment\"),\"map\"===this.paint.get(\"circle-pitch-scale\"),l,u)}getProgramIds(){return [\"circle\"]}getProgramConfiguration(t){return new Xa(this,t)}},heatmap:class extends ro{createBucket(t){return new Du(t)}constructor(t){super(t,$u),this._updateColorRamp();}_handleSpecialPaintPropertyUpdate(t){\"heatmap-color\"===t&&this._updateColorRamp();}_updateColorRamp(){this.colorRamp=ju({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null;}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);}queryRadius(t){return Au(\"heatmap-radius\",this,t)}queryIntersectsFeature(t,e,r,n,i,s,a,o){const l=this.paint.get(\"heatmap-radius\").evaluate(e,r);return zu(t,n,s,a,o,!0,!0,new x(0,0),l)}hasOffscreenPass(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility}getProgramIds(){return [\"heatmap\",\"heatmapTexture\"]}getProgramConfiguration(t){return new Xa(this,t)}},hillshade:class extends ro{constructor(t){super(t,Ou);}hasOffscreenPass(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility}getProgramIds(){return [\"hillshade\",\"hillshadePrepare\"]}},fill:class extends ro{constructor(t){super(t,zc);}getProgramIds(){const t=this.paint.get(\"fill-pattern\"),e=t&&t.constantOr(1),r=[e?\"fillPattern\":\"fill\"];return this.paint.get(\"fill-antialias\")&&r.push(e&&!this.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\"),r}getProgramConfiguration(t){return new Xa(this,t)}recalculate(t,e){super.recalculate(t,e);const r=this.paint._values[\"fill-outline-color\"];\"constant\"===r.value.kind&&void 0===r.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"]);}createBucket(t){return new Mc(t)}queryRadius(){return Su(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(t,e,r,n,i,s){return !t.queryGeometry.isAboveHorizon&&du(ku(t.tilespaceGeometry,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),s.angle,t.pixelToTileUnitsFactor),n)}isTileClipped(){return !0}},\"fill-extrusion\":class extends ro{constructor(t){super(t,ch);}createBucket(t){return new th(t)}queryRadius(){return Su(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}getProgramIds(){return [this.paint.get(\"fill-extrusion-pattern\").constantOr(1)?\"fillExtrusionPattern\":\"fillExtrusion\"]}getProgramConfiguration(t){return new Xa(this,t)}queryIntersectsFeature(t,e,r,n,i,s,a,o,l){const u=Iu(this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),s.angle,t.pixelToTileUnitsFactor),c=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),p=[0,0],d=o&&s.elevation,f=s.elevation?s.elevation.exaggeration():1,y=t.tile.getBucket(this);if(d&&y instanceof th){const t=y.centroidVertexArray,e=l+1;et.polygon)).flat());const m=d?o:null,[g,v]=function(t,e,r,n,i,s,a,o,l,u,c){return \"globe\"===t.projection.name?function(t,e,r,n,i,s,a,o,l,u,c){const h=[],p=[],d=t.projection.upVectorScale(c,t.center.lat,t.worldSize).metersToTile,f=[0,0,0,1],y=[0,0,0,1],m=(t,e,r,n)=>{t[0]=e,t[1]=r,t[2]=n,t[3]=1;},g=oh();r>0&&(r+=g),n+=g;for(const g of e){const e=[],x=[];for(const h of g){const p=h.x+i.x,g=h.y+i.y,v=t.projection.projectTilePoint(p,g,c),b=t.projection.upVector(c,h.x,h.y);let w=r,_=n;if(a){const t=vh(p,g,r,n,a,o,l,u);w+=t.base,_+=t.top;}0!==r?m(f,v.x+b[0]*d*w,v.y+b[1]*d*w,v.z+b[2]*d*w):m(f,v.x,v.y,v.z),m(y,v.x+b[0]*d*_,v.y+b[1]*d*_,v.z+b[2]*d*_),Fo(f,f,s),Fo(y,y,s),e.push(new mh(f[0],f[1],f[2])),x.push(new mh(y[0],y[1],y[2]));}h.push(e),p.push(x);}return [h,p]}(t,e,r,n,i,s,a,o,l,u,c):a?function(t,e,r,n,i,s,a,o,l){const u=[],c=[],h=[0,0,0,1];for(const p of t){const t=[],d=[];for(const u of p){const c=u.x+n.x,p=u.y+n.y,f=vh(c,p,e,r,s,a,o,l);h[0]=c,h[1]=p,h[2]=f.base,h[3]=1,Go(h,h,i),h[3]=Math.max(h[3],1e-5);const y=new mh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);h[0]=c,h[1]=p,h[2]=f.top,h[3]=1,Go(h,h,i),h[3]=Math.max(h[3],1e-5);const m=new mh(h[0]/h[3],h[1]/h[3],h[2]/h[3]);t.push(y),d.push(m);}u.push(t),c.push(d);}return [u,c]}(e,r,n,i,s,a,o,l,u):function(t,e,r,n,i){const s=[],a=[],o=i[8]*e,l=i[9]*e,u=i[10]*e,c=i[11]*e,h=i[8]*r,p=i[9]*r,d=i[10]*r,f=i[11]*r;for(const e of t){const t=[],r=[];for(const s of e){const e=s.x+n.x,a=s.y+n.y,y=i[0]*e+i[4]*a+i[12],m=i[1]*e+i[5]*a+i[13],g=i[2]*e+i[6]*a+i[14],x=i[3]*e+i[7]*a+i[15],v=y+o,b=m+l,w=g+u,_=Math.max(x+c,1e-5),A=y+h,S=m+p,k=g+d,I=Math.max(x+f,1e-5);t.push(new mh(v/_,b/_,w/_)),r.push(new mh(A/I,S/I,k/I));}s.push(t),a.push(r);}return [s,a]}(e,r,n,i,s)}(s,n,h,c,u,a,m,p,f,s.center.lat,t.tileID.canonical),b=t.queryGeometry;return function(t,e,r){let n=1/0;du(r,e)&&(n=xh(r,e[0]));for(let i=0;i=3)for(let e=0;e{this._triggered=!1,this._callback();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback();}),0));}remove(){this._channel=void 0,this._callback=()=>{};}}class bf{constructor(){this.tasks={},this.taskQueue=[],R([\"process\"],this),this.invoker=new vf(this.process),this.nextId=0;}add(t,e){const r=this.nextId++,n=function({type:t,isSymbolTile:e,zoom:r}){return r=r||0,\"message\"===t?0:\"maybePrepare\"!==t||e?\"parseTile\"!==t||e?\"parseTile\"===t&&e?300-r:\"maybePrepare\"===t&&e?400-r:500:200-r:100-r}(e);if(0===n){K();try{t();}finally{}return {cancel:()=>{}}}return this.tasks[r]={fn:t,metadata:e,priority:n,id:r},this.taskQueue.push(r),this.invoker.trigger(),{cancel:()=>{delete this.tasks[r];}}}process(){K();try{if(this.taskQueue=this.taskQueue.filter((t=>!!this.tasks[t])),!this.taskQueue.length)return;const t=this.pick();if(null===t)return;const e=this.tasks[t];if(delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),!e)return;e.fn();}finally{}}pick(){let t=null,e=1/0;for(let r=0;r>=1)>1;){const t=r+i>>1,l=n+s>>1;1&e?(i=r,s=n,r=a,n=o):(r=i,n=s,i=a,s=o),a=t,o=l;}const l=4*t;If[l+0]=r,If[l+1]=n,If[l+2]=i,If[l+3]=s;}const Mf=new Uint16Array(2178),Tf=new Uint8Array(1089),zf=new Uint16Array(1089);function Bf(t){return 0===t?-.03125:32===t?.03125:0}var Ef=Rs([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);const Cf={type:2,extent:ao,loadGeometry:()=>[[new x(0,0),new x(ao+1,0),new x(ao+1,ao+1),new x(0,ao+1),new x(0,0)]]};class Pf{constructor(t,e,r,n,i){this.tileID=t,this.uid=D(),this.uses=0,this.tileSize=e,this.tileZoom=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=i,this.expiredRequestCount=0,this.state=\"loading\",n&&n.transform&&(this.projection=n.transform.projection);}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)r[e.id]=n;}}return r}(t.buckets,e.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const e=this.buckets[t];if(e instanceof of){if(this.hasSymbolBuckets=!0,!r)break;e.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const e=this.buckets[t];if(e instanceof of&&e.hasRTLText){this.hasRTLText=!0,bs.isLoading()||bs.isLoaded()||\"deferred\"!==xs()||vs();break}}this.queryPadding=0;for(const t in this.buckets){const r=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(t).queryRadius(r));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),t.lineAtlas&&(this.lineAtlas=t.lineAtlas);}else this.collisionBoxArray=new pa;}unloadVectorData(){if(this.hasData()){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state=\"unloaded\";}}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const r=this.buckets[e];r.uploadPending()&&r.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new xf(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new xf(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new xf(t,this.lineAtlas.image,e.ALPHA),this.lineAtlas.uploaded=!0);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,r,n,i,s,a,o){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:n,pixelPosMatrix:a,transform:s,params:i,tileTransform:this.tileTransform},t,e,r):{}}querySourceFeatures(t,e){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),i=e?e.sourceLayer:\"\",s=n._geojsonTileLayer||n[i];if(!s)return;const a=hi(e&&e.filter),{z:o,x:l,y:u}=this.tileID.canonical,c={z:o,x:l,y:u};for(let e=0;et)r=!1;else if(e)if(this.expirationTime=0;t--){const e=4*t,r=If[e+0],n=If[e+1],i=If[e+2],s=If[e+3],a=r+i>>1,o=n+s>>1,l=a+o-n,u=o+r-a,c=n*kf+r,h=s*kf+i,p=o*kf+a,d=Math.hypot((Mf[2*c+0]+Mf[2*h+0])/2-Mf[2*p+0],(Mf[2*c+1]+Mf[2*h+1])/2-Mf[2*p+1])>=16;Tf[p]=Tf[p]||(d?1:0),t<1022&&(Tf[p]=Tf[p]||Tf[(n+u>>1)*kf+(r+l>>1)]||Tf[(s+u>>1)*kf+(i+l>>1)]);}const i=new Os,s=new ra;let a=0;function o(t,e){const r=e*kf+t;return 0===zf[r]&&(i.emplaceBack(Mf[2*r+0],Mf[2*r+1],t*ao/Sf,e*ao/Sf),zf[r]=++a),zf[r]-1}function l(t,e,r,n,i,a){const u=t+r>>1,c=e+n>>1;if(Math.abs(t-i)+Math.abs(e-a)>1&&Tf[c*kf+u])l(i,a,t,e,u,c),l(r,n,i,a,u,c);else {const l=o(t,e),u=o(r,n),c=o(i,a);s.emplaceBack(l,u,c);}}return l(0,0,Sf,Sf,Sf,0),l(Sf,Sf,0,0,0,Sf),{vertices:i,indices:s}}(this.tileID.canonical,e);n=t.vertices,i=t.indices;}else {n=new Os,i=new ra;for(const{x:t,y:e}of r)n.emplaceBack(t,e,0,0);const t=xc(n.int16,void 0,4);for(let e=0;e0&&(a=fo(new Float64Array(16),e.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(t,n,e,i,a,s),this._makeGlobeTileDebugTextBuffer(t,n,e,i,a,s);}_globePoint(t,e,r,n,i,s,a){let o=Ml(t,e,r);if(s){const i=1<.5?h=-1:c<-.5&&(h=1);let p=(t/ao+r.x)/i+h,d=(e/ao+r.y)/i;p=(p-l)*n._pixelsPerMercatorPixel+l,d=(d-u)*n._pixelsPerMercatorPixel+u;const f=[p*n.worldSize,d*n.worldSize,0];Fo(f,f,s),o=vl(o,f,a);}return Fo(o,o,i)}_makeGlobeTileDebugBorderBuffer(t,e,r,n,i,s){const a=new $s,o=new ua,l=new js,u=(t,u,c,h,p)=>{const d=(c-t)/(p-1),f=(h-u)/(p-1),y=a.length;for(let c=0;cc*t+e;for(let t=0;te[a])return null}else {const o=1/n[a];let l=(t[a]-r[a])*o,u=(e[a]-r[a])*o;if(l>u){const t=l;l=u,u=t;}if(l>i&&(i=l),us)return null}return i}function Ff(t,e,r,n,i,s,a,o,l,u,c){const h=n-t,p=i-e,d=s-r,f=a-t,y=o-e,m=l-r,g=c[1]*m-c[2]*y,x=c[2]*f-c[0]*m,v=c[0]*y-c[1]*f,b=h*g+p*x+d*v;if(Math.abs(b)<1e-15)return null;const w=1/b,_=u[0]-t,A=u[1]-e,S=u[2]-r,k=(_*g+A*x+S*v)*w;if(k<0||k>1)return null;const I=A*d-S*p,M=S*h-_*d,T=_*p-A*h,z=(c[0]*I+c[1]*M+c[2]*T)*w;return z<0||k+z>1?null:(f*I+y*M+m*T)*w}function Rf(t,e,r){return (t-e)/(r-e)}function Uf(t,e,r,n,i,s,a,o,l){const u=1<{const s=n?1:0,a=(t+1)*r-s,o=e*r,l=(e+1)*r-s;i[0]=t*r,i[1]=o,i[2]=a,i[3]=l;};let a=new Vf(n);const o=[];for(let e=0;e=1;n/=2){const t=r[r.length-1];a=new Vf(n);for(let e=0;e0;){const{idx:o,t:d,nodex:f,nodey:y,depth:m}=p.pop();if(this.leaves[o]){Uf(f,y,m,t,e,r,n,c,h);const o=1<=t[2])return d}continue}let g=0;for(let p=0;p=l[u[r]]&&(u.splice(r,0,p),e=!0);e||(u[g]=p),g++;}}for(let t=0;t=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)}static pack(t,e){const r=[0,0,0,0],n=Zf.getUnpackVector(e);let i=Math.floor((t+n[3])/n[2]);return r[2]=i%256,i=Math.floor(i/256),r[1]=i%256,i=Math.floor(i/256),r[0]=i,r}getPixels(){return new Uu({width:this.stride,height:this.stride},this.pixels)}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,s=r*this.dim,a=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:s=a-1;break;case 1:a=s+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=s;e{this.remove(t,i);}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const r in this.data)for(const n of this.data[r])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t);}}class Xf{constructor(t,e,r){this.func=t,this.mask=e,this.range=r;}}Xf.ReadOnly=!1,Xf.ReadWrite=!0,Xf.disabled=new Xf(519,Xf.ReadOnly,[0,1]);const Jf=7680;class Hf{constructor(t,e,r,n,i,s){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=s;}}Hf.disabled=new Hf({func:519,mask:0},0,0,Jf,Jf,Jf);class Yf{constructor(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r;}}Yf.Replace=[1,0],Yf.disabled=new Yf(Yf.Replace,Ee.transparent,[!1,!1,!1,!1]),Yf.unblended=new Yf(Yf.Replace,Ee.transparent,[!0,!0,!0,!0]),Yf.alphaBlended=new Yf([1,771],Ee.transparent,[!0,!0,!0,!0]);const Wf=1029,Qf=2305;class ty{constructor(t,e,r){this.enable=t,this.mode=e,this.frontFace=r;}}ty.disabled=new ty(!1,Wf,Qf),ty.backCCW=new ty(!0,Wf,Qf),ty.backCW=new ty(!0,Wf,2304),ty.frontCW=new ty(!0,1028,2304),ty.frontCCW=new ty(!0,1028,Qf);class ey extends Qt{constructor(t,e,r){super(),this.id=t,this._onlySymbols=r,e.on(\"data\",(t=>{\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform));})),e.on(\"error\",(()=>{this._sourceErrored=!0;})),this._source=e,this._tiles={},this._cache=new Kf(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=e.minTileCacheSize,this._maxTileCacheSize=e.maxTileCacheSize,this._loadedParentTiles={},this._coveredTiles={},this._state=new Df,this._isRaster=\"raster\"===this._source.type||\"raster-dem\"===this._source.type||\"custom\"===this._source.type&&\"raster\"===this._source._dataType;}onAdd(t){this.map=t,this._minTileCacheSize=void 0===this._minTileCacheSize&&t?t._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&t?t._maxTileCacheSize:this._maxTileCacheSize;}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform);}_loadTile(t,e){return t.isSymbolTile=this._onlySymbols,this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(t){if(this._source.abortTile)return this._source.abortTile(t,(()=>{}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager);}}getIds(){return E(this._tiles).map((t=>t.tileID)).sort(ry).map((t=>t.key))}getRenderableIds(t){const e=[];for(const r in this._tiles)this._isIdRenderable(+r,t)&&e.push(this._tiles[r]);return t?e.sort(((t,e)=>{const r=t.tileID,n=e.tileID,i=new x(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),s=new x(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||s.y-i.y||s.x-i.x})).map((t=>t.tileID.key)):e.map((t=>t.tileID)).sort(ry).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(+t,\"reloading\");}}_reloadTile(t,e){const r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)));}_tileLoaded(t,e,r,n){if(n)if(t.state=\"errored\",404!==n.status)this._source.fire(new Wt(n,{tile:t}));else if(\"raster-dem\"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const t=this.map.painter.terrain;this.update(this.transform,t.getScaledDemTileSize(),!0),t.resetTileLookupCache(this.id);}else this.update(this.transform);else t.timeAdded=Xt.now(),\"expired\"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(e,t),\"raster-dem\"===this._source.type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new Yt(\"data\",{dataType:\"source\",tile:t,coord:t.tileID,sourceCacheId:this.id}));}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,r,n){for(const i in this._tiles){let s=this._tiles[i];if(n[i]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>r)continue;let a=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(a=t);}let o=a;for(;o.overscaledZ>e;)if(o=o.scaledTo(o.overscaledZ-1),t[o.key]){n[a.key]=a;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(let r=t.overscaledZ-1;r>=e;r--){const e=t.scaledTo(r),n=this._getLoadedTile(e);if(n)return n}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(this._source.reparseOverscaled?t.wrapped().key:t.canonical.key)}updateCacheSize(t,e){e=e||this._source.tileSize;const r=Math.ceil(t.width/e)+1,n=Math.ceil(t.height/e)+1,i=Math.floor(r*n*5),s=\"number\"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,i):i,a=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,s):s;this._cache.setMaxSize(a);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const r in this._tiles){const n=this._tiles[r];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),t[n.tileID.key]=n;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t]);}}update(t,e,r){if(this.transform=t,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!r)return;let n;this.updateCacheSize(t,e),\"globe\"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new fh(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:e||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!r,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const i=this._updateRetainedTiles(n);if(ny(this._source.type)&&0!==n.length){const t={},e={},r=Object.keys(i);for(const n of r){const r=i[n],s=this._tiles[n];if(!s||s.fadeEndTime&&s.fadeEndTime<=Xt.now())continue;const a=this.findLoadedParent(r,Math.max(r.overscaledZ-ey.maxOverzooming,this._source.minzoom));a&&(this._addTile(a.tileID),t[a.tileID.key]=a.tileID),e[n]=r;}const s=n[n.length-1].overscaledZ;for(const t in this._tiles){const r=this._tiles[t];if(i[t]||!r.hasData())continue;let n=r.tileID;for(;n.overscaledZ>s;){n=n.scaledTo(n.overscaledZ-1);const s=this._tiles[n.key];if(s&&s.hasData()&&e[n.key]){i[t]=r.tileID;break}}}for(const e in t)i[e]||(this._coveredTiles[e]=!0,i[e]=t[e]);}for(const t in i)this._tiles[t].clearFadeHold();const s=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r}(this._tiles,i);for(const t of s){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(+t);}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(+t);}_updateRetainedTiles(t){const e={};if(0===t.length)return e;const r={},n=t.reduce(((t,e)=>Math.min(t,e.overscaledZ)),1/0),i=t[0].overscaledZ,s=Math.max(i-ey.maxOverzooming,this._source.minzoom),a=Math.max(i+ey.maxUnderzooming,this._source.minzoom),o={};for(const r of t){const t=this._addTile(r);e[r.key]=r,t.hasData()||n=this._source.maxzoom){const t=n.children(this._source.maxzoom)[0],r=this.getTile(t);if(r&&r.hasData()){e[t.key]=t;continue}}else {const t=n.children(this._source.maxzoom);if(e[t[0].key]&&e[t[1].key]&&e[t[2].key]&&e[t[3].key])continue}let i=t.wasRequested();for(let a=n.overscaledZ-1;a>=s;--a){const s=n.scaledTo(a);if(r[s.key])break;if(r[s.key]=!0,t=this.getTile(s),!t&&i&&(t=this._addTile(s)),t&&(e[s.key]=s,i=t.wasRequested(),t.hasData()))break}}return e}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let r,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(t),r)break;n=t;}for(const t of e)this._loadedParentTiles[t]=r;}}_addTile(t){let e=this._tiles[t.key];if(e)return e;e=this._cache.getAndRemove(t),e&&(this._setTileReloadTimer(t.key,e),e.tileID=t,this._state.initializeTileState(e,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,e)));const r=Boolean(e);if(!r){const r=this.map?this.map.painter:null;e=new Pf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,r,this._isRaster),this._loadTile(e,this._tileLoaded.bind(this,e,t.key,e.state));}return e?(e.uses++,this._tiles[t.key]=e,r||this._source.fire(new Yt(\"dataloading\",{tile:e,coord:e.tileID,dataType:\"source\"})),e):null}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const r=e.getExpiryTimeout();r&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),r));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(+t);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id);}tilesIn(t,e,r){const n=[],i=this.transform;if(!i)return n;const s=\"globe\"===i.projection.name,a=Nl(i.center.lng);for(const o in this._tiles){const l=this._tiles[o];if(r&&l.clearQueryDebugViz(),l.holdingForFade())continue;let u;if(s){const t=l.tileID.canonical;if(0===t.z){const e=[Math.abs(M(a,...iy(t,-1))-a),Math.abs(M(a,...iy(t,1))-a)];u=[0,2*e.indexOf(Math.min(...e))-1];}else {const e=[Math.abs(M(a,...iy(t,-1))-a),Math.abs(M(a,...iy(t,0))-a),Math.abs(M(a,...iy(t,1))-a)];u=[e.indexOf(Math.min(...e))-1];}}else u=[0];for(const r of u){const s=t.containsTile(l,i,e,r);s&&n.push(s);}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.projMatrix=this.transform.calculateProjMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(ny(this._source.type))for(const t in this._tiles){const e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=Xt.now())return !0}return !1}setFeatureState(t,e,r){this._state.updateState(t=t||\"_geojsonTileLayer\",e,r);}removeFeatureState(t,e,r){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,r);}getFeatureState(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)}setDependencies(t,e,r){const n=this._tiles[t];n&&n.setDependencies(e,r);}reloadTilesForDependencies(t,e){for(const r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(+r,\"reloading\");this._cache.filter((r=>!r.hasDependency(t,e)));}_preloadTiles(t,e){if(!this._sourceLoaded){const r=()=>{this._sourceLoaded&&(this._source.off(\"data\",r),this._preloadTiles(t,e));};return void this._source.on(\"data\",r)}const r=new Map,n=Array.isArray(t)?t:[t],i=this.map.painter.terrain,s=this.usedForTerrain&&i?i.getScaledDemTileSize():this._source.tileSize;for(const t of n){const e=t.coveringTiles({tileSize:s,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const t of e)r.set(t.key,t);this.usedForTerrain&&t.updateElevation(!1);}B(Array.from(r.values()),((t,e)=>{const r=new Pf(t,this._source.tileSize*t.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(r,(t=>{\"raster-dem\"===this._source.type&&r.dem&&this._backfillDEM(r),e(t,r);}));}),e);}}function ry(t,e){const r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function ny(t){return \"raster\"===t||\"image\"===t||\"video\"===t||\"custom\"===t}function iy(t,e){const r=1<=0&&n[3]>=0&&o.insert(a,n[0],n[1],n[2],n[3]);}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new Zc(new mp(this.rawTileData)).layers,this.sourceLayerCoder=new wf(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"]),this.vtFeatures={};for(const t in this.vtLayers)this.vtFeatures[t]=[];}return this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},s=hi(i.filter),a=t.tileResult,o=t.transform,l=a.bufferedTilespaceBounds,u=this.grid.query(l.min.x,l.min.y,l.max.x,l.max.y,((t,e,r,n)=>wu(a.bufferedTilespaceGeometry,t,e,r,n)));u.sort(ly);let c=null;o.elevation&&u.length>0&&(c=sy.create(o.elevation,this.tileID));const h={};let p;for(let o=0;o(f||(f=au(e,this.tileID.canonical,t.tileTransform)),r.queryIntersectsFeature(a,e,n,f,this.z,t.transform,t.pixelPosMatrix,c,i))));}return h}loadMatchingFeature(t,e,r,n,i,s,a,o,l){const{featureIndex:u,bucketIndex:c,sourceLayerIndex:h,layoutVertexArrayOffset:p}=e,d=this.bucketLayerIDs[c];if(n&&!function(t,e){for(let r=0;r=0)return !0;return !1}(n,d))return;const f=this.sourceLayerCoder.decode(h),y=this.vtLayers[f].feature(u);if(r.needGeometry){const t=ou(y,!0);if(!r.filter(new ws(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!r.filter(new ws(this.tileID.overscaledZ),y))return;const m=this.getId(y,f);for(let e=0;e{const a=e instanceof zs?e.get(s):null;return a&&a.evaluate?a.evaluate(r,n,i):a}))}function ly(t,e){return e-t}Ji(ay,\"FeatureIndex\",{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class uy{constructor(t,e){this.width=t,this.height=e,this.nextRow=0,this.image=new Ru({width:t,height:e}),this.positions={},this.uploaded=!1;}getDash(t,e){const r=this.getKey(t,e);return this.positions[r]}trim(){const t=this.width,e=this.height=L(this.nextRow);this.image.resize({width:t,height:e});}getKey(t,e){return t.join(\",\")+e}getDashRanges(t,e,r){const n=[];let i=t.length%2==1?-t[t.length-1]*r:0,s=t[0]*r,a=!0;n.push({left:i,right:s,isDash:a,zeroLength:0===t[0]});let o=t[0];for(let e=1;e1&&(a=t[++s]);const l=Math.abs(o-a.left),u=Math.abs(o-a.right),c=Math.min(l,u);let h;const p=e/r*(n+1);if(a.isDash){const t=n-Math.abs(p);h=Math.sqrt(c*c+t*t);}else h=n-Math.sqrt(c*c+p*p);this.image.data[i+o]=Math.max(0,Math.min(255,h+128));}}}addRegularDash(t,e){for(let e=t.length-1;e>=0;--e){const r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1));}const r=t[0],n=t[t.length-1];r.isDash===n.isDash&&(r.left=n.left-this.width,n.right=r.right+this.width);const i=this.width*this.nextRow;let s=0,a=t[s];for(let r=0;r1&&(a=t[++s]);const n=Math.abs(r-a.left),o=Math.abs(r-a.right),l=Math.min(n,o);this.image.data[i+r]=Math.max(0,Math.min(255,(a.isDash?l:-l)+e+128));}}addDash(t,e){const r=this.getKey(t,e);if(this.positions[r])return this.positions[r];const n=\"round\"===e,i=n?7:0,s=2*i+1;if(this.nextRow+s>this.height)return N(\"LineAtlas out of space\"),null;0===t.length&&t.push(1);let a=0;for(let e=0;e=e.maxzoom||\"none\"!==e.visibility&&(dy(t,this.zoom,r),(o[e.id]=e.createBucket({index:a.bucketLayerIDs.length,layers:t,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:h,sourceID:this.source,enableTerrain:this.enableTerrain,projection:this.projection.spec,availableImages:r})).populate(p,u,this.tileID.canonical,this.tileTransform),a.bucketLayerIDs.push(t.map((t=>t.id))));}}let h,p,d,f;l.trim();const y={type:\"maybePrepare\",isSymbolTile:this.isSymbolTile,zoom:this.zoom},m=()=>{if(h)return i(h);if(p&&d&&f){const t=new hy(p),e=new kp(d,f);for(const n in o){const i=o[n];i instanceof of?(dy(i.layers,this.zoom,r),vd(i,p,t.positions,d,e.iconPositions,this.showCollisionBoxes,r,this.tileID.canonical,this.tileZoom,this.projection)):i.hasPattern&&(i instanceof Ih||i instanceof Mc||i instanceof th)&&(dy(i.layers,this.zoom,r),i.addFeatures(u,this.tileID.canonical,e.patternPositions,r,this.tileTransform));}this.status=\"done\",i(null,{buckets:E(o).filter((t=>!t.isEmpty())),featureIndex:a,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,lineAtlas:l,imageAtlas:e,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?d:null,glyphPositions:this.returnDependencies?t.positions:null});}},g=$(u.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(g).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:g},((t,e)=>{h||(h=t,p=e,m());}),void 0,!1,y):p={};const x=Object.keys(u.iconDependencies);x.length?n.send(\"getImages\",{icons:x,source:this.source,tileID:this.tileID,type:\"icons\"},((t,e)=>{h||(h=t,d=e,m());}),void 0,!1,y):d={};const v=Object.keys(u.patternDependencies);v.length?n.send(\"getImages\",{icons:v,source:this.source,tileID:this.tileID,type:\"patterns\"},((t,e)=>{h||(h=t,f=e,m());}),void 0,!1,y):f={},m();}}function dy(t,e,r){const n=new ws(e);for(const e of t)e.recalculate(n,r);}class fy{constructor(t){this.entries={},this.scheduler=t;}request(t,e,r,n){const i=this.entries[t]=this.entries[t]||{callbacks:[]};if(i.result){const[t,r]=i.result;return this.scheduler?this.scheduler.add((()=>{n(t,r);}),e):n(t,r),()=>{}}return i.callbacks.push(n),i.cancel||(i.cancel=r(((r,n)=>{i.result=[r,n];for(const t of i.callbacks)this.scheduler?this.scheduler.add((()=>{t(r,n);}),e):t(r,n);setTimeout((()=>delete this.entries[t]),3e3);}))),()=>{i.result||(i.callbacks=i.callbacks.filter((t=>t!==n)),i.callbacks.length||(i.cancel(),delete this.entries[t]));}}}function yy(t,e,r){const n=JSON.stringify(t.request);return t.data&&(this.deduped.entries[n]={result:[null,t.data]}),this.deduped.request(n,{type:\"parseTile\",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom},(e=>{const n=pt(t.request,((t,n,i,s)=>{t?e(t):n&&e(null,{vectorTile:r?void 0:new Zc(new mp(n)),rawData:n,cacheControl:i,expires:s});}));return ()=>{n.cancel(),e();}}),e)}const my=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gy{static from(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[e,r]=new Uint8Array(t,0,2);if(219!==e)throw new Error(\"Data does not appear to be in a KDBush format.\");const n=r>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=my[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new gy(a,s,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=my.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t);}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return xy(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:i,coords:s,nodeSize:a}=this,o=[0,i.length-1,0],l=[];for(;o.length;){const u=o.pop()||0,c=o.pop()||0,h=o.pop()||0;if(c-h<=a){for(let a=h;a<=c;a++){const o=s[2*a],u=s[2*a+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[a]);}continue}const p=h+c>>1,d=s[2*p],f=s[2*p+1];d>=t&&d<=r&&f>=e&&f<=n&&l.push(i[p]),(0===u?t<=d:e<=f)&&(o.push(h),o.push(p-1),o.push(1-u)),(0===u?r>=d:n>=f)&&(o.push(p+1),o.push(c),o.push(1-u));}return l}within(t,e,r){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:n,coords:i,nodeSize:s}=this,a=[0,n.length-1,0],o=[],l=r*r;for(;a.length;){const u=a.pop()||0,c=a.pop()||0,h=a.pop()||0;if(c-h<=s){for(let r=h;r<=c;r++)_y(i[2*r],i[2*r+1],t,e)<=l&&o.push(n[r]);continue}const p=h+c>>1,d=i[2*p],f=i[2*p+1];_y(d,f,t,e)<=l&&o.push(n[p]),(0===u?t-r<=d:e-r<=f)&&(a.push(h),a.push(p-1),a.push(1-u)),(0===u?t+r>=d:e+r>=f)&&(a.push(p+1),a.push(c),a.push(1-u));}return o}}function xy(t,e,r,n,i,s){if(i-n<=r)return;const a=n+i>>1;vy(t,e,a,n,i,s),xy(t,e,r,n,a-1,1-s),xy(t,e,r,a+1,i,1-s);}function vy(t,e,r,n,i,s){for(;i>n;){if(i-n>600){const a=i-n+1,o=r-n+1,l=Math.log(a),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(a-u)/a)*(o-a/2<0?-1:1);vy(t,e,r,Math.max(n,Math.floor(r-o*u/a+c)),Math.min(i,Math.floor(r+(a-o)*u/a+c)),s);}const a=e[2*r+s];let o=n,l=i;for(by(t,e,n,r),e[2*i+s]>a&&by(t,e,n,i);oa;)l--;}e[2*n+s]===a?by(t,e,n,l):(l++,by(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function by(t,e,r,n){wy(t,r,n),wy(e,2*r,2*n),wy(e,2*r+1,2*n+1);}function wy(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function _y(t,e,r,n){const i=t-r,s=e-n;return i*i+s*s}t.ARRAY_TYPE=uo,t.AUTH_ERR_MSG=xt,t.Aabb=il,t.Actor=class{constructor(t,r,n){this.target=t,this.parent=r,this.mapId=n,this.callbacks={},this.cancelCallbacks={},R([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=K()?t:e,this.scheduler=new bf;}send(t,e,r,n,i=!1,s){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(r.metadata=s,this.callbacks[a]=r);const o=H(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Wi(e,o)},o),{cancel:()=>{r&&delete this.callbacks[a],this.target.postMessage({id:a,type:\"\",targetMapId:n,sourceMapId:this.mapId});}}}receive(t){const e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){const t=this.cancelCallbacks[r];delete this.cancelCallbacks[r],t&&t.cancel();}else if(e.mustQueue||K()){const t=this.callbacks[r];this.cancelCallbacks[r]=this.scheduler.add((()=>this.processTask(r,e)),t&&t.metadata||{type:\"message\"});}else this.processTask(r,e);}processTask(t,e){if(\"\"===e.type){const r=this.callbacks[t];delete this.callbacks[t],r&&(e.error?r(Qi(e.error)):r(null,Qi(e.data)));}else {const r=H(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:\"\",sourceMapId:this.mapId,error:e?Wi(e):null,data:Wi(n,r)},r);}:t=>{},i=Qi(e.data);if(this.parent[e.type])this.parent[e.type](e.sourceMapId,i,n);else if(this.parent.getWorkerSource){const t=e.type.split(\".\");this.parent.getWorkerSource(e.sourceMapId,t[0],i.source)[t[1]](i,n);}else n(new Error(`Could not find function ${e.type}`));}}remove(){this.scheduler.remove(),this.target.removeEventListener(\"message\",this.receive,!1);}},t.CanonicalTileID=ph,t.Color=Ee,t.ColorMode=Yf,t.CullFaceMode=ty,t.DEMData=Zf,t.DataConstantProperty=Bs,t.DedupedRequest=fy,t.DepthMode=Xf,t.EXTENT=ao,t.Elevation=class{isDataAvailableAtPoint(t){const e=this._source();if(this.isUsingMockSource()||!e||t.y<0||t.y>1)return !1;const r=e.getSource().maxzoom,n=1<1)return e;const i=n.getSource().maxzoom,s=1<{const s=this.getAtTileOffset(t,i.x,i.y),a=n.upVector(t.canonical,i.x,i.y);return Co(a,a,s*n.upVectorScale(t.canonical,e,r).metersToTile),a}}getForTilePoints(t,e,r,n){if(this.isUsingMockSource())return !1;const i=sy.create(this,t,n);return !!i&&(e.forEach((t=>{t[2]=this.exaggeration()*i.getElevationAt(t[0],t[1],r);})),!0)}getMinMaxForTile(t){if(this.isUsingMockSource())return null;const e=this.findDEMTileFor(t);if(!e||!e.dem)return null;const r=e.dem.tree,n=e.tileID,i=1<{let n=t===s-1?t-2:0===t?t:t-1;return n+=r?24575:0,[n,e]};for(let t=0;tthis._skuTokenExpiresAt}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}normalizeStyleURL(t,e){if(!vt(t))return t;const r=kt(t);return r.path=`/styles/v1${r.path}`,this._makeAPIURL(r,this._customAccessToken||e)}normalizeGlyphsURL(t,e){if(!vt(t))return t;const r=kt(t);return r.path=`/fonts/v1${r.path}`,this._makeAPIURL(r,this._customAccessToken||e)}normalizeSourceURL(t,e,r,n){if(!vt(t))return t;const i=kt(t);return i.path=`/v4/${i.authority}.json`,i.params.push(\"secure\"),r&&i.params.push(`language=${r}`),n&&i.params.push(`worldview=${n}`),this._makeAPIURL(i,this._customAccessToken||e)}normalizeSpriteURL(t,e,r,n){const i=kt(t);return vt(t)?(i.path=`/styles/v1${i.path}/sprite${e}${r}`,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=`${e}${r}`,It(i))}normalizeTileURL(t,e,r){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!vt(t))return t;const n=kt(t);n.path=n.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,`${e||r&&\"raster\"!==n.authority&&512===r?\"@2x\":\"\"}${s.supported?\".webp\":\"$1\"}`),\"raster\"===n.authority?n.path=`/${i.RASTER_URL_PREFIX}${n.path}`:(n.path=n.path.replace(/^.+\\/v4\\//,\"/\"),n.path=`/${i.TILE_URL_VERSION}${n.path}`);const a=this._customAccessToken||function(t){for(const e of t){const t=e.match(/^access_token=(.*)$/);if(t)return t[1]}return null}(n.params)||i.ACCESS_TOKEN;return i.REQUIRE_ACCESS_TOKEN&&a&&this._skuToken&&n.params.push(`sku=${this._skuToken}`),this._makeAPIURL(n,a)}canonicalizeTileURL(t,e){const r=kt(t);if(!r.path.match(/^(\\/v4\\/|\\/raster\\/v1\\/)/)||!r.path.match(/\\.[\\w]+$/))return t;let n=\"mapbox://\";r.path.match(/^\\/raster\\/v1\\//)?n+=`raster/${r.path.replace(`/${i.RASTER_URL_PREFIX}/`,\"\")}`:n+=`tiles/${r.path.replace(`/${i.TILE_URL_VERSION}/`,\"\")}`;let s=r.params;return e&&(s=s.filter((t=>!t.match(/^access_token=/)))),s.length&&(n+=`?${s.join(\"&\")}`),n}canonicalizeTileset(t,e){const r=!!e&&vt(e),n=[];for(const e of t.tiles||[])bt(e)?n.push(this.canonicalizeTileURL(e,r)):n.push(e);return n}_makeAPIURL(t,e){const r=\"See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes\",n=kt(i.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,\"http\"===t.protocol){const e=t.params.indexOf(\"secure\");e>=0&&t.params.splice(e,1);}if(\"/\"!==n.path&&(t.path=`${n.path}${t.path}`),!i.REQUIRE_ACCESS_TOKEN)return It(t);if(e=e||i.ACCESS_TOKEN,!this._silenceAuthErrors){if(!e)throw new Error(`An API access token is required to use Mapbox GL. ${r}`);if(\"s\"===e[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${r}`)}return t.params=t.params.filter((t=>-1===t.indexOf(\"access_token\"))),t.params.push(`access_token=${e||\"\"}`),It(t)}},t.ResourceType=lt,t.SegmentVector=so,t.SourceCache=ey,t.StencilMode=Hf,t.StructArrayLayout1ui2=ua,t.StructArrayLayout2f1f2i16=Qs,t.StructArrayLayout2i4=$s,t.StructArrayLayout2ui4=la,t.StructArrayLayout3f12=ea,t.StructArrayLayout3ui6=ra,t.StructArrayLayout4i8=Os,t.StructArrayLayout5f20=aa,t.Texture=xf,t.Tile=Pf,t.Transitionable=Ss,t.Uniform1f=La,t.Uniform1i=class extends Va{constructor(t){super(t),this.current=0;}set(t,e,r){this.fetchUniformLocation(t,e)&&this.current!==r&&(this.current=r,this.gl.uniform1i(this.location,r));}},t.Uniform2f=class extends Va{constructor(t){super(t),this.current=[0,0];}set(t,e,r){this.fetchUniformLocation(t,e)&&(r[0]===this.current[0]&&r[1]===this.current[1]||(this.current=r,this.gl.uniform2f(this.location,r[0],r[1])));}},t.Uniform3f=class extends Va{constructor(t){super(t),this.current=[0,0,0];}set(t,e,r){this.fetchUniformLocation(t,e)&&(r[0]===this.current[0]&&r[1]===this.current[1]&&r[2]===this.current[2]||(this.current=r,this.gl.uniform3f(this.location,r[0],r[1],r[2])));}},t.Uniform4f=Fa,t.UniformColor=Ra,t.UniformMatrix2f=class extends Va{constructor(t){super(t),this.current=ja;}set(t,e,r){if(this.fetchUniformLocation(t,e))for(let t=0;t<4;t++)if(r[t]!==this.current[t]){this.current=r,this.gl.uniformMatrix2fv(this.location,!1,r);break}}},t.UniformMatrix3f=class extends Va{constructor(t){super(t),this.current=$a;}set(t,e,r){if(this.fetchUniformLocation(t,e))for(let t=0;t<9;t++)if(r[t]!==this.current[t]){this.current=r,this.gl.uniformMatrix3fv(this.location,!1,r);break}}},t.UniformMatrix4f=class extends Va{constructor(t){super(t),this.current=Ua;}set(t,e,r){if(this.fetchUniformLocation(t,e)){if(r[12]!==this.current[12]||r[0]!==this.current[0])return this.current=r,void this.gl.uniformMatrix4fv(this.location,!1,r);for(let t=1;t<16;t++)if(r[t]!==this.current[t]){this.current=r,this.gl.uniformMatrix4fv(this.location,!1,r);break}}}},t.UnwrappedTileID=dh,t.ValidationError=ri,t.VectorTileFeature=Kc,t.VectorTileWorkerSource=class extends Qt{constructor(t,e,r,n,i){super(),this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=i||yy,this.loading={},this.loaded={},this.deduped=new fy(t.scheduler),this.isSpriteLoaded=n,this.scheduler=t.scheduler;}loadTile(t,e){const r=t.uid,n=t&&t.request,i=n&&n.collectResourceTiming,s=this.loading[r]=new py(t);s.abort=this.loadVectorData(t,((a,o)=>{const l=!this.loading[r];if(delete this.loading[r],l||a||!o)return s.status=\"done\",l||(this.loaded[r]=s),e(a);const u=o.rawData,c={};o.expires&&(c.expires=o.expires),o.cacheControl&&(c.cacheControl=o.cacheControl),s.vectorTile=o.vectorTile||new Zc(new mp(u));const h=()=>{s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,r)=>{if(t||!r)return e(t);const s={};if(i){const t=qt(n);t.length>0&&(s.resourceTiming=JSON.parse(JSON.stringify(t)));}e(null,C({rawTileData:u.slice(0)},r,c,s));}));};this.isSpriteLoaded?h():this.once(\"isSpriteLoaded\",(()=>{this.scheduler?this.scheduler.add(h,{type:\"parseTile\",isSymbolTile:t.isSymbolTile,zoom:t.tileZoom}):h();})),this.loaded=this.loaded||{},this.loaded[r]=s;}));}reloadTile(t,e){const r=this.loaded,n=t.uid,i=this;if(r&&r[n]){const s=r[n];s.showCollisionBoxes=t.showCollisionBoxes,s.enableTerrain=!!t.enableTerrain,s.projection=t.projection,s.tileTransform=Bd(t.tileID.canonical,t.projection);const a=(t,r)=>{const n=s.reloadCallback;n&&(delete s.reloadCallback,s.parse(s.vectorTile,i.layerIndex,this.availableImages,i.actor,n)),e(t,r);};\"parsing\"===s.status?s.reloadCallback=a:\"done\"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a());}}abortTile(t,e){const r=t.uid,n=this.loading[r];n&&(n.abort&&n.abort(),delete this.loading[r]),e();}removeTile(t,e){const r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e();}},t.WritingMode=Ip,t.ZoomDependentExpression=Wn,t.add=Mo,t.addDynamicAttributes=rf,t.adjoint=function(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8];return t[0]=a*c-o*u,t[1]=i*u-n*c,t[2]=n*o-i*a,t[3]=o*l-s*c,t[4]=r*c-i*l,t[5]=i*s-r*o,t[6]=s*u-a*l,t[7]=n*l-r*u,t[8]=r*a-n*s,t},t.asyncAll=B,t.bezier=k,t.bindAll=R,t.boundsAttributes=Ef,t.bufferConvexPolygon=function(t,e){const r=[];for(let n=0;net&&(t.getActor().send(\"enforceCacheSizeLimit\",tt),ot=0);},t.calculateGlobeLabelMatrix=function(t,e){const{x:r,y:n}=t.point,i=Cl(r,n,t.worldSize/t._pixelsPerMercatorPixel,0,0);return yo(i,i,El(xl(e)))},t.calculateGlobeMatrix=function(t){const{x:e,y:r}=t.point,{lng:n,lat:i}=t._center;return Cl(e,r,t.worldSize,n,i)},t.calculateGlobeMercatorMatrix=function(t){const e=t.pixelsPerMeter,r=e/Zl(1,t.center.lat),n=po(new Float64Array(16));return mo(n,n,[t.point.x,t.point.y,0]),go(n,n,[r,r,e]),Float32Array.from(n)},t.circumferenceAtLatitude=ql,t.clamp=M,t.clearTileCache=function(t){if(!it())return;const r=e.caches.delete(Q);t&&r.catch(t).then((()=>t()));},t.clipLine=Hp,t.clone=function(t){var e=new uo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=O,t.collisionCircleLayout=Fh,t.config=i,t.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},t.create=function(){var t=new uo(16);return uo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=co,t.createExpression=Hn,t.createLayout=Rs,t.createStyleLayer=function(t){return \"custom\"===t.type?new ff(t):new gf[t.type](t)},t.cross=Lo,t.degToRad=w,t.distance=function(t,e){return Math.hypot(e[0]-t[0],e[1]-t[1],e[2]-t[2])},t.div=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t},t.dot=Vo,t.earthRadius=Ul,t.ease=I,t.easeCubicInOut=S,t.ecefToLatLng=function([t,e,r]){const n=Math.hypot(t,e,r),i=Math.atan2(t,r),s=.5*Math.PI-Math.acos(-e/n);return new Ol(_(i),_(s))},t.emitValidationErrors=qi,t.endsWith=U,t.enforceCacheSizeLimit=function(t){st(),rt&&rt.then((e=>{e.keys().then((r=>{for(let n=0;ns&&(n+=(t[i]-s)*(t[i]-s)),e[i]0){const t=180/n;ho(d,d,[t/u+1,0,0,0,t/c+1,0,-.5*t/h,.5*t/p,1]);}return d[2]=l,d[5]=t.x,d[8]=t.y,d},t.getImage=gt,t.getJSON=function(t,e){return ht(C(t,{type:\"json\"}),e)},t.getLatitudinalLod=function(t){const e=Hl-5;t=M(t,-e,e)/e*90;const r=Math.pow(Math.abs(Math.sin(w(t))),3);return Math.round(r*(cl.length-1))},t.getMapSessionAPI=Ft,t.getPerformanceMeasurement=qt,t.getProjection=Yd,t.getRTLTextPluginStatus=xs,t.getReferrer=ct,t.getTilePoint=function(t,{x:e,y:r},n=0){return new x(((e-n)*t.scale-t.x)*ao,(r*t.scale-t.y)*ao)},t.getTileVec3=function(t,e,r=0){return Io(((e.x-r)*t.scale-t.x)*ao,(e.y*t.scale-t.y)*ao,Jl(e.z,e.y))},t.getVideo=function(t,r){const n=e.document.createElement(\"video\");n.muted=!0,n.onloadstart=function(){r(null,n);};for(let r=0;r{}}},t.globeCenterToScreenPoint=function(t){const e=[0,0,0],r=po(new Float64Array(16));return yo(r,t.pixelMatrix,t.globeMatrix),Fo(e,e,r),new x(e[0],e[1])},t.globeDenormalizeECEF=El,t.globeECEFOrigin=function(t,e){const r=[0,0,0];return Fo(r,r,Bl(xl(e.canonical))),Fo(r,r,t),r},t.globeMetersToEcef=fl,t.globeNormalizeECEF=Bl,t.globePixelsToTileUnits=function(t,e){return ao/(512*Math.pow(2,t))*Tl(xl(e))},t.globePoleMatrixForTile=function(t,e,r){const n=po(new Float64Array(16)),i=(e/(1<0;return 0===n&&!i&&!a&&s},t.identity=po,t.identity$1=Ko,t.invert=fo,t.isFullscreen=function(){return !!e.document.fullscreenElement||!!e.document.webkitFullscreenElement},t.isLngLatBehindGlobe=Vl,t.isMapAuthenticated=function(t){return Rt.has(t)},t.isMapboxURL=vt,t.isSafariWithAntialiasingBug=function(t){const e=t.navigator?t.navigator.userAgent:null;return !!H(t)&&e&&(e.match(\"Version/15.4\")||e.match(\"Version/15.5\")||e.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},t.latFromMercatorY=Xl,t.latLngToECEF=Il,t.len=Oo,t.length=ko,t.length$1=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},t.lngFromMercatorX=Kl,t.loadVectorTile=yy,t.makeRequest=ht,t.mapValue=function(t,e,r,n,i){return M((t-e)/(r-e)*(i-n)+n,n,i)},t.mercatorScale=Yl,t.mercatorXfromLng=Nl,t.mercatorYfromLat=Gl,t.mercatorZfromAltitude=Zl,t.mul=_o,t.mul$1=jo,t.multiply=yo,t.multiply$1=ho,t.multiply$2=zo,t.nextPowerOfTwo=L,t.normalize=Do,t.normalize$1=Ho,t.normalize$2=No,t.number=Er,t.ortho=function(t,e,r,n,i,s,a){var o=1/(e-r),l=1/(n-i),u=1/(s-a);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*o,t[13]=(i+n)*l,t[14]=(a+s)*u,t[15]=1,t},t.pbf=Xh,t.perspective=function(t,e,r,n,i){var s,a=1/Math.tan(e/2);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(s=1/(n-i)),t[14]=2*i*n*s):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){const r={};for(let n=0;n0&&r[0]<=t.width&&r[1]>0&&r[1]<=t.height&&!Vl(t,new Ol(t.center.lat,90)),n[0]>0&&n[0]<=t.width&&n[1]>0&&n[1]<=t.height&&!Vl(t,new Ol(t.center.lat,-90))]},t.polygonContainsPoint=bu,t.polygonIntersectsBox=wu,t.polygonIntersectsPolygon=hu,t.polygonizeBounds=function(t,e,r=0,n=!0){const i=new x(r,r),s=t.sub(i),a=e.add(i),o=[s,new x(a.x,s.y),a,new x(s.x,a.y)];return n&&o.push(s.clone()),o},t.posAttributes=tl,t.postMapLoadEvent=Pt,t.postPerformanceEvent=Vt,t.postTurnstileEvent=Et,t.potpack=_p,t.prevPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},t.radToDeg=_,t.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],t.registerForPluginStateChange=function(t){return t({pluginStatus:ds,pluginURL:fs}),gs.on(\"pluginStateChange\",t),t},t.removeAuthState=function(t){Rt.delete(t);},t.renderColorRamp=ju,t.resample=tu,t.rotateX=xo,t.rotateX$1=Xo,t.rotateY=vo,t.rotateY$1=Jo,t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+u*n,t[1]=a*i+c*n,t[2]=o*i+h*n,t[3]=l*i+p*n,t[4]=u*i-s*n,t[5]=c*i-a*n,t[6]=h*i-o*n,t[7]=p*i-l*n,t},t.rotateZ$1=function(t,e,r){r*=.5;var n=e[0],i=e[1],s=e[2],a=e[3],o=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*o,t[1]=i*l-n*o,t[2]=s*l+a*o,t[3]=a*l-s*o,t},t.scale=go,t.scale$1=qo,t.scale$2=Co,t.scaleAndAdd=Po,t.set=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t},t.setCacheLimits=function(t,e){tt=t,et=e;},t.setColumn=function(t,e,r){t[4*e+0]=r[0],t[4*e+1]=r[1],t[4*e+2]=r[2],t[4*e+3]=r[3];},t.setRTLTextPlugin=function(t,e,r=!1){if(ds===us||ds===cs||ds===hs)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");fs=Xt.resolveURL(t),ds=us,ps=e,ms(),r||vs();},t.smoothstep=T,t.spec=te,t.squaredLength=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n},t.storeAuthState=function(t,e){e?Rt.add(t):Rt.delete(t);},t.sub=$o,t.subtract=To,t.symbolSize=qh,t.tileAABB=function(t,e,r,n,i,s,a,o,l){if(\"globe\"===l.name)return _l(t,e,new ph(r,n,i));const u=Bd({z:r,x:n,y:i},l);return new il([(s+u.x/u.scale)*e,e*(u.y/u.scale),a],[(s+u.x2/u.scale)*e,e*(u.y2/u.scale),o])},t.tileCornersToBounds=Al,t.tileTransform=Bd,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],s=e[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t},t.transformMat4=Fo,t.transformMat4$1=Go,t.transformQuat=Ro,t.transitionTileAABBinECEF=bl,t.translate=mo,t.transpose=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i;}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},t.triggerPluginCompletionEvent=ys,t.uniqueId=D,t.updateGlobeVertexNormal=function(t,e,r,n,i){const s=5*e+2;t.float32[s+0]=r,t.float32[s+1]=n,t.float32[s+2]=i;},t.validateCustomStyleLayer=function(t){const e=[],r=t.id;return void 0===r&&e.push({message:`layers.${r}: missing required property \"id\"`}),void 0===t.render&&e.push({message:`layers.${r}: missing required method \"render\"`}),t.renderingMode&&\"2d\"!==t.renderingMode&&\"3d\"!==t.renderingMode&&e.push({message:`layers.${r}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),e},t.validateFilter=t=>Oi(Ai(t)),t.validateFog=t=>Oi(Vi(t)),t.validateLayer=t=>Oi(Ti(t)),t.validateLight=t=>Oi(Pi(t)),t.validateSource=t=>Oi(Ei(t)),t.validateStyle=Ui,t.validateTerrain=t=>Oi(Di(t)),t.values=E,t.vectorTile=Dc,t.version=r,t.warnOnce=N,t.window=e,t.wrap=z;}));\n\ndefine([\"./shared\"],(function(e){\"use strict\";function t(e){if(\"number\"==typeof e||\"boolean\"==typeof e||\"string\"==typeof e||null==e)return JSON.stringify(e);if(Array.isArray(e)){let r=\"[\";for(const o of e)r+=`${t(o)},`;return `${r}]`}let r=\"{\";for(const o of Object.keys(e).sort())r+=`${o}:${t(e[o])},`;return `${r}}`}function r(r){let o=\"\";for(const i of e.refProperties)o+=`/${t(r[i])}`;return o}class o{constructor(e){this.keyCache={},e&&this.replace(e);}replace(e){this._layerConfigs={},this._layers={},this.update(e,[]);}update(t,o){for(const r of t)this._layerConfigs[r.id]=r,(this._layers[r.id]=e.createStyleLayer(r)).compileFilter(),this.keyCache[r.id]&&delete this.keyCache[r.id];for(const e of o)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const i=function(e,t){const o={};for(let i=0;ithis._layers[e.id])),r=t[0];if(\"none\"===r.visibility)continue;const o=r.source||\"\";let i=this.familiesBySource[o];i||(i=this.familiesBySource[o]={});const n=r.sourceLayer||\"_geojsonTileLayer\";let s=i[n];s||(s=i[n]=[]),s.push(t);}}}class i{loadTile(t,r){const{uid:o,encoding:i,rawImageData:n,padding:s,buildQuadTree:a}=t,l=e.window.ImageBitmap&&n instanceof e.window.ImageBitmap?this.getImageData(n,s):n;r(null,new e.DEMData(o,l,i,s<1,a));}getImageData(e,t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\",{willReadFrequently:!0})),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const r=this.offscreenCanvasContext.getImageData(-t,-t,e.width+2*t,e.height+2*t);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),r}}function n(e,t){if(0!==e.length){s(e[0],t);for(var r=1;r=Math.abs(a)?r-l+a:a-l+r,r=l;}r+o>=0!=!!t&&e.reverse();}var a=e.getDefaultExportFromCjs((function e(t,r){var o,i=t&&t.type;if(\"FeatureCollection\"===i)for(o=0;o>31}function P(e,t){for(var r=e.loadGeometry(),o=e.type,i=0,n=0,s=r.length,a=0;ae},I=Math.fround||(_=new Float32Array(1),e=>(_[0]=+e,_[0]));var _;const C=3,L=5,O=6;class E{constructor(e){this.options=Object.assign(Object.create(k),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:r,maxZoom:o}=this.options;t&&console.time(\"total time\");const i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;const n=[];for(let t=0;t=r;e--){const r=+Date.now();s=this.trees[e]=this._createTree(this._cluster(s,e)),t&&console.log(\"z%d: %d clusters in %dms\",e,s.numItems,+Date.now()-r);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[1]));let i=180===e[2]?180:((e[2]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){const e=this.getClusters([r,o,180,n],t),s=this.getClusters([-180,o,i,n],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(N(r),Z(n),N(i),Z(o)),l=s.data,u=[];for(const e of a){const t=this.stride*e;u.push(l[t+L]>1?j(l,t,this.clusterProps):this.points[l[t+C]]);}return u}getChildren(e){const t=this._getOriginId(e),r=this._getOriginZoom(e),o=\"No cluster with the specified id.\",i=this.trees[r];if(!i)throw new Error(o);const n=i.data;if(t*this.stride>=n.length)throw new Error(o);const s=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=i.within(n[t*this.stride],n[t*this.stride+1],s),l=[];for(const t of a){const r=t*this.stride;n[r+4]===e&&l.push(n[r+L]>1?j(n,r,this.clusterProps):this.points[n[r+C]]);}if(0===l.length)throw new Error(o);return l}getLeaves(e,t,r){const o=[];return this._appendLeaves(o,e,t=t||10,r=r||0,0),o}getTile(e,t,r){const o=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:n,radius:s}=this.options,a=s/n,l=(r-a)/i,u=(r+1+a)/i,h={features:[]};return this._addTileFeatures(o.range((t-a)/i,l,(t+1+a)/i,u),o.data,t,r,i,h),0===t&&this._addTileFeatures(o.range(1-a/i,l,1,u),o.data,i,r,i,h),t===i-1&&this._addTileFeatures(o.range(0,l,a/i,u),o.data,-1,r,i,h),h.features.length?h:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id;}return t}_appendLeaves(e,t,r,o,i){const n=this.getChildren(t);for(const t of n){const n=t.properties;if(n&&n.cluster?i+n.point_count<=o?i+=n.point_count:i=this._appendLeaves(e,n.cluster_id,r,o,i):i1;let l,u,h;if(a)l=F(t,e,this.clusterProps),u=t[e],h=t[e+1];else {const r=this.points[t[e+C]];l=r.properties;const[o,i]=r.geometry.coordinates;u=N(o),h=Z(i);}const c={type:1,geometry:[[Math.round(this.options.extent*(u*i-r)),Math.round(this.options.extent*(h*i-o))]],tags:l};let f;f=a||this.options.generateId?t[e+C]:this.points[t[e+C]].id,void 0!==f&&(c.id=f),n.features.push(c);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:r,extent:o,reduce:i,minPoints:n}=this.options,s=r/(o*Math.pow(2,t)),a=e.data,l=[],u=this.stride;for(let r=0;rt&&(p+=a[r+L]);}if(p>f&&p>=n){let e,n=o*f,s=h*f,g=-1;const d=((r/u|0)<<5)+(t+1)+this.points.length;for(const o of c){const l=o*u;if(a[l+2]<=t)continue;a[l+2]=t;const h=a[l+L];n+=a[l]*h,s+=a[l+1]*h,a[l+4]=d,i&&(e||(e=this._map(a,r,!0),g=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(a,l)));}a[r+4]=d,l.push(n/p,s/p,1/0,d,-1,p),i&&l.push(g);}else {for(let e=0;e1)for(const e of c){const r=e*u;if(!(a[r+2]<=t)){a[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,r){if(e[t+L]>1){const o=this.clusterProps[e[t+O]];return r?Object.assign({},o):o}const o=this.points[e[t+C]].properties,i=this.options.map(o);return r&&i===o?Object.assign({},i):i}}function j(e,t,r){return {type:\"Feature\",id:e[t+C],properties:F(e,t,r),geometry:{type:\"Point\",coordinates:[(o=e[t],360*(o-.5)),J(e[t+1])]}};var o;}function F(e,t,r){const o=e[t+L],i=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?Math.round(o/100)/10+\"k\":o,n=e[t+O],s=-1===n?{}:Object.assign({},r[n]);return Object.assign(s,{cluster:!0,cluster_id:e[t+C],point_count:o,point_count_abbreviated:i})}function N(e){return e/360+.5}function Z(e){const 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 J(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function z(e,t,r,o){for(var i,n=o,s=r-t>>1,a=r-t,l=e[t],u=e[t+1],h=e[r],c=e[r+1],f=t+3;fn)i=f,n=p;else if(p===n){var g=Math.abs(f-s);go&&(i-t>3&&z(e,t,i,o),e[i+2]=n,r-i>3&&z(e,i,r,o));}function G(e,t,r,o,i,n){var s=i-r,a=n-o;if(0!==s||0!==a){var l=((e-r)*s+(t-o)*a)/(s*s+a*a);l>1?(r=i,o=n):l>0&&(r+=s*l,o+=a*l);}return (s=e-r)*s+(a=t-o)*a}function W(e,t,r,o){var i={id:void 0===e?null:e,type:t,geometry:r,tags:o,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)Y(e,t);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var o=0;o0&&(s+=o?(i*u-l*n)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-n,2))),i=l,n=u;}var h=t.length-3;t[2]=1,z(t,0,h,r),t[h+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size;}function $(e,t,r,o){for(var i=0;i1?1:r}function R(e,t,r,o,i,n,s,a){if(o/=t,n>=(r/=t)&&s=o)return null;for(var l=[],u=0;u=r&&g=o)){var d=[];if(\"Point\"===f||\"MultiPoint\"===f)q(c,d,r,o,i);else if(\"LineString\"===f)Q(c,d,r,o,i,!1,a.lineMetrics);else if(\"MultiLineString\"===f)K(c,d,r,o,i,!1);else if(\"Polygon\"===f)K(c,d,r,o,i,!0);else if(\"MultiPolygon\"===f)for(var m=0;m=r&&s<=o&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function Q(e,t,r,o,i,n,s){for(var a,l,u=U(e),h=0===i?ee:te,c=e.start,f=0;fr&&(l=h(u,p,g,m,y,r),s&&(u.start=c+a*l)):v>o?x=r&&(l=h(u,p,g,m,y,r),w=!0),x>o&&v<=o&&(l=h(u,p,g,m,y,o),w=!0),!n&&w&&(s&&(u.end=c+a*l),t.push(u),u=U(e)),s&&(c+=a);}var S=e.length-3;p=e[S],g=e[S+1],d=e[S+2],(v=0===i?p:g)>=r&&v<=o&&H(u,p,g,d),S=u.length-3,n&&S>=3&&(u[S]!==u[0]||u[S+1]!==u[1])&&H(u,u[0],u[1],u[2]),u.length&&t.push(u);}function U(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function K(e,t,r,o,i,n){for(var s=0;ss.maxX&&(s.maxX=h),c>s.maxY&&(s.maxY=c);}return s}function ae(e,t,r,o){var i=t.geometry,n=t.type,s=[];if(\"Point\"===n||\"MultiPoint\"===n)for(var a=0;a0&&t.size<(i?s:o))r.numPoints+=t.length/3;else {for(var a=[],l=0;ls)&&(r.numSimplified++,a.push(t[l]),a.push(t[l+1])),r.numPoints++;i&&function(e,t){for(var r=0,o=0,i=e.length,n=i-2;o0===t)for(o=0,i=e.length;o24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var o=function(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1&&console.time(\"creation\"),f=this.tiles[c]=se(e,t,r,o,l),this.tileCoords.push({z:t,x:r,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,r,o,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++;}if(f.source=e,i){if(t===l.maxZoom||t===i)continue;var g=1<1&&console.time(\"clipping\");var d,m,y,v,x,w,S=.5*l.buffer/l.extent,M=.5-S,P=.5+S,b=1+S;d=m=y=v=null,x=R(e,h,r-S,r+P,0,f.minX,f.maxX,l),w=R(e,h,r+M,r+b,0,f.minX,f.maxX,l),e=null,x&&(d=R(x,h,o-S,o+P,1,f.minY,f.maxY,l),m=R(x,h,o+M,o+b,1,f.minY,f.maxY,l),x=null),w&&(y=R(w,h,o-S,o+P,1,f.minY,f.maxY,l),v=R(w,h,o+M,o+b,1,f.minY,f.maxY,l),w=null),u>1&&console.timeEnd(\"clipping\"),a.push(d||[],t+1,2*r,2*o),a.push(m||[],t+1,2*r,2*o+1),a.push(y||[],t+1,2*r+1,2*o),a.push(v||[],t+1,2*r+1,2*o+1);}}},ue.prototype.getTile=function(e,t,r){var o=this.options,i=o.extent,n=o.debug;if(e<0||e>24)return null;var s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,r);for(var l,u=e,h=t,c=r;!l&&u>0;)u--,h=Math.floor(h/2),c=Math.floor(c/2),l=this.tiles[he(u,h,c)];return l&&l.source?(n>1&&console.log(\"found parent tile z%d-%d-%d\",u,h,c),n>1&&console.time(\"drilling down\"),this.splitTile(l.source,u,h,c,e,t,r),n>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?ie(this.tiles[a],i):null):null};class fe extends e.VectorTileWorkerSource{constructor(e,t,r,o,i){super(e,t,r,o,ce),i&&(this.loadGeoJSON=i);}loadData(t,r){const o=t&&t.request,i=o&&o.collectResourceTiming;this.loadGeoJSON(t,((n,s)=>{if(n||!s)return r(n);if(\"object\"!=typeof s)return r(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{a(s,!0);try{if(t.filter){const r=e.createExpression(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const o=s.features.filter((e=>r.value.evaluate({zoom:0},e)));s={type:\"FeatureCollection\",features:o};}this._geoJSONIndex=t.cluster?new E(function({superclusterOptions:t,clusterProperties:r}){if(!r||!t)return t;const o={},i={},n={accumulated:null,zoom:0},s={properties:null},a=Object.keys(r);for(const t of a){const[n,s]=r[t],a=e.createExpression(s),l=e.createExpression(\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n);o[t]=a.value,i[t]=l.value;}return t.map=e=>{s.properties=e;const t={};for(const e of a)t[e]=o[e].evaluate(n,s);return t},t.reduce=(e,t)=>{s.properties=t;for(const t of a)n.accumulated=e[t],e[t]=i[t].evaluate(n,s);},t}(t)).load(s.features):function(e,t){return new ue(e,t)}(s,t.geojsonVtOptions);}catch(n){return r(n)}this.loaded={};const l={};if(i){const r=e.getPerformanceMeasurement(o);r&&(l.resourceTiming={},l.resourceTiming[t.source]=JSON.parse(JSON.stringify(r)));}r(null,l);}}));}reloadTile(e,t){const r=this.loaded;return r&&r[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,r){if(t.request)e.getJSON(t.request,r);else {if(\"string\"!=typeof t.data)return r(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));try{return r(null,JSON.parse(t.data))}catch(e){return r(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}}}class pe{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=e.getProjection({name:\"mercator\"}),this.workerSourceTypes={vector:e.VectorTileWorkerSource,geojson:fe},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=t=>{if(e.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};}clearCaches(e,t,r){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],r();}checkIfReady(e,t,r){r();}setReferrer(e,t){this.referrer=t;}spriteLoaded(t,r){this.isSpriteLoaded[t]=r;for(const o in this.workerSources[t]){const i=this.workerSources[t][o];for(const t in i)i[t]instanceof e.VectorTileWorkerSource&&(i[t].isSpriteLoaded=r,i[t].fire(new e.Event(\"isSpriteLoaded\")));}}setImages(e,t,r){this.availableImages[e]=t;for(const r in this.workerSources[e]){const o=this.workerSources[e][r];for(const e in o)o[e].availableImages=t;}r();}enableTerrain(e,t,r){this.terrain=t,r();}setProjection(t,r){this.projections[t]=e.getProjection(r);}setLayers(e,t,r){this.getLayerIndex(e).replace(t),r();}updateLayers(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r();}loadTile(t,r,o){const i=this.enableTerrain?e.extend({enableTerrain:this.terrain},r):r;i.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,r.type,r.source).loadTile(i,o);}loadDEMTile(t,r,o){const i=this.enableTerrain?e.extend({buildQuadTree:this.terrain},r):r;this.getDEMWorkerSource(t,r.source).loadTile(i,o);}reloadTile(t,r,o){const i=this.enableTerrain?e.extend({enableTerrain:this.terrain},r):r;i.projection=this.projections[t]||this.defaultProjection,this.getWorkerSource(t,r.type,r.source).reloadTile(i,o);}abortTile(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r);}removeTile(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r);}removeSource(e,t,r){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const o=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==o.removeSource?o.removeSource(t,r):r();}loadWorkerSource(e,t,r){try{this.self.importScripts(t.url),r();}catch(e){r(e.toString());}}syncRTLPluginState(t,r,o){try{e.plugin.setState(r);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const r=e.plugin.isParsed();o(r?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),r);}}catch(e){o(e.toString());}}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 o),t}getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){const o={send:(t,r,o,i,n,s)=>{this.actor.send(t,r,o,e,n,s);},scheduler:this.actor.scheduler};this.workerSources[e][t][r]=new this.workerSourceTypes[t](o,this.getLayerIndex(e),this.getAvailableImages(e),this.isSpriteLoaded[e]);}return this.workerSources[e][t][r]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new i),this.demWorkerSources[e][t]}enforceCacheSizeLimit(t,r){e.enforceCacheSizeLimit(r);}getWorkerPerformanceMetrics(e,t,r){r(void 0,void 0);}}return \"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new pe(self)),pe}));\n\ndefine([\"./shared\"],(function(e){\"use strict\";function t(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return !1;for(let o=0;o{e.window.removeEventListener(\"click\",_,!0);}),0);}function p(e,t){const i=e.getBoundingClientRect();return g(e,i,t)}function m(e,t){const i=e.getBoundingClientRect(),o=[];for(let r=0;r=0?0:t.button}function g(t,i,o){const r=t.offsetWidth===i.width?1:t.offsetWidth/i.width;return new e.Point((o.clientX-i.left)*r,(o.clientY-i.top)*r)}function v(e,t){var i=t[0],o=t[1],r=t[2],n=t[3],s=i*n-r*o;return s?(e[0]=n*(s=1/s),e[1]=-o*s,e[2]=-r*s,e[3]=i*s,e):null}function x(e){const{userImage:t}=e;return !!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class y extends e.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:e,callback:t}of this.requestors)this._notify(e,t);this.requestors=[];}}hasImage(e){return !!this.getImage(e)}getImage(e){return this.images[e]}addImage(e,t){this._validate(e,t)&&(this.images[e]=t);}_validate(t,i){let o=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new e.ErrorEvent(new Error(`Image \"${t}\" has invalid \"stretchX\" value`))),o=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new e.ErrorEvent(new Error(`Image \"${t}\" has invalid \"stretchY\" value`))),o=!1),this._validateContent(i.content,i)||(this.fire(new e.ErrorEvent(new Error(`Image \"${t}\" has invalid \"content\" value`))),o=!1),o}_validateStretch(e,t){if(!e)return !0;let i=0;for(const o of e){if(o[0]{this.ready=!0;}));}broadcast(t,i,o){e.asyncAll(this.actors,((e,o)=>{e.send(t,i,o);}),o=o||function(){});}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((e=>{e.remove();})),this.actors=[],this.workerPool.release(this.id);}}function D(t,i,o){return i*(e.EXTENT/(t.tileSize*Math.pow(2,o-t.tileID.overscaledZ)))}S.Actor=e.Actor;class L{constructor(e,t,i,o){this.screenBounds=e,this.cameraPoint=t,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,o);}static createFromScreenPoints(t,i){let o,r;if(t instanceof e.Point||\"number\"==typeof t[0]){const n=e.Point.convert(t);o=[n],r=i.isPointAboveHorizon(n);}else {const n=e.Point.convert(t[0]),s=e.Point.convert(t[1]);o=[n,s],r=e.polygonizeBounds(n,s).every((e=>i.isPointAboveHorizon(e)));}return new L(o,i.getCameraPoint(),r,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(t){return e.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],t)}bufferedCameraGeometry(t){const i=this.screenBounds[0],o=1===this.screenBounds.length?this.screenBounds[0].add(new e.Point(1,1)):this.screenBounds[1],r=e.polygonizeBounds(i,o,0,!1);return this.cameraPoint.y>o.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=o.x?r[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(r[3]=this.cameraPoint)),e.bufferConvexPolygon(r,t)}bufferedCameraGeometryGlobe(t){const i=this.screenBounds[0],o=1===this.screenBounds.length?this.screenBounds[0].add(new e.Point(1,1)):this.screenBounds[1],r=e.polygonizeBounds(i,o,t),n=this.cameraPoint.clone();switch(3*((n.y>i.y)+(n.y>o.y))+((n.x>i.x)+(n.x>o.x))){case 0:r[0]=n,r[4]=n.clone();break;case 1:r.splice(1,0,n);break;case 2:r[1]=n;break;case 3:r.splice(4,0,n);break;case 5:r.splice(2,0,n);break;case 6:r[3]=n;break;case 7:r.splice(3,0,n);break;case 8:r[2]=n;}return r}containsTile(t,i,o,r=0){const n=t.queryPadding/i._pixelsPerMercatorPixel+1,s=o?this._bufferedCameraMercator(n,i):this._bufferedScreenMercator(n,i);let a=t.tileID.wrap+(s.unwrapped?r:0);const l=s.polygon.map((i=>e.getTilePoint(t.tileTransform,i,a)));if(!e.polygonIntersectsBox(l,0,0,e.EXTENT,e.EXTENT))return;a=t.tileID.wrap+(this.screenGeometryMercator.unwrapped?r:0);const c=this.screenGeometryMercator.polygon.map((i=>e.getTileVec3(t.tileTransform,i,a))),h=c.map((t=>new e.Point(t[0],t[1]))),u=i.getFreeCameraOptions().position||new e.MercatorCoordinate(0,0,0),_=e.getTileVec3(t.tileTransform,u,a),d=c.map((t=>{const i=e.sub(t,t,_);return e.normalize(i,i),new e.Ray(_,i)})),p=D(t,1,i.zoom)*i._pixelsPerMercatorPixel;return {queryGeometry:this,tilespaceGeometry:h,tilespaceRays:d,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=e.getBounds(l),m.min.x=e.clamp(m.min.x,0,e.EXTENT),m.min.y=e.clamp(m.min.y,0,e.EXTENT),m.max.x=e.clamp(m.max.x,0,e.EXTENT),m.max.y=e.clamp(m.max.y,0,e.EXTENT),m),tile:t,tileID:t.tileID,pixelToTileUnitsFactor:p};var m;}_bufferedScreenMercator(e,t){const i=R(e);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let o;return o=\"globe\"===t.projection.name?this._projectAndResample(this.bufferedScreenGeometry(e),t):{polygon:this.bufferedScreenGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._screenRaycastCache[i]=o,o}}_bufferedCameraMercator(e,t){const i=R(e);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let o;return o=\"globe\"===t.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(e),t):{polygon:this.bufferedCameraGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._cameraRaycastCache[i]=o,o}}_projectAndResample(t,i){const o=function(t,i){const o=e.multiply([],i.pixelMatrix,i.globeMatrix),r=[0,-e.GLOBE_RADIUS,0,1],n=[0,e.GLOBE_RADIUS,0,1],s=[0,0,0,1];e.transformMat4$1(r,r,o),e.transformMat4$1(n,n,o),e.transformMat4$1(s,s,o);const a=new e.Point(r[0]/r[3],r[1]/r[3]),l=new e.Point(n[0]/n[3],n[1]/n[3]),c=e.polygonContainsPoint(t,a)&&r[3]1?A(t.slice(0,_),i):[],m=_new e.Point(z(t.x),t.y))),m=m.map((t=>new e.Point(z(t.x),t.y)));const f=[...p];0===f.length&&f.push(m[m.length-1]);const g=e.number(f[f.length-1].y,(0===m.length?p[0]:m[0]).y,d);let v;return v=c?[new e.Point(0,g),new e.Point(0,0),new e.Point(1,0),new e.Point(1,g)]:[new e.Point(1,g),new e.Point(1,1),new e.Point(0,1),new e.Point(0,g)],f.push(...v),0===m.length?f.push(p[0]):f.push(...m),{polygon:f.map((t=>new e.MercatorCoordinate(t.x,t.y))),unwrapped:!1}}(t,i);if(o)return o;const r=function(t,i){let o=!1,r=-1/0,n=0;for(let e=0;er&&(r=t[e].x,n=e);for(let e=0;e.5&&(r.x{e.x-=1;})),{polygon:t,unwrapped:o}}(A(t,i).map((t=>new e.Point(z(t.x),t.y))),i);return {polygon:r.polygon.map((t=>new e.MercatorCoordinate(t.x,t.y))),unwrapped:r.unwrapped}}}function A(t,i){return e.resample(t,(e=>{const t=i.pointCoordinate3D(e);e.x=t.x,e.y=t.y;}),1/256)}function z(e){return e<0?1+e%1:e%1}function R(e){return 100*e|0}function O(t,i,o,r,n){const s=function(o,r){if(o)return n(o);if(r){t.url&&r.tiles&&t.tiles&&delete t.tiles;const o=e.pick(e.extend(r,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);r.vector_layers&&(o.vectorLayers=r.vector_layers,o.vectorLayerIds=o.vectorLayers.map((e=>e.id))),o.tiles=i.canonicalizeTileset(o,t.url),n(null,o);}};return t.url?e.getJSON(i.transformRequest(i.normalizeSourceURL(t.url,null,o,r),e.ResourceType.Source),s):e.exported.frame((()=>s(null,t)))}class B{constructor(t,i,o){this.bounds=e.LngLatBounds.convert(this.validateBounds(t)),this.minzoom=i||0,this.maxzoom=o||24;}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),o=Math.floor(e.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(e.mercatorYfromLat(this.bounds.getNorth())*i),n=Math.ceil(e.mercatorXfromLng(this.bounds.getEast())*i),s=Math.ceil(e.mercatorYfromLat(this.bounds.getSouth())*i);return t.x>=o&&t.x=r&&t.y{this._tileJSONRequest=null,this._loaded=!0,r?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),o&&2!==o.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${o}`),this.fire(new e.ErrorEvent(r))):n&&(e.extend(this,n),n.bounds&&(this.tileBounds=new B(n.bounds,this.minzoom,this.maxzoom)),e.postTurnstileEvent(n.tiles,this.map._requestManager._customAccessToken),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))),t&&t(r);}));}loaded(){return this._loaded}hasTile(e){return !this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load();}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)));}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest();}serialize(){return e.extend({},this._options)}loadTile(t,i){const o=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(o,e.ResourceType.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:e.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:t.isSymbolTile};if(r.request.collectResourceTiming=this._collectResourceTiming,t.actor&&\"expired\"!==t.state)\"loading\"===t.state?t.reloadCallback=i:t.request=t.actor.send(\"reloadTile\",r,n.bind(this));else if(t.actor=this._tileWorkers[o]=this._tileWorkers[o]||this.dispatcher.getActor(),this.dispatcher.ready)t.request=t.actor.send(\"loadTile\",r,n.bind(this),void 0,!0);else {const i=e.loadVectorTile.call({deduped:this._deduped},r,((e,i)=>{e||!i?n.call(this,e):(r.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},t.actor&&t.actor.send(\"loadTile\",r,n.bind(this),void 0,!0));}),!0);t.request={cancel:i};}function n(o,r){return delete t.request,t.aborted?i(null):o&&404!==o.status?i(o):(r&&r.resourceTiming&&(t.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&t.setExpiryData(r),t.loadVectorData(r,this.map.painter),e.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.actor&&e.actor.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id});}unloadTile(e){e.unloadVectorData(),e.actor&&e.actor.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id});}hasTransition(){return !1}afterUpdate(){this._tileWorkers={};}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}}class Me extends e.Evented{constructor(t,i,o,r){super(),this.id=t,this.dispatcher=o,this.setEventedParent(r),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=e.extend({type:\"raster\"},i),e.extend(this,e.pick(i,[\"url\",\"scheme\",\"tileSize\"]));}load(t){this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=O(this._options,this.map._requestManager,null,null,((i,o)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new e.ErrorEvent(i)):o&&(e.extend(this,o),o.bounds&&(this.tileBounds=new B(o.bounds,this.minzoom,this.maxzoom)),e.postTurnstileEvent(o.tiles),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))),t&&t(i);}));}loaded(){return this._loaded}onAdd(e){this.map=e,this.load();}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)));}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest();}serialize(){return e.extend({},this._options)}hasTile(e){return !this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const o=e.exported.devicePixelRatio>=2,r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),o,this.tileSize);t.request=e.getImage(this.map._requestManager.transformRequest(r,e.ResourceType.Tile),((o,r,n,s)=>(delete t.request,t.aborted?(t.state=\"unloaded\",i(null)):o?(t.state=\"errored\",i(o)):r?(this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:n,expires:s}),t.setTexture(r,this.map.painter),t.state=\"loaded\",e.cacheEntryPossiblyAdded(this.dispatcher),void i(null)):i(null))));}static loadTileData(e,t,i){e.setTexture(t,i);}static unloadTileData(e,t){e.texture&&t.saveTileTexture(e.texture);}abortTile(e,t){e.request&&(e.request.cancel(),delete e.request),t();}unloadTile(e,t){e.texture&&this.map.painter.saveTileTexture(e.texture),t();}hasTransition(){return !1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}}function Ie(t,i,o,r,n,s,a,l){const c=[t,o,n,i,r,s,1,1,1],h=[a,l,1],u=e.adjoint([],c),[_,d,p]=e.transformMat3(h,h,e.transpose(u,u));return e.multiply$1(c,[_,0,0,0,d,0,0,0,p],c)}class Pe extends e.Evented{constructor(e,t,i,o){super(),this.id=e,this.dispatcher=i,this.coordinates=t.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=t,this._dirty=!1;}load(t,i){this._loaded=i||!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._imageRequest=e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),((i,o)=>{if(this._imageRequest=null,this._loaded=!0,i)this.fire(new e.ErrorEvent(i));else if(o){const{HTMLImageElement:i}=e.window;this.image=o instanceof i?e.exported.getImageData(o):o,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,t&&(this.coordinates=t),this._finishLoading();}}));}loaded(){return this._loaded}updateImage(e){return this.image&&e.url?(this._imageRequest&&e.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=e.url,this.load(e.coordinates,this._loaded),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(e){this.map=e,this.load();}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),this.texture&&this.texture.destroy();}setCoordinates(t){this.coordinates=t,this._boundsArray=void 0;const i=t.map(e.MercatorCoordinate.fromLngLat);return this.tileID=function(t){let i=1/0,o=1/0,r=-1/0,n=-1/0;for(const e of t)i=Math.min(i,e.x),o=Math.min(o,e.y),r=Math.max(r,e.x),n=Math.max(n,e.y);const s=Math.max(r-i,n-o),a=Math.max(0,Math.floor(-Math.log(s)/Math.LN2)),l=Math.pow(2,a);return new e.CanonicalTileID(a,Math.floor((i+r)/2*l),Math.floor((o+n)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z,this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}_clear(){this._boundsArray=void 0;}_prepareData(t){for(const e in this.tiles){const t=this.tiles[e];\"loaded\"!==t.state&&(t.state=\"loaded\",t.texture=this.texture);}if(this._boundsArray)return;const i=e.tileTransform(this.tileID,this.map.transform.projection),[o,r,n,s]=this.coordinates.map((t=>{const o=i.projection.project(t[0],t[1]);return e.getTilePoint(i,o)._round()}));this.perspectiveTransform=function(t,i,o,r,n,s,a,l,c,h){const u=Ie(0,0,t,0,0,i,t,i),_=Ie(o,r,n,s,a,l,c,h);return e.multiply$1(_,e.adjoint(u,u),_),[_[6]/_[8]*t/e.EXTENT,_[7]/_[8]*i/e.EXTENT]}(this.width,this.height,o.x,o.y,r.x,r.y,s.x,s.y,n.x,n.y);const a=this._boundsArray=new e.StructArrayLayout4i8;a.emplaceBack(o.x,o.y,0,0),a.emplaceBack(r.x,r.y,e.EXTENT,0),a.emplaceBack(s.x,s.y,0,e.EXTENT),a.emplaceBack(n.x,n.y,e.EXTENT,e.EXTENT),this.boundsBuffer&&this.boundsBuffer.destroy(),this.boundsBuffer=t.createVertexBuffer(a,e.boundsAttributes.members),this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2);}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this._dirty&&(this.texture?this.texture.update(this.image):(this.texture=new e.Texture(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this._dirty=!1),this._prepareData(t);}loadTile(e,t){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={},t(null)):(e.state=\"errored\",t(null));}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}const Se={vector:Ce,raster:Me,\"raster-dem\":class extends Me{constructor(t,i,o,r){super(t,i,o,r),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.extend({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\";}loadTile(t,i){const o=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function r(e,o){e&&(t.state=\"errored\",i(e)),o&&(t.dem=o,t.dem.onDeserialize(),t.needsHillshadePrepare=!0,t.needsDEMTextureUpload=!0,t.state=\"loaded\",i(null));}t.request=e.getImage(this.map._requestManager.transformRequest(o,e.ResourceType.Tile),function(o,n,s,a){if(delete t.request,t.aborted)t.state=\"unloaded\",i(null);else if(o)t.state=\"errored\",i(o);else if(n){this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:s,expires:a});const i=e.window.ImageBitmap&&n instanceof e.window.ImageBitmap&&(null==se&&(se=e.window.OffscreenCanvas&&new e.window.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof e.window.createImageBitmap),se),o=1-(n.width-e.prevPowerOfTwo(n.width))/2;o<1||t.neighboringTiles||(t.neighboringTiles=this._getNeighboringTiles(t.tileID));const l=i?n:e.exported.getImageData(n,o),c={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:l,encoding:this.encoding,padding:o};t.actor&&\"expired\"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send(\"loadDEMTile\",c,r.bind(this),void 0,!0));}}.bind(this));}_getNeighboringTiles(t){const i=t.canonical,o=Math.pow(2,i.z),r=(i.x-1+o)%o,n=0===i.x?t.wrap-1:t.wrap,s=(i.x+1+o)%o,a=i.x+1===o?t.wrap+1:t.wrap,l={};return l[new e.OverscaledTileID(t.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new e.OverscaledTileID(t.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+1{if(this._loaded=!0,this._pendingLoad=null,t)this.fire(new e.ErrorEvent(t));else {const t={dataType:\"source\",sourceDataType:this._metadataFired?\"content\":\"metadata\"};this._collectResourceTiming&&i&&i.resourceTiming&&i.resourceTiming[this.id]&&(t.resourceTiming=i.resourceTiming[this.id]),this.fire(new e.Event(\"data\",t)),this._metadataFired=!0;}this._coalesce&&(this._updateWorkerData(),this._coalesce=!1);}));}loaded(){return this._loaded}loadTile(t,i){const o=t.actor?\"reloadTile\":\"loadTile\";t.actor=this.actor,t.request=this.actor.send(o,{type:this.type,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},((e,r)=>(delete t.request,t.unloadVectorData(),t.aborted?i(null):e?i(e):(t.loadVectorData(r,this.map.painter,\"reloadTile\"===o),i(null)))),void 0,\"loadTile\"===o);}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0;}unloadTile(e){e.unloadVectorData(),this.actor.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id});}onRemove(){this._pendingLoad&&this._pendingLoad.cancel();}serialize(){return e.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}},video:class extends Pe{constructor(e,t,i,o){super(e,t,i,o),this.roundZoom=!0,this.type=\"video\",this.options=t;}load(){this._loaded=!1;const t=this.options;this.urls=[];for(const i of t.urls)this.urls.push(this.map._requestManager.transformRequest(i,e.ResourceType.Source).url);e.getVideo(this.urls,((t,i)=>{this._loaded=!0,t?this.fire(new e.ErrorEvent(t)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute(\"playsinline\",\"\"),this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading());}));}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t;}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(t);}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:Pe,canvas:class extends Pe{constructor(t,i,o,r){super(t,i,o,r),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>\"number\"!=typeof e))))||this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof e.window.HTMLCanvasElement||this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.ErrorEvent(new e.ValidationError(`sources.${t}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i);}serialize(){return {type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of [this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return !0;return !1}},custom:class extends e.Evented{constructor(t,i,o,r){super(),this.id=t,this.type=\"custom\",this._dataType=\"raster\",this._dispatcher=o,this._implementation=i,this.setEventedParent(r),this.scheme=\"xyz\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new e.ErrorEvent(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new e.ErrorEvent(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new B(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),e.extend(this,e.pick(i,[\"dataType\",\"scheme\",\"minzoom\",\"maxzoom\",\"tileSize\",\"attribution\",\"minTileCacheSize\",\"maxTileCacheSize\"]));}serialize(){return e.pick(this,[\"type\",\"scheme\",\"minzoom\",\"maxzoom\",\"tileSize\",\"attribution\"])}load(){this._loaded=!0,this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}));}loaded(){return this._loaded}onAdd(t){this._map=t,this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._implementation.onAdd&&this._implementation.onAdd(t),this.load();}onRemove(e){this._implementation.onRemove&&this._implementation.onRemove(e);}hasTile(e){if(this._implementation.hasTile){const{x:t,y:i,z:o}=e.canonical;return this._implementation.hasTile({x:t,y:i,z:o})}return !this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const{x:o,y:r,z:n}=t.tileID.canonical,s=new e.window.AbortController;t.request=Promise.resolve(this._implementation.loadTile({x:o,y:r,z:n},{signal:s.signal})).then(function(o){return delete t.request,t.aborted?(t.state=\"unloaded\",i(null)):void 0===o?(t.state=\"errored\",i(null)):null===o?(this.loadTileData(t,{width:this.tileSize,height:this.tileSize,data:null}),t.state=\"loaded\",i(null)):function(t){return t instanceof e.window.ImageData||t instanceof e.window.HTMLCanvasElement||t instanceof e.window.ImageBitmap||t instanceof e.window.HTMLImageElement}(o)?(this.loadTileData(t,o),t.state=\"loaded\",void i(null)):(t.state=\"errored\",i(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((e=>{20!==e.code&&(t.state=\"errored\",i(e));})),t.request.cancel=()=>s.abort();}loadTileData(e,t){Me.loadTileData(e,t,this._map.painter);}unloadTileData(e){Me.unloadTileData(e,this._map.painter);}unloadTile(e,t){if(this.unloadTileData(e),this._implementation.unloadTile){const{x:t,y:i,z:o}=e.tileID.canonical;this._implementation.unloadTile({x:t,y:i,z:o});}t();}abortTile(e,t){e.request&&e.request.cancel&&(e.request.cancel(),delete e.request),t();}hasTransition(){return !1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((e=>({x:e.canonical.x,y:e.canonical.y,z:e.canonical.z})))}_clearTiles(){this._map.style._clearSource(this.id);}_update(){this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}));}}},De=function(t,i,o,r){const n=new Se[i.type](t,i,o,r);if(n.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${n.id}`);return e.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],n),n};function Le(t,i){const o=e.identity([]);return e.scale(o,o,[.5*t.width,.5*-t.height,1]),e.translate(o,o,[1,-1,0]),e.multiply(o,o,t.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(o)}function Ae(e,t,i,o,r,n,s,a=!1){const l=e.tilesIn(o,s,a);l.sort(Re);const c=[];for(const o of l)c.push({wrappedTileID:o.tile.tileID.wrapped().key,queryResults:o.tile.queryRenderedFeatures(t,i,e._state,o,r,n,Le(e.transform,o.tile.tileID),a)});const h=function(e){const t={},i={};for(const o of e){const e=o.queryResults,r=o.wrappedTileID,n=i[r]=i[r]||{};for(const i in e){const o=e[i],r=n[i]=n[i]||{},s=t[i]=t[i]||[];for(const e of o)r[e.featureIndex]||(r[e.featureIndex]=!0,s.push(e));}}return t}(c);for(const t in h)h[t].forEach((t=>{const i=t.feature,o=i.layer;o&&\"background\"!==o.type&&\"sky\"!==o.type&&(i.source=o.source,o[\"source-layer\"]&&(i.sourceLayer=o[\"source-layer\"]),i.state=void 0!==i.id?e.getFeatureState(o[\"source-layer\"],i.id):{});}));return h}function ze(e,t){const i=e.getRenderableIds().map((t=>e.getTileByID(t))),o=[],r={};for(let e=0;e{e.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[Be]}numActive(){return Object.keys(this.active).length}}let Fe;function Ue(){return Fe||(Fe=new ke),Fe}function Ne(t,i){const o={};for(const e in t)\"ref\"!==e&&(o[e]=t[e]);return e.refProperties.forEach((e=>{e in i&&(o[e]=i[e]);})),o}function je(e){e=e.slice();const t=Object.create(null);for(let i=0;i0?(r-s)/a:0;return this.points[n].mult(1-l).add(this.points[i].mult(l))}}class Ke{constructor(e,t,i){const o=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(e/i),this.yCellCount=Math.ceil(t/i);for(let e=0;ethis.width||o<0||t>this.height)return !r&&[];const s=[];if(e<=0&&t<=0&&this.width<=i&&this.height<=o){if(r)return !0;for(let e=0;e0:s}_queryCircle(e,t,i,o,r){const n=e-i,s=e+i,a=t-i,l=t+i;if(s<0||n>this.width||l<0||a>this.height)return !o&&[];const c=[];return this._forEachCell(n,a,s,l,this._queryCellCircle,c,{hitTest:o,circle:{x:e,y:t,radius:i},seenUids:{box:{},circle:{}}},r),o?c.length>0:c}query(e,t,i,o,r){return this._query(e,t,i,o,!1,r)}hitTest(e,t,i,o,r){return this._query(e,t,i,o,!0,r)}hitTestCircle(e,t,i,o){return this._queryCircle(e,t,i,!0,o)}_queryCell(e,t,i,o,r,n,s,a){const l=s.seenUids,c=this.boxCells[r];if(null!==c){const r=this.bboxes;for(const h of c)if(!l.box[h]){l.box[h]=!0;const c=4*h;if(e<=r[c+2]&&t<=r[c+3]&&i>=r[c+0]&&o>=r[c+1]&&(!a||a(this.boxKeys[h]))){if(s.hitTest)return n.push(!0),!0;n.push({key:this.boxKeys[h],x1:r[c],y1:r[c+1],x2:r[c+2],y2:r[c+3]});}}}const h=this.circleCells[r];if(null!==h){const r=this.circles;for(const c of h)if(!l.circle[c]){l.circle[c]=!0;const h=3*c;if(this._circleAndRectCollide(r[h],r[h+1],r[h+2],e,t,i,o)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return n.push(!0),!0;{const e=r[h],t=r[h+1],i=r[h+2];n.push({key:this.circleKeys[c],x1:e-i,y1:t-i,x2:e+i,y2:t+i});}}}}}_queryCellCircle(e,t,i,o,r,n,s,a){const l=s.circle,c=s.seenUids,h=this.boxCells[r];if(null!==h){const e=this.bboxes;for(const t of h)if(!c.box[t]){c.box[t]=!0;const i=4*t;if(this._circleAndRectCollide(l.x,l.y,l.radius,e[i+0],e[i+1],e[i+2],e[i+3])&&(!a||a(this.boxKeys[t])))return n.push(!0),!0}}const u=this.circleCells[r];if(null!==u){const e=this.circles;for(const t of u)if(!c.circle[t]){c.circle[t]=!0;const i=3*t;if(this._circlesCollide(e[i],e[i+1],e[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[t])))return n.push(!0),!0}}}_forEachCell(e,t,i,o,r,n,s,a){const l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(o);for(let _=l;_<=h;_++)for(let l=c;l<=u;l++)if(r.call(this,e,t,i,o,this.xCellCount*l+_,n,s,a))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,i,o,r,n){const s=o-e,a=r-t,l=i+n;return l*l>s*s+a*a}_circleAndRectCollide(e,t,i,o,r,n,s){const a=(n-o)/2,l=Math.abs(e-(o+a));if(l>a+i)return !1;const c=(s-r)/2,h=Math.abs(t-(r+c));if(h>c+i)return !1;if(l<=a||h<=c)return !0;const u=l-a,_=h-c;return u*u+_*_<=i*i}}const Je={unknown:0,flipRequired:1,flipNotRequired:2},Qe=Math.tan(85*Math.PI/180);function et(t,i,o,r,n,s,a){const l=e.create();if(o)if(\"globe\"===s.name){const t=e.calculateGlobeLabelMatrix(n,i);e.multiply(l,l,t);}else {const t=v([],a);l[0]=t[0],l[1]=t[1],l[4]=t[2],l[5]=t[3],r||e.rotateZ(l,l,n.angle);}else e.multiply(l,n.labelPlaneMatrix,t);return l}function tt(e,t,i,o,r,n,s){const a=et(e,t,i,o,r,n,s);return \"globe\"===n.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function it(t,i,o,r,n,s,a){if(o){if(\"globe\"===s.name){const l=et(t,i,o,r,n,s,a);return e.invert(l,l),e.multiply(l,t,l),l}{const i=e.clone(t),o=e.identity([]);return o[0]=a[0],o[1]=a[1],o[4]=a[2],o[5]=a[3],e.multiply(i,i,o),r||e.rotateZ(i,i,-n.angle),i}}return n.glCoordMatrix}function ot(t,i,o,r){const n=[t,i,o,1];o?e.transformMat4$1(n,n,r):pt(n,n,r);const s=n[3];return n[0]/=s,n[1]/=s,n[2]/=s,n}function rt(e,t){return Math.min(.5+e/t*.5,1.5)}function nt(e,t){const i=e[0]/e[3],o=e[1]/e[3];return i>=-t[0]&&i<=t[0]&&o>=-t[1]&&o<=t[1]}function st(t,i,o,r,n,s,a,l,c,h){const u=o.transform,_=r?t.textSizeData:t.iconSizeData,d=e.evaluateSizeForZoom(_,o.transform.zoom),p=\"globe\"===u.projection.name,m=[256/o.width*2+1,256/o.height*2+1],f=r?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;f.clear();let g=null;p&&(g=r?t.text.globeExtVertexArray:t.icon.globeExtVertexArray);const v=t.lineVertexArray,x=r?t.text.placedSymbolArray:t.icon.placedSymbolArray,y=o.transform.width/o.transform.height;let b,w=!1;for(let r=0;rMath.abs(o)?{useVertical:!0}:t===e.WritingMode.vertical?r>0?{needsFlipping:!0}:null:i!==Je.unknown&&function(e,t){return 0===e||Math.abs(t/e)>Qe}(o,r)?i===Je.flipRequired?{needsFlipping:!0}:null:o<0?{needsFlipping:!0}:null}function ct(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f,g,v,x){const y=i/24,b=t.lineOffsetX*y,w=t.lineOffsetY*y,{lineStartIndex:T,glyphStartIndex:E,numGlyphs:C,segment:M,writingMode:I,flipState:P}=t,S=T+t.lineLength,D=t=>{if(u){const[i,o,r]=t.up,n=h.length;e.updateGlobeVertexNormal(u,n+0,i,o,r),e.updateGlobeVertexNormal(u,n+1,i,o,r),e.updateGlobeVertexNormal(u,n+2,i,o,r),e.updateGlobeVertexNormal(u,n+3,i,o,r);}const[i,o,r]=t.point;e.addDynamicAttributes(h,i,o,r,t.angle);};if(C>1){const e=at(y,l,b,w,o,_,d,t,c,s,p,f,!1,g,v,x);if(!e)return {notEnoughRoom:!0};if(r&&!o){let[i,o,r]=e.first.point,[n,s,l]=e.last.point;[i,o]=ot(i,o,r,a),[n,s]=ot(n,s,l,a);const c=lt(I,P,(n-i)*m,s-o);if(t.flipState=c&&c.needsFlipping?Je.flipRequired:Je.flipNotRequired,c)return c}D(e.first);for(let e=E+1;e0?s:ut(d,r,i,1,n,void 0,g,v.canonical),l=lt(I,P,(a[0]-i[0])*m,a[1]-i[1]);if(t.flipState=l&&l.needsFlipping?Je.flipRequired:Je.flipNotRequired,l)return l}const i=_t(y*l.getoffsetX(E),b,w,o,_,d,M,T,S,c,s,p,f,!1,!1,g,v,x);if(!i)return {notEnoughRoom:!0};D(i);}return {}}function ht(e,t,i,o,r){const{x:n,y:s,z:a}=o.projectTilePoint(e.x,e.y,t);if(!r)return ot(n,s,a,i);const[l,c,h]=r(e);return ot(n+l,s+c,a+h,i)}function ut(t,i,o,r,n,s,a,l){const c=ht(t.sub(i)._unit()._add(t),l,n,a,s);return e.sub(c,o,c),e.normalize(c,c),e.scaleAndAdd(c,o,c,r)}function _t(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f,g,v){const x=r?t-i:t+i;let y=x>0?1:-1,b=0;r&&(y*=-1,b=Math.PI),y<0&&(b+=Math.PI);let w=l+a+(y>0?0:1)|0,T=n,E=n,C=0,M=0;const I=Math.abs(x),P=[],S=[];let D=s,L=D;const A=()=>ut(L,D,E,I-C+1,u,d,f,g.canonical);for(;C+M<=I;){if(w+=y,w=c)return null;if(E=T,L=D,P.push(E),p&&S.push(L),D=new e.Point(h.getx(w),h.gety(w)),T=_[w],!T){const e=ht(D,g.canonical,u,f,d);T=e[3]>0?_[w]=e:A();}C+=M,M=e.distance(E,T);}m&&d&&(_[w]&&(T=A(),M=e.distance(E,T)),_[w]=T);const z=(I-C)/M,R=D.sub(L)._mult(z)._add(L),O=e.sub([],T,E),B=e.scaleAndAdd([],E,O,z);let k=[0,0,1],F=O[0],U=O[1];if(v&&(k=f.upVector(g.canonical,R.x,R.y),0!==k[0]||0!==k[1]||1!==k[2])){const t=[k[2],0,-k[0]],i=e.cross([],k,t);e.normalize(t,t),e.normalize(i,i),F=e.dot(O,t),U=e.dot(O,i);}if(o){const t=e.cross([],k,O);e.normalize(t,t),e.scaleAndAdd(B,B,t,o*y);}const N=b+Math.atan2(U,F);return P.push(B),p&&S.push(R),{point:B,angle:N,path:P,tilePath:S,up:k}}function dt(e,t){const i=t.length,o=i+4*e;t.resize(o),t.float32.fill(-1/0,4*i,4*o);}function pt(e,t,i){const o=t[0],r=t[1];return e[0]=i[0]*o+i[4]*r+i[12],e[1]=i[1]*o+i[5]*r+i[13],e[3]=i[3]*o+i[7]*r+i[15],e}const mt=100;class ft{constructor(e,t,i=new Ke(e.width+200,e.height+200,25),o=new Ke(e.width+200,e.height+200,25)){this.transform=e,this.grid=i,this.ignoredGrid=o,this.pitchfactor=Math.cos(e._pitch)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+mt,this.screenBottomBoundary=e.height+mt,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.fogState=t;}placeCollisionBox(e,t,i,o,r,n,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,h=i.projectedAnchorZ;const u=i.elevation,_=i.tileID,d=e.getProjection();if(u&&_){const[e,t,o]=d.upVector(_.canonical,i.tileAnchorX,i.tileAnchorY),r=d.upVectorScale(_.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=e*u*r,c+=t*u*r,h+=o*u*r;}const p=this.projectAndGetPerspectiveRatio(s,l,c,h,i.tileID,\"globe\"===d.name||!!u||this.transform.pitch>0,d),m=n*p.perspectiveRatio,f=(i.x1*t+o.x-i.padding)*m+p.point.x,g=(i.y1*t+o.y-i.padding)*m+p.point.y,v=(i.x2*t+o.x+i.padding)*m+p.point.x,x=(i.y2*t+o.y+i.padding)*m+p.point.y,y=p.perspectiveRatio<=.55||p.occluded;return !this.isInsideGrid(f,g,v,x)||!r&&this.grid.hitTest(f,g,v,x,a)||y?{box:[],offscreen:!1,occluded:p.occluded}:{box:[f,g,v,x],offscreen:this.isOffscreen(f,g,v,x),occluded:!1}}placeCollisionCircles(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m){const f=[],g=this.transform.elevation,v=t.getProjection(),x=g?g.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,v):null,y=new e.Point(o.tileAnchorX,o.tileAnchorY);let{x:b,y:w,z:T}=v.projectTilePoint(y.x,y.y,m.canonical);if(x){const[e,t,i]=x(y);b+=e,w+=t,T+=i;}const E=\"globe\"===v.name,C=this.projectAndGetPerspectiveRatio(a,b,w,T,m,E||!!g||this.transform.pitch>0,v),{perspectiveRatio:M}=C,I=(u?s/M:s*M)/e.ONE_EM,P=ot(b,w,T,l),S=C.signedDistanceFromCamera>0?at(I,n,o.lineOffsetX*I,o.lineOffsetY*I,!1,P,y,o,r,l,{},g&&!u?x:null,u&&!!g,v,m,u):null;let D=!1,L=!1,A=!0;if(S&&!C.occluded){const t=.5*d*M+p,o=new e.Point(-100,-100),r=new e.Point(this.screenRightBoundary,this.screenBottomBoundary),n=new Ye,{first:s,last:a}=S,l=s.path.length;let u=[];for(let e=l-1;e>=1;e--)u.push(s.path[e]);for(let e=1;e(x&&!E&&(i=x(oe[3]<=0))&&(u=[]));let g=[];if(u.length>0){let t=1/0,i=-1/0,n=1/0,s=-1/0;for(const e of u)t=Math.min(t,e[0]),n=Math.min(n,e[1]),i=Math.max(i,e[0]),s=Math.max(s,e[1]);i>=o.x&&t<=r.x&&s>=o.y&&n<=r.y&&(g=[u.map((t=>new e.Point(t[0],t[1])))],(tr.x||nr.y)&&(g=e.clipLine(g,o.x,o.y,r.x,r.y)));}for(const e of g){n.reset(e,.25*t);let o=0;o=n.length<=.5*t?1:Math.ceil(n.paddedLength/m)+1;for(let e=0;e0){if(e.transformMat4$1(l,l,t),this.fogState&&n&&\"globe\"!==a.name){const t=function(t,i,o,r,n,s){const a=s.calculateFogTileMatrix(n),l=[i,o,r];return e.transformMat4(l,l,a),C(t,l,s.pitch,s._fov)}(this.fogState,i,o,r,n.toUnwrapped(),this.transform);c=t>.9;}}else pt(l,l,t);const h=l[3];return {point:new e.Point((l[0]/h+1)/2*this.transform.width+mt,(-l[1]/h+1)/2*this.transform.height+mt),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/h*.5,1.5),signedDistanceFromCamera:h,occluded:s&&l[2]>h||c}}isOffscreen(e,t,i,o){return i=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(e,t,i,o){return i>=0&&e=0&&te.collisionGroupID===t};}return this.collisionGroups[e]}}function Mt(t,i,o,r,n){const{horizontalAlign:s,verticalAlign:a}=e.getAnchorAlignment(t),l=-(s-.5)*i,c=-(a-.5)*o,h=e.evaluateVariableOffset(t,r);return new e.Point(l+h[0]*n,c+h[1]*n)}function It(t,i,o,r,n){const s=new e.Point(t,i);return o&&s._rotate(r?n:-n),s}class Pt{constructor(e,t,i,o,r){this.transform=e.clone(),this.projection=e.projection.name,this.collisionIndex=new ft(this.transform,r),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=t,this.retainedQueryData={},this.collisionGroups=new Ct(i),this.collisionCircleArrays={},this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};}getBucketParts(t,i,o,r){const n=o.getBucket(i),s=o.latestFeatureIndex;if(!n||!s||i.id!==n.layerIds[0])return;const a=n.layers[0].layout,l=o.collisionBoxArray,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),h=o.tileSize/e.EXTENT,u=o.tileID.toUnwrapped();this.transform.setProjection(n.projection);const _=(d=o.tileID,p=n.getProjection(),m=this.transform,p.name===this.projection?m.calculateProjMatrix(d.toUnwrapped()):gt(m,p,d));var d,p,m;const f=\"map\"===a.get(\"text-pitch-alignment\"),g=\"map\"===a.get(\"text-rotation-alignment\");i.compileFilter();const v=i.dynamicFilter(),x=i.dynamicFilterNeedsFeature(),y=this.transform.calculatePixelsToTileUnitsMatrix(o),b=tt(_,o.tileID.canonical,f,g,this.transform,n.getProjection(),y);let w=null;if(f){const t=it(_,o.tileID.canonical,f,g,this.transform,n.getProjection(),y);w=e.multiply([],this.transform.labelPlaneMatrix,t);}let T=null;v&&o.latestFeatureIndex&&(T={unwrappedTileID:u,dynamicFilter:v,dynamicFilterNeedsFeature:x,featureIndex:o.latestFeatureIndex}),this.retainedQueryData[n.bucketInstanceId]=new Et(n.bucketInstanceId,s,n.sourceLayerIndex,n.index,o.tileID);const E={bucket:n,layout:a,posMatrix:_,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:T,scale:c,textPixelRatio:h,holdingForFade:o.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:e.evaluateSizeForZoom(n.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:e.evaluateSizeForZoom(n.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(n.sourceID)};if(r)for(const e of n.sortKeyRanges){const{sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:r}=e;t.push({sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:r,parameters:E});}else t.push({symbolInstanceStart:0,symbolInstanceEnd:n.symbolInstances.length,parameters:E});}attemptAnchorPlacement(e,t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f,g){const{textOffset0:v,textOffset1:x,crossTileID:y}=u,b=[v,x],w=Mt(e,i,o,b,r),T=this.collisionIndex.placeCollisionBox(d,r,t,It(w.x,w.y,n,s,this.transform.angle),h,a,l,c.predicate);if(m){const e=d.getSymbolInstanceIconSize(g,this.transform.zoom,u.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(d,e,m,It(w.x,w.y,n,s,this.transform.angle),h,a,l,c.predicate).box.length)return}if(T.box.length>0){let t;return this.prevPlacement&&this.prevPlacement.variableOffsets[y]&&this.prevPlacement.placements[y]&&this.prevPlacement.placements[y].text&&(t=this.prevPlacement.variableOffsets[y].anchor),this.variableOffsets[y]={textOffset:b,width:i,height:o,anchor:e,textScale:r,prevAnchor:t},this.markUsedJustification(d,e,u,p),d.allowVerticalPlacement&&(this.markUsedOrientation(d,p,u),this.placedOrientations[y]=p),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,o,r){const{bucket:n,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:h,textPixelRatio:u,holdingForFade:_,collisionBoxArray:d,partiallyEvaluatedTextSize:p,partiallyEvaluatedIconSize:m,collisionGroup:f}=t.parameters,g=s.get(\"text-optional\"),v=s.get(\"icon-optional\"),x=s.get(\"text-allow-overlap\"),y=s.get(\"icon-allow-overlap\"),b=\"map\"===s.get(\"text-rotation-alignment\"),w=\"map\"===s.get(\"text-pitch-alignment\"),T=\"none\"!==s.get(\"icon-text-fit\"),E=\"viewport-y\"===s.get(\"symbol-z-order\");this.transform.setProjection(n.projection);let C=x&&(y||!n.hasIconData()||v),M=y&&(x||!n.hasTextData()||g);!n.collisionArrays&&d&&n.deserializeCollisionBoxes(d),o&&r&&n.updateCollisionDebugBuffers(this.transform.zoom,d);const I=(t,r,d)=>{const{crossTileID:E,numVerticalGlyphVertices:I}=t;if(h){const o={zoom:this.transform.zoom,pitch:this.transform.pitch};let r=null;if(h.dynamicFilterNeedsFeature){const e=this.retainedQueryData[n.bucketInstanceId];r=h.featureIndex.loadFeature({featureIndex:t.featureIndex,bucketIndex:e.bucketIndex,sourceLayerIndex:e.sourceLayerIndex,layoutVertexArrayOffset:0});}if(!(0,h.dynamicFilter)(o,r,this.retainedQueryData[n.bucketInstanceId].tileID.canonical,new e.Point(t.tileAnchorX,t.tileAnchorY),this.transform.calculateDistanceTileData(h.unwrappedTileID)))return this.placements[E]=new wt(!1,!1,!1,!0),void i.add(E)}if(i.has(E))return;if(_)return void(this.placements[E]=new wt(!1,!1,!1));let P=!1,S=!1,D=!0,L=!1,A=!1,z=null,R={box:null,offscreen:null,occluded:null},O={box:null,offscreen:null,occluded:null},B=null,k=null,F=null,U=0,N=0,j=0;d.textFeatureIndex?U=d.textFeatureIndex:t.useRuntimeCollisionCircles&&(U=t.featureIndex),d.verticalTextFeatureIndex&&(N=d.verticalTextFeatureIndex);const G=e=>{e.tileID=this.retainedQueryData[n.bucketInstanceId].tileID;const t=this.transform.elevation;(t||e.elevation)&&(e.elevation=t?t.getAtTileOffset(e.tileID,e.tileAnchorX,e.tileAnchorY):0);},Z=d.textBox;if(Z){G(Z);const i=i=>{let o=e.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[E];e&&(this.placedOrientations[E]=e,o=e,this.markUsedOrientation(n,o,t));}return o},o=(t,i)=>{if(n.allowVerticalPlacement&&I>0&&d.verticalTextBox){for(const o of n.writingModes)if(o===e.WritingMode.vertical?(R=i(),O=R):R=t(),R&&R.box&&R.box.length)break}else R=t();};if(s.get(\"text-variable-anchor\")){let l=s.get(\"text-variable-anchor\");if(this.prevPlacement&&this.prevPlacement.variableOffsets[E]){const e=this.prevPlacement.variableOffsets[E];l.indexOf(e.anchor)>0&&(l=l.filter((t=>t!==e.anchor)),l.unshift(e.anchor));}const c=(e,i,o)=>{const s=n.getSymbolInstanceTextSize(p,t,this.transform.zoom,r),c=(e.x2-e.x1)*s+2*e.padding,h=(e.y2-e.y1)*s+2*e.padding,_=T&&!y?i:null;_&&G(_);let d={box:[],offscreen:!1,occluded:!1};const g=x?2*l.length:l.length;for(let i=0;i=l.length,t,r,n,o,_,p,m);if(g&&(d=g.placedGlyphBoxes,d&&d.box&&d.box.length)){P=!0,z=g.shift;break}}return d};o((()=>c(Z,d.iconBox,e.WritingMode.horizontal)),(()=>{const t=d.verticalTextBox;return t&&G(t),n.allowVerticalPlacement&&!(R&&R.box&&R.box.length)&&I>0&&t?c(t,d.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null,occluded:null}})),R&&(P=R.box,D=R.offscreen,L=R.occluded);const h=i(!(!R||!R.box));if(!P&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[E];e&&(this.variableOffsets[E]=e,this.markUsedJustification(n,e.anchor,t,h));}}else {const s=(i,o)=>{const s=n.getSymbolInstanceTextSize(p,t,this.transform.zoom,r),l=this.collisionIndex.placeCollisionBox(n,s,i,new e.Point(0,0),x,u,a,f.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(n,o,t),this.placedOrientations[E]=o),l};o((()=>s(Z,e.WritingMode.horizontal)),(()=>{const t=d.verticalTextBox;return n.allowVerticalPlacement&&I>0&&t?(G(t),s(t,e.WritingMode.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(R&&R.box&&R.box.length));}}if(B=R,P=B&&B.box&&B.box.length>0,D=B&&B.offscreen,L=B&&B.occluded,t.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex),r=e.evaluateSizeForFeature(n.textSizeData,p,i),h=s.get(\"text-padding\");k=this.collisionIndex.placeCollisionCircles(n,x,i,n.lineVertexArray,n.glyphOffsetArray,r,a,l,c,o,w,f.predicate,t.collisionCircleDiameter*r/e.ONE_EM,h,this.retainedQueryData[n.bucketInstanceId].tileID),P=x||k.circles.length>0&&!k.collisionDetected,D=D&&k.offscreen,L=k.occluded;}if(d.iconFeatureIndex&&(j=d.iconFeatureIndex),d.iconBox){const i=i=>{G(i);const o=T&&z?It(z.x,z.y,b,w,this.transform.angle):new e.Point(0,0),r=n.getSymbolInstanceIconSize(m,this.transform.zoom,t.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(n,r,i,o,y,u,a,f.predicate)};O&&O.box&&O.box.length&&d.verticalIconBox?(F=i(d.verticalIconBox),S=F.box.length>0):(F=i(d.iconBox),S=F.box.length>0),D=D&&F.offscreen,A=F.occluded;}const V=g||0===t.numHorizontalGlyphVertices&&0===I,W=v||0===t.numIconVertices;if(V||W?W?V||(S=S&&P):P=S&&P:S=P=S&&P,P&&B&&B.box&&this.collisionIndex.insertCollisionBox(B.box,s.get(\"text-ignore-placement\"),n.bucketInstanceId,O&&O.box&&N?N:U,f.ID),S&&F&&this.collisionIndex.insertCollisionBox(F.box,s.get(\"icon-ignore-placement\"),n.bucketInstanceId,j,f.ID),k&&(P&&this.collisionIndex.insertCollisionCircles(k.circles,s.get(\"text-ignore-placement\"),n.bucketInstanceId,U,f.ID),o)){const e=n.bucketInstanceId;let t=this.collisionCircleArrays[e];void 0===t&&(t=this.collisionCircleArrays[e]=new Tt);for(let e=0;e=0;--t){const i=e[t];I(n.symbolInstances.get(i),i,n.collisionArrays[i]);}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(n).crossTileID=u>=0&&n!==u?0:c),s>=0&&(t.text.placedSymbolArray.get(s).crossTileID=u>=0&&s!==u?0:c),a>=0&&(t.text.placedSymbolArray.get(a).crossTileID=u>=0&&a!==u?0:c),l>=0&&(t.text.placedSymbolArray.get(l).crossTileID=u>=0&&l!==u?0:c);}markUsedOrientation(t,i,o){const r=i===e.WritingMode.horizontal||i===e.WritingMode.horizontalOnly?i:0,n=i===e.WritingMode.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=o,h=t.text.placedSymbolArray;s>=0&&(h.get(s).placedOrientation=r),a>=0&&(h.get(a).placedOrientation=r),l>=0&&(h.get(l).placedOrientation=r),c>=0&&(h.get(c).placedOrientation=n);}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const t=this.prevPlacement;let i=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;const o=t?t.symbolFadeChange(e):1,r=t?t.opacities:{},n=t?t.variableOffsets:{},s=t?t.placedOrientations:{};for(const e in this.placements){const t=this.placements[e],n=r[e];n?(this.opacities[e]=new bt(n,o,t.text,t.icon,null,t.clipped),i=i||t.text!==n.text.placed||t.icon!==n.icon.placed):(this.opacities[e]=new bt(null,o,t.text,t.icon,t.skipFade,t.clipped),i=i||t.text||t.icon);}for(const e in r){const t=r[e];if(!this.opacities[e]){const r=new bt(t,o,!1,!1);r.isHidden()||(this.opacities[e]=r,i=i||t.text.placed||t.icon.placed);}}for(const e in n)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=n[e]);for(const e in s)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=s[e]);i?this.lastPlacementChangeTime=e:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e);}updateLayerOpacities(e,t){const i=new Set;for(const o of t){const t=o.getBucket(e);t&&o.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,i,o.collisionBoxArray);}}updateBucketOpacities(t,i,o){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const r=t.layers[0].layout,n=!!t.layers[0].dynamicFilter(),s=new bt(null,0,!1,!1,!0),a=r.get(\"text-allow-overlap\"),l=r.get(\"icon-allow-overlap\"),c=r.get(\"text-variable-anchor\"),h=\"map\"===r.get(\"text-rotation-alignment\"),u=\"map\"===r.get(\"text-pitch-alignment\"),_=\"none\"!==r.get(\"icon-text-fit\"),d=new bt(null,0,a&&(l||!t.hasIconData()||r.get(\"icon-optional\")),l&&(a||!t.hasTextData()||r.get(\"text-optional\")),!0);!t.collisionArrays&&o&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(o);const p=(e,t,i)=>{for(let o=0;o0||l>0,b=g>0,w=this.placedOrientations[f],T=w===e.WritingMode.vertical,E=w===e.WritingMode.horizontal||w===e.WritingMode.horizontalOnly;if(!y&&!b||x.isHidden()||m++,y){const e=kt(x.text);p(t.text,a,T?Ft:e),p(t.text,l,E?Ft:e);const i=x.text.isHidden(),{leftJustifiedTextSymbolIndex:o,centerJustifiedTextSymbolIndex:n,rightJustifiedTextSymbolIndex:s,verticalPlacedTextSymbolIndex:c}=r,h=t.text.placedSymbolArray,u=i||T?1:0;o>=0&&(h.get(o).hidden=u),n>=0&&(h.get(n).hidden=u),s>=0&&(h.get(s).hidden=u),c>=0&&(h.get(c).hidden=i||E?1:0);const _=this.variableOffsets[f];_&&this.markUsedJustification(t,_.anchor,r,w);const d=this.placedOrientations[f];d&&(this.markUsedJustification(t,\"left\",r,d),this.markUsedOrientation(t,d,r));}if(b){const e=kt(x.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:o}=r,n=t.icon.placedSymbolArray,s=x.icon.isHidden()?1:0;i>=0&&(p(t.icon,g,T?Ft:e),n.get(i).hidden=s),o>=0&&(p(t.icon,r.numVerticalIconVertices,E?Ft:e),n.get(o).hidden=s);}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const i=t.collisionArrays[o];if(i){let o=new e.Point(0,0),r=!0;if(i.textBox||i.verticalTextBox){if(c){const e=this.variableOffsets[f];e?(o=Mt(e.anchor,e.width,e.height,e.textOffset,e.textScale),h&&o._rotate(u?this.transform.angle:-this.transform.angle)):r=!1;}n&&(r=!x.clipped),i.textBox&&St(t.textCollisionBox.collisionVertexArray,x.text.placed,!r||T,o.x,o.y),i.verticalTextBox&&St(t.textCollisionBox.collisionVertexArray,x.text.placed,!r||E,o.x,o.y);}const s=r&&Boolean(!E&&i.verticalIconBox);i.iconBox&&St(t.iconCollisionBox.collisionVertexArray,x.icon.placed,s,_?o.x:0,_?o.y:0),i.verticalIconBox&&St(t.iconCollisionBox.collisionVertexArray,x.icon.placed,!s,_?o.x:0,_?o.y:0);}}}if(t.fullyClipped=0===m,t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId];}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0;}}function St(e,t,i,o,r){e.emplaceBack(t?1:0,i?1:0,o||0,r||0),e.emplaceBack(t?1:0,i?1:0,o||0,r||0),e.emplaceBack(t?1:0,i?1:0,o||0,r||0),e.emplaceBack(t?1:0,i?1:0,o||0,r||0);}const Dt=Math.pow(2,25),Lt=Math.pow(2,24),At=Math.pow(2,17),zt=Math.pow(2,16),Rt=Math.pow(2,9),Ot=Math.pow(2,8),Bt=Math.pow(2,1);function kt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;const t=e.placed?1:0,i=Math.floor(127*e.opacity);return i*Dt+t*Lt+i*At+t*zt+i*Rt+t*Ot+i*Bt+t}const Ft=0;class Ut{constructor(e){this._sortAcrossTiles=\"viewport-y\"!==e.layout.get(\"symbol-z-order\")&&void 0!==e.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[];}continuePlacement(e,t,i,o,r){const n=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex{const t=e.exported.now()-r;return !this._forceFullPlacement&&t>2};for(;this._currentPlacementIndex>=0;){const e=i[t[this._currentPlacementIndex]],r=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===e.type&&(!e.minzoom||e.minzoom<=r)&&(!e.maxzoom||e.maxzoom>r)){if(this._inProgressLayer||(this._inProgressLayer=new Ut(e)),this._inProgressLayer.continuePlacement(o[e.source],this.placement,this._showCollisionBoxes,e,n))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(e){return this.placement.commit(e),this.placement}}const jt=512/e.EXTENT/2;class Gt{constructor(t,i,o){this.tileID=t,this.bucketInstanceId=o,this.index=new e.KDBush(i.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const r=t.canonical.x*e.EXTENT,n=t.canonical.y*e.EXTENT;for(let e=0;ee.overscaledZ)for(const i in r){const n=r[i];n.tileID.isChildOf(e)&&n.findMatches(t.symbolInstances,e,o);}else {const n=r[e.scaledTo(Number(i)).key];n&&n.findMatches(t.symbolInstances,e,o);}}for(let e=0;e{t[e]=!0;}));for(const e in this.layerIndexes)t[e]||delete this.layerIndexes[e];}}const Xt=(t,i)=>e.emitValidationErrors(t,i&&i.filter((e=>\"source.canvas\"!==e.identifier))),qt=e.pick(Ge,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setTerrain\",\"setFog\",\"setProjection\"]),$t=e.pick(Ge,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ht={version:8,layers:[],sources:{}},Yt={fill:!0,line:!0,background:!0,hillshade:!0,raster:!0};class Kt extends e.Evented{constructor(t,i={}){super(),this.map=t,this.dispatcher=new S(Ue(),this),this.imageManager=new y,this.imageManager.setEventedParent(this),this.glyphManager=new e.GlyphManager(t._requestManager,i.localFontFamily?e.LocalGlyphMode.all:i.localIdeographFontFamily?e.LocalGlyphMode.ideographs:e.LocalGlyphMode.none,i.localFontFamily||i.localIdeographFontFamily),this.crossTileSymbolIndex=new Wt,this._layers={},this._num3DLayers=0,this._numSymbolLayers=0,this._numCircleLayers=0,this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._availableImages=[],this._order=[],this._drapedFirstOrder=[],this._markersNeedUpdate=!1,this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",e.getReferrer());const o=this;this._rtlTextPluginCallback=Kt.registerForPluginStateChange((t=>{o.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},((t,i)=>{if(e.triggerPluginCompletionEvent(t),i&&i.every((e=>e)))for(const e in o._sourceCaches){const t=o._sourceCaches[e],i=t.getSource().type;\"vector\"!==i&&\"geojson\"!==i||t.reload();}}));})),this.on(\"data\",(e=>{if(\"source\"!==e.dataType||\"metadata\"!==e.sourceDataType)return;const t=this.getSource(e.sourceId);if(t&&t.vectorLayerIds)for(const e in this._layers){const i=this._layers[e];i.source===t.id&&this._validateLayer(i);}}));}loadURL(t,i={}){this.fire(new e.Event(\"dataloading\",{dataType:\"style\"}));const o=\"boolean\"==typeof i.validate?i.validate:!e.isMapboxURL(t);t=this.map._requestManager.normalizeStyleURL(t,i.accessToken);const r=this.map._requestManager.transformRequest(t,e.ResourceType.Style);this._request=e.getJSON(r,((t,i)=>{this._request=null,t?this.fire(new e.ErrorEvent(t)):i&&this._load(i,o);}));}loadJSON(t,i={}){this.fire(new e.Event(\"dataloading\",{dataType:\"style\"})),this._request=e.exported.frame((()=>{this._request=null,this._load(t,!1!==i.validate);}));}loadEmpty(){this.fire(new e.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ht,!1);}_updateLayerCount(e,t){const i=t?1:-1;e.is3D()&&(this._num3DLayers+=i),\"circle\"===e.type&&(this._numCircleLayers+=i),\"symbol\"===e.type&&(this._numSymbolLayers+=i);}_load(t,i){if(i&&Xt(this,e.validateStyle(t)))return;this._loaded=!0,this.stylesheet=e.clone$1(t),this._updateMapProjection();for(const e in t.sources)this.addSource(e,t.sources[e],{validate:!1});this._changed=!1,t.sprite?this._loadSprite(t.sprite):(this.imageManager.setLoaded(!0),this.dispatcher.broadcast(\"spriteLoaded\",!0)),this.glyphManager.setURL(t.glyphs);const o=je(this.stylesheet.layers);this._order=o.map((e=>e.id)),this._layers={},this._serializedLayers={};for(const t of o){const i=e.createStyleLayer(t);i.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=i,this._serializedLayers[i.id]=i.serialize(),this._updateLayerCount(i,!0);}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.stylesheet.terrain&&!this.terrainSetForDrapingOnly()&&this._createTerrain(this.stylesheet.terrain,1),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this._updateDrapeFirstLayers(),this.fire(new e.Event(\"data\",{dataType:\"style\"})),this.fire(new e.Event(\"style.load\"));}terrainSetForDrapingOnly(){return !!this.terrain&&0===this.terrain.drapeRenderMode}setProjection(e){e?this.stylesheet.projection=e:delete this.stylesheet.projection,this._updateMapProjection();}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast(\"setProjection\",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?this.getTerrain()||this.stylesheet.terrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null));}_updateMapProjection(){this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.stylesheet.projection);}_loadSprite(t){this._spriteRequest=function(t,i,o){let r,n,s;const a=e.exported.devicePixelRatio>1?\"@2x\":\"\";let l=e.getJSON(i.transformRequest(i.normalizeSpriteURL(t,a,\".json\"),e.ResourceType.SpriteJSON),((e,t)=>{l=null,s||(s=e,r=t,h());})),c=e.getImage(i.transformRequest(i.normalizeSpriteURL(t,a,\".png\"),e.ResourceType.SpriteImage),((e,t)=>{c=null,s||(s=e,n=t,h());}));function h(){if(s)o(s);else if(r&&n){const t=e.exported.getImageData(n),i={};for(const o in r){const{width:n,height:s,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:_,content:d}=r[o],p=new e.RGBAImage({width:n,height:s});e.RGBAImage.copy(t,p,{x:a,y:l},{x:0,y:0},{width:n,height:s}),i[o]={data:p,pixelRatio:h,sdf:c,stretchX:u,stretchY:_,content:d};}o(null,i);}}return {cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null);}}}(t,this.map._requestManager,((t,i)=>{if(this._spriteRequest=null,t)this.fire(new e.ErrorEvent(t));else if(i)for(const e in i)this.imageManager.addImage(e,i[e]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.dispatcher.broadcast(\"spriteLoaded\",!0),this.fire(new e.Event(\"data\",{dataType:\"style\"}));}));}_validateLayer(t){const i=this.getSource(t.source);if(!i)return;const o=t.sourceLayer;o&&(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(o))&&this.fire(new e.ErrorEvent(new Error(`Source layer \"${o}\" does not exist on source \"${i.id}\" as specified by style layer \"${t.id}\"`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const e in this._sourceCaches)if(!this._sourceCaches[e].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeLayers(e){const t=[];for(const i of e){const e=this._layers[i];\"custom\"!==e.type&&t.push(e.serialize());}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;if(this.fog&&this.fog.hasTransition())return !0;for(const e in this._sourceCaches)if(this._sourceCaches[e].hasTransition())return !0;for(const e in this._layers)if(this._layers[e].hasTransition())return !0;return !1}get order(){return this.map._optimizeForTerrain&&this.terrain?this._drapedFirstOrder:this._order}isLayerDraped(e){return !!this.terrain&&(\"function\"==typeof e.isLayerDraped?e.isLayerDraped():Yt[e.type])}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading\")}update(t){if(!this._loaded)return;const i=this._changed;if(this._changed){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const e in this._updatedSources){const t=this._updatedSources[e];\"reload\"===t?this._reloadSource(e):\"clear\"===t&&this._clearSource(e);}this._updateTilesForChangedImages();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.fog&&this.fog.updateTransitions(t),this._resetUpdates();}const o={};for(const e in this._sourceCaches){const t=this._sourceCaches[e];o[e]=t.used,t.used=!1;}for(const e of this._order){const i=this._layers[e];if(i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)){const e=this._getLayerSourceCache(i);e&&(e.used=!0);}const o=this.map.painter;if(o){const e=i.getProgramIds();if(!e)continue;const r=i.getProgramConfiguration(t.zoom);for(const t of e)o.useProgram(t,r);}}for(const t in o){const i=this._sourceCaches[t];o[t]!==i.used&&i.getSource().fire(new e.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:i.getSource().id}));}this.light.recalculate(t),this.terrain&&this.terrain.recalculate(t),this.fog&&this.fog.recalculate(t),this.z=t.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),i&&this.fire(new e.Event(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const e=Object.keys(this._changedImages);if(e.length){for(const t in this._sourceCaches)this._sourceCaches[t].reloadTilesForDependencies([\"icons\",\"patterns\"],e);this._changedImages={};}}_updateWorkerLayers(e,t){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};}setState(i){if(this._checkLoaded(),Xt(this,e.validateStyle(i)))return !1;(i=e.clone$1(i)).layers=je(i.layers);const o=function(e,i){if(!e)return [{command:Ge.setStyle,args:[i]}];let o=[];try{if(!t(e.version,i.version))return [{command:Ge.setStyle,args:[i]}];t(e.center,i.center)||o.push({command:Ge.setCenter,args:[i.center]}),t(e.zoom,i.zoom)||o.push({command:Ge.setZoom,args:[i.zoom]}),t(e.bearing,i.bearing)||o.push({command:Ge.setBearing,args:[i.bearing]}),t(e.pitch,i.pitch)||o.push({command:Ge.setPitch,args:[i.pitch]}),t(e.sprite,i.sprite)||o.push({command:Ge.setSprite,args:[i.sprite]}),t(e.glyphs,i.glyphs)||o.push({command:Ge.setGlyphs,args:[i.glyphs]}),t(e.transition,i.transition)||o.push({command:Ge.setTransition,args:[i.transition]}),t(e.light,i.light)||o.push({command:Ge.setLight,args:[i.light]}),t(e.fog,i.fog)||o.push({command:Ge.setFog,args:[i.fog]}),t(e.projection,i.projection)||o.push({command:Ge.setProjection,args:[i.projection]});const r={},n=[];!function(e,i,o,r){let n;for(n in i=i||{},e=e||{})e.hasOwnProperty(n)&&(i.hasOwnProperty(n)||Ve(n,o,r));for(n in i){if(!i.hasOwnProperty(n))continue;const s=i[n];e.hasOwnProperty(n)?t(e[n],s)||(\"geojson\"===e[n].type&&\"geojson\"===s.type&&Xe(e,i,n)?o.push({command:Ge.setGeoJSONSourceData,args:[n,s.data]}):We(n,i,o,r)):Ze(n,i,o);}}(e.sources,i.sources,n,r);const s=[];e.layers&&e.layers.forEach((e=>{e.source&&r[e.source]?o.push({command:Ge.removeLayer,args:[e.id]}):s.push(e);}));let a=e.terrain;a&&r[a.source]&&(o.push({command:Ge.setTerrain,args:[void 0]}),a=void 0),o=o.concat(n),t(a,i.terrain)||o.push({command:Ge.setTerrain,args:[i.terrain]}),function(e,i,o){i=i||[];const r=(e=e||[]).map($e),n=i.map($e),s=e.reduce(He,{}),a=i.reduce(He,{}),l=r.slice(),c=Object.create(null);let h,u,_,d,p,m,f;for(h=0,u=0;h!(e.command in $t)));if(0===o.length)return !1;const r=o.filter((e=>!(e.command in qt)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((e=>e.command)).join(\", \")}.`);return o.forEach((e=>{\"setTransition\"!==e.command&&\"setProjection\"!==e.command&&this[e.command].apply(this,e.args);})),this.stylesheet=i,this._updateMapProjection(),!0}addImage(t,i){return this.getImage(t)?this.fire(new e.ErrorEvent(new Error(\"An image with this name already exists.\"))):(this.imageManager.addImage(t,i),this._afterImageUpdated(t),this)}updateImage(e,t){this.imageManager.updateImage(e,t);}getImage(e){return this.imageManager.getImage(e)}removeImage(t){return this.getImage(t)?(this.imageManager.removeImage(t),this._afterImageUpdated(t),this):this.fire(new e.ErrorEvent(new Error(\"No image with this name exists.\")))}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new e.Event(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this._availableImages.slice()}addSource(t,i,o={}){if(this._checkLoaded(),void 0!==this.getSource(t))throw new Error(\"There is already a source with this ID\");if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(e.validateSource,`sources.${t}`,i,null,o))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const r=De(t,i,this.dispatcher,this);r.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(t),source:r.serialize(),sourceId:t})));const n=i=>{const o=(i?\"symbol:\":\"other:\")+t,n=this._sourceCaches[o]=new e.SourceCache(o,r,i);(i?this._symbolSourceCaches:this._otherSourceCaches)[t]=n,n.style=this,n.onAdd(this.map);};n(!1),\"vector\"!==i.type&&\"geojson\"!==i.type||n(!0),r.onAdd&&r.onAdd(this.map),this._changed=!0;}removeSource(t){this._checkLoaded();const i=this.getSource(t);if(!i)throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.ErrorEvent(new Error(`Source \"${t}\" cannot be removed while layer \"${i}\" is using it.`)));if(this.terrain&&this.terrain.get().source===t)return this.fire(new e.ErrorEvent(new Error(`Source \"${t}\" cannot be removed while terrain is using it.`)));const o=this._getSourceCaches(t);for(const t of o)delete this._sourceCaches[t.id],delete this._updatedSources[t.id],t.fire(new e.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t.getSource().id})),t.setEventedParent(null),t.clearTiles();return delete this._otherSourceCaches[t],delete this._symbolSourceCaches[t],i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changed=!0,this}setGeoJSONSourceData(e,t){this._checkLoaded(),this.getSource(e).setData(t),this._changed=!0;}getSource(e){const t=this._getSourceCache(e);return t&&t.getSource()}_getSources(){const e=[];for(const t in this._otherSourceCaches){const i=this._getSourceCache(t);i&&e.push(i.getSource());}return e}addLayer(t,i,o={}){this._checkLoaded();const r=t.id;if(this.getLayer(r))return void this.fire(new e.ErrorEvent(new Error(`Layer with id \"${r}\" already exists on this map`)));let n;if(\"custom\"===t.type){if(Xt(this,e.validateCustomStyleLayer(t)))return;n=e.createStyleLayer(t);}else {if(\"object\"==typeof t.source&&(this.addSource(r,t.source),t=e.clone$1(t),t=e.extend(t,{source:r})),this._validate(e.validateLayer,`layers.${r}`,t,{arrayIndex:-1},o))return;n=e.createStyleLayer(t),this._validateLayer(n),n.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[n.id]=n.serialize(),this._updateLayerCount(n,!0);}const s=i?this._order.indexOf(i):this._order.length;if(i&&-1===s)return void this.fire(new e.ErrorEvent(new Error(`Layer with id \"${i}\" does not exist on this map.`)));this._order.splice(s,0,r),this._layerOrderChanged=!0,this._layers[r]=n;const a=this._getLayerSourceCache(n);if(this._removedLayers[r]&&n.source&&a&&\"custom\"!==n.type){const e=this._removedLayers[r];delete this._removedLayers[r],e.type!==n.type?this._updatedSources[n.source]=\"clear\":(this._updatedSources[n.source]=\"reload\",a.pause());}this._updateLayer(n),n.onAdd&&n.onAdd(this.map),this._updateDrapeFirstLayers();}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const o=this._order.indexOf(t);this._order.splice(o,1);const r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new e.ErrorEvent(new Error(`Layer with id \"${i}\" does not exist on this map.`))):(this._order.splice(r,0,t),this._layerOrderChanged=!0,this._updateDrapeFirstLayers());}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot be removed.`)));i.setEventedParent(null),this._updateLayerCount(i,!1);const o=this._order.indexOf(t);this._order.splice(o,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map),this._updateDrapeFirstLayers();}getLayer(e){return this._layers[e]}hasLayer(e){return e in this._layers}hasLayerType(e){for(const t in this._layers)if(this._layers[t].type===e)return !0;return !1}setLayerZoomRange(t,i,o){this._checkLoaded();const r=this.getLayer(t);r?r.minzoom===i&&r.maxzoom===o||(null!=i&&(r.minzoom=i),null!=o&&(r.maxzoom=o),this._updateLayer(r)):this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style and cannot have zoom extent.`)));}setFilter(i,o,r={}){this._checkLoaded();const n=this.getLayer(i);if(n){if(!t(n.filter,o))return null==o?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(e.validateFilter,`layers.${n.id}.filter`,o,{layerType:n.type},r)||(n.filter=e.clone$1(o),this._updateLayer(n)))}else this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be filtered.`)));}getFilter(t){const i=this.getLayer(t);return i&&e.clone$1(i.filter)}setLayoutProperty(i,o,r,n={}){this._checkLoaded();const s=this.getLayer(i);s?t(s.getLayoutProperty(o),r)||(s.setLayoutProperty(o,r,n),this._updateLayer(s)):this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)));}getLayoutProperty(t,i){const o=this.getLayer(t);if(o)return o.getLayoutProperty(i);this.fire(new e.ErrorEvent(new Error(`The layer '${t}' does not exist in the map's style.`)));}setPaintProperty(i,o,r,n={}){this._checkLoaded();const s=this.getLayer(i);s?t(s.getPaintProperty(o),r)||(s.setPaintProperty(o,r,n)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[i]=!0):this.fire(new e.ErrorEvent(new Error(`The layer '${i}' does not exist in the map's style and cannot be styled.`)));}getPaintProperty(e,t){const i=this.getLayer(e);return i&&i.getPaintProperty(t)}setFeatureState(t,i){this._checkLoaded();const o=t.source,r=t.sourceLayer,n=this.getSource(o);if(!n)return void this.fire(new e.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const s=n.type;if(\"geojson\"===s&&r)return void this.fire(new e.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));if(\"vector\"===s&&!r)return void this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));void 0===t.id&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\")));const a=this._getSourceCaches(o);for(const e of a)e.setFeatureState(r,t.id,i);}removeFeatureState(t,i){this._checkLoaded();const o=t.source,r=this.getSource(o);if(!r)return void this.fire(new e.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const n=r.type,s=\"vector\"===n?t.sourceLayer:void 0;if(\"vector\"===n&&!s)return void this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));if(i&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id)return void this.fire(new e.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));const a=this._getSourceCaches(o);for(const e of a)e.removeFeatureState(s,t.id,i);}getFeatureState(t){this._checkLoaded();const i=t.source,o=t.sourceLayer,r=this.getSource(i);if(r){if(\"vector\"!==r.type||o)return void 0===t.id&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),this._getSourceCaches(i)[0].getFeatureState(o,t.id);this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else this.fire(new e.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){const t={};for(const e in this._sourceCaches){const i=this._sourceCaches[e].getSource();t[i.id]||(t[i.id]=i.serialize());}return e.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,terrain:this.getTerrain()||void 0,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:t,layers:this._serializeLayers(this._order)},(e=>void 0!==e))}_updateLayer(e){this._updatedLayers[e.id]=!0;const t=this._getLayerSourceCache(e);e.source&&!this._updatedSources[e.source]&&t&&\"raster\"!==t.getSource().type&&(this._updatedSources[e.source]=\"reload\",t.pause()),this._changed=!0,e.invalidateCompiledFilter();}_flattenAndSortRenderedFeatures(e){const t=e=>\"fill-extrusion\"===this._layers[e].type,i={},o=[];for(let r=this._order.length-1;r>=0;r--){const n=this._order[r];if(t(n)){i[n]=r;for(const t of e){const e=t[n];if(e)for(const t of e)o.push(t);}}}o.sort(((e,t)=>t.intersectionZ-e.intersectionZ));const r=[];for(let n=this._order.length-1;n>=0;n--){const s=this._order[n];if(t(s))for(let e=o.length-1;e>=0;e--){const t=o[e].feature;if(i[t.layer.id]{const t=this.getLayer(e);return t&&t.is3D()})):this.has3DLayers(),a=L.createFromScreenPoints(t,o);for(const e in this._sourceCaches){const t=this._sourceCaches[e].getSource().id;i.layers&&!r[t]||n.push(Ae(this._sourceCaches[e],this._layers,this._serializedLayers,a,i,o,s,!!this.map._showQueryGeometry));}return this.placement&&n.push(function(e,t,i,o,r,n,s){const a={},l=n.queryRenderedSymbols(o),c=[];for(const e of Object.keys(l).map(Number))c.push(s[e]);c.sort(Re);for(const i of c){const o=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],t,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,e);for(const e in o){const t=a[e]=a[e]||[],r=o[e];r.sort(((e,t)=>{const o=i.featureSortOrder;if(o){const i=o.indexOf(e.featureIndex);return o.indexOf(t.featureIndex)-i}return t.featureIndex-e.featureIndex}));for(const e of r)t.push(e);}}for(const t in a)a[t].forEach((o=>{const r=o.feature,n=i(e[t]);if(!n)return;const s=n.getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=s;}));return a}(this._layers,this._serializedLayers,this._getLayerSourceCache.bind(this),a.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(n)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.validateFilter,\"querySourceFeatures.filter\",i.filter,null,i);const o=this._getSourceCaches(t);let r=[];for(const e of o)r=r.concat(ze(e,i));return r}addSourceType(e,t,i){return Kt.getSourceType(e)?i(new Error(`A source type called \"${e}\" already exists.`)):(Kt.setSourceType(e,t),t.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:e,url:t.workerSourceURL},i):i(null,null))}getLight(){return this.light.getLight()}setLight(e,i={}){this._checkLoaded();const o=this.light.getLight();let r=!1;for(const i in e)if(!t(e[i],o[i])){r=!0;break}if(!r)return;const n=this._setTransitionParameters({duration:300,delay:0});this.light.setLight(e,i),this.light.updateTransitions(n);}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:\"\",exaggeration:0},0);}setTerrain(i,o=1){if(this._checkLoaded(),!i)return delete this.terrain,delete this.stylesheet.terrain,this.dispatcher.broadcast(\"enableTerrain\",!1),this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let r=i;if(1===o){if(\"object\"==typeof r.source){const t=\"terrain-dem-src\";this.addSource(t,r.source),r=e.clone$1(r),r=e.extend(r,{source:t});}if(this._validate(e.validateTerrain,\"terrain\",r))return}if(!this.terrain||this.terrain&&o!==this.terrain.drapeRenderMode){if(!r)return;this._createTerrain(r,o);}else {const i=this.terrain,o=i.get();for(const t of Object.keys(e.spec.terrain))!r.hasOwnProperty(t)&&e.spec.terrain[t].default&&(r[t]=e.spec.terrain[t].default);for(const e in r)if(!t(r[e],o[e])){i.set(r),this.stylesheet.terrain=r;const e=this._setTransitionParameters({duration:0});i.updateTransitions(e);break}}this._updateDrapeFirstLayers(),this._markersNeedUpdate=!0;}_createFog(e){const t=this.fog=new P(e,this.map.transform);this.stylesheet.fog=e;const i=this._setTransitionParameters({duration:0});t.updateTransitions(i);}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const e of this.map._markers)e._evaluateOpacity();}));}getFog(){return this.fog?this.fog.get():null}setFog(e){if(this._checkLoaded(),!e)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog,o=i.get();0===Object.keys(e).length&&i.set(e);for(const r in e)if(!t(e[r],o[r])){i.set(e),this.stylesheet.fog=e;const t=this._setTransitionParameters({duration:0});i.updateTransitions(t);break}}else this._createFog(e);this._markersNeedUpdate=!0;}_setTransitionParameters(t){return {now:e.exported.now(),transition:e.extend(t,this.stylesheet.transition)}}_updateDrapeFirstLayers(){if(!this.map._optimizeForTerrain||!this.terrain)return;const e=this._order.filter((e=>this.isLayerDraped(this._layers[e]))),t=this._order.filter((e=>!this.isLayerDraped(this._layers[e])));this._drapedFirstOrder=[],this._drapedFirstOrder.push(...e),this._drapedFirstOrder.push(...t);}_createTerrain(e,t){const i=this.terrain=new E(e,t);this.stylesheet.terrain=e,this.dispatcher.broadcast(\"enableTerrain\",!this.terrainSetForDrapingOnly()),this._force3DLayerUpdate();const o=this._setTransitionParameters({duration:0});i.updateTransitions(o);}_force3DLayerUpdate(){for(const e in this._layers){const t=this._layers[e];\"fill-extrusion\"===t.type&&this._updateLayer(t);}}_forceSymbolLayerUpdate(){for(const e in this._layers){const t=this._layers[e];\"symbol\"===t.type&&this._updateLayer(t);}}_validate(t,i,o,r,n={}){return (!n||!1!==n.validate)&&Xt(this,t.call(e.validateStyle,e.extend({key:i,style:this.serialize(),value:o,styleSpec:e.spec},r)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),e.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(const e in this._layers)this._layers[e].setEventedParent(null);for(const e in this._sourceCaches)this._sourceCaches[e].clearTiles(),this._sourceCaches[e].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove();}_clearSource(e){const t=this._getSourceCaches(e);for(const e of t)e.clearTiles();}_reloadSource(e){const t=this._getSourceCaches(e);for(const e of t)e.resume(),e.reload();}_reloadSources(){for(const e of this._getSources())e.reload&&e.reload();}_updateSources(e){for(const t in this._sourceCaches)this._sourceCaches[t].update(e);}_generateCollisionBoxes(){for(const e in this._sourceCaches){const t=this._sourceCaches[e];t.resume(),t.reload();}}_updatePlacement(t,i,o,r,n=!1){let s=!1,a=!1;const l={};for(const e of this._order){const i=this._layers[e];if(\"symbol\"!==i.type)continue;if(!l[i.source]){const e=this._getLayerSourceCache(i);if(!e)continue;l[i.source]=e.getRenderableIds(!0).map((t=>e.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)));}const o=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng,t.projection);s=s||o;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),n=n||this._layerOrderChanged||0===o,this._layerOrderChanged&&this.fire(new e.Event(\"neworder\")),(n||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(e.exported.now(),t.zoom))&&(this.pauseablePlacement=new Nt(t,this._order,n,i,o,r,this.placement,this.fog&&t.projection.supportsFog?this.fog.state:null),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(e.exported.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s)for(const e of this._order){const t=this._layers[e];\"symbol\"===t.type&&this.placement.updateLayerOpacities(t,l[t.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(e.exported.now())}_releaseSymbolFadeTiles(){for(const e in this._sourceCaches)this._sourceCaches[e].releaseSymbolFadeTiles();}getImages(e,t,i){this.imageManager.getImages(t.icons,i),this._updateTilesForChangedImages();const o=e=>{e&&e.setDependencies(t.tileID.key,t.type,t.icons);};o(this._otherSourceCaches[t.source]),o(this._symbolSourceCaches[t.source]);}getGlyphs(e,t,i){this.glyphManager.getGlyphs(t.stacks,i);}getResource(t,i,o){return e.makeRequest(i,o)}_getSourceCache(e){return this._otherSourceCaches[e]}_getLayerSourceCache(e){return \"symbol\"===e.type?this._symbolSourceCaches[e.source]:this._otherSourceCaches[e.source]}_getSourceCaches(e){const t=[];return this._otherSourceCaches[e]&&t.push(this._otherSourceCaches[e]),this._symbolSourceCaches[e]&&t.push(this._symbolSourceCaches[e]),t}_isSourceCacheLoaded(t){const i=this._getSourceCaches(t);return 0===i.length?(this.fire(new e.ErrorEvent(new Error(`There is no source with ID '${t}'`))),!1):i.every((e=>e.loaded()))}has3DLayers(){return this._num3DLayers>0}hasSymbolLayers(){return this._numSymbolLayers>0}hasCircleLayers(){return this._numCircleLayers>0}_clearWorkerCaches(){this.dispatcher.broadcast(\"clearCaches\");}destroy(){this._clearWorkerCaches(),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain);}}Kt.getSourceType=function(e){return Se[e]},Kt.setSourceType=function(e,t){Se[e]=t;},Kt.registerForPluginStateChange=e.registerForPluginStateChange;var Jt=\"\\n#define EPSILON 0.0000001\\n#define PI 3.141592653589793\\n#define EXTENT 8192.0\\n#define HALF_PI PI/2.0\\n#define QUARTER_PI PI/4.0\\n#define RAD_TO_DEG 180.0/PI\\n#define DEG_TO_RAD PI/180.0\\n#define GLOBE_RADIUS EXTENT/PI/2.0\",Qt=\"attribute highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;varying highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}\",ei=\"\\n#define ELEVATION_SCALE 7.0\\n#define ELEVATION_OFFSET 450.0\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\\n#else\\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\\n#endif\\nconst float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}\\n#ifdef TERRAIN\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;\\n#else\\nuniform sampler2D u_dem;uniform sampler2D u_dem_prev;\\n#endif\\nuniform vec4 u_dem_unpack;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float decodeElevation(vec4 v) {return dot(vec4(v.xyz*255.0,-1.0),u_dem_unpack);}float currentElevation(vec2 apos) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem,pos).a;\\n#else\\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem,pos));\\n#ifdef TERRAIN_DEM_NEAREST_FILTER\\nreturn u_exaggeration*tl;\\n#endif\\nfloat tr=decodeElevation(texture2D(u_dem,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\\n#endif\\n}float prevElevation(vec2 apos) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem_prev,pos).a;\\n#else\\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem_prev,pos));float tr=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem_prev,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\\n#endif\\n}\\n#ifdef TERRAIN_VERTEX_MORPHING\\nfloat elevation(vec2 apos) {\\n#ifdef ZERO_EXAGGERATION\\nreturn 0.0;\\n#endif\\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\\n#else\\nfloat elevation(vec2 apos) {\\n#ifdef ZERO_EXAGGERATION\\nreturn 0.0;\\n#endif\\nreturn currentElevation(apos);}\\n#endif\\nhighp float unpack_depth(highp vec4 rgba_depth)\\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture2D(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\\nunpack_depth(texture2D(u_depth,uv-df.xz)),unpack_depth(texture2D(u_depth,uv+df.xz)),unpack_depth(texture2D(u_depth,uv-df.zy)),unpack_depth(texture2D(u_depth,uv+df.zy))\\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nfloat tl=texture2D(u_dem,pos).a;float tr=texture2D(u_dem,pos+vec2(off.x,0.0)).a;float bl=texture2D(u_dem,pos+vec2(0.0,off.y)).a;float br=texture2D(u_dem,pos+off).a;\\n#else\\nvec4 demtl=vec4(texture2D(u_dem,pos).xyz*255.0,-1.0);float tl=dot(demtl,u_dem_unpack);vec4 demtr=vec4(texture2D(u_dem,pos+vec2(off.x,0.0)).xyz*255.0,-1.0);float tr=dot(demtr,u_dem_unpack);vec4 dembl=vec4(texture2D(u_dem,pos+vec2(0.0,off.y)).xyz*255.0,-1.0);float bl=dot(dembl,u_dem_unpack);vec4 dembr=vec4(texture2D(u_dem,pos+off).xyz*255.0,-1.0);float br=dot(dembr,u_dem_unpack);\\n#endif\\nreturn vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\\n#else\\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\\n#endif\",ti=\"#ifdef FOG\\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;varying vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\\n#endif\",ii=\"#ifdef FOG\\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump float u_fog_temporal_offset;varying vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,opacity);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec3 fog_dither(vec3 color) {vec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\\n#endif\";let oi={},ri={};const ni=[];hi(Jt,ni),hi(ei,ni),hi(ti,ni),hi(ii,ni),oi=ui(\"\",ei),ri=ui(ii,ti);const si=ui(\"\\n#if __VERSION__ >=300\\n#define varying in\\n#define gl_FragColor glFragColor\\n#define texture2D texture\\n#define textureCube texture\\nout vec4 glFragColor;\\n#endif\\nhighp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}highp float unpack_depth(highp vec4 rgba_depth)\\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}\",\"\\n#if __VERSION__ >=300\\n#define attribute in\\n#define varying out\\n#define texture2D texture\\n#endif\\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\\n#ifndef PROJECTED_POS_ON_VIEWPORT\\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\\n#else\\nreturn vec3(0.0);\\n#endif\\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}const vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);//Normalized device coordinate that is not rendered.\"),ai=Jt,li=\"\\n#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\";var ci={background:ui(\"uniform vec4 u_color;uniform float u_opacity;\\n#ifdef LIGHTING_3D_MODE\\nvarying vec4 v_color;\\n#endif\\nvoid main() {vec4 out_color;\\n#ifdef LIGHTING_3D_MODE\\nout_color=v_color;\\n#else\\nout_color=u_color;\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#ifdef LIGHTING_3D_MODE\\nuniform vec4 u_color;varying vec4 v_color;\\n#endif\\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\\n#ifdef LIGHTING_3D_MODE\\nv_color=apply_lighting(u_color);\\n#endif\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),backgroundPattern:ui(\"uniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),circle:ui(\"varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\\n#endif\\ngl_FragColor=out_color*(v_visibility*opacity_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"#define NUM_VISIBILITY_RINGS 2\\n#define INV_SQRT2 0.70710678\\n#define ELEVATION_BIAS 0.0001\\n#define NUM_SAMPLES_PER_RING 16\\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\\n#endif\\nvarying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\\n#if defined(TERRAIN)\\nreturn elevation(pos)+ELEVATION_BIAS;\\n#else\\nreturn 0.0;\\n#endif\\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\\n#ifdef PITCH_WITH_MAP\\n#ifdef PROJECTION_GLOBE_VIEW\\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\\n#else\\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\\n#endif\\n#else\\nreturn projected_center+vec4(sample_offset,0,0);\\n#endif\\n}float get_sample_step() {\\n#ifdef PITCH_WITH_MAP\\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\\n#else\\nreturn PI/float(NUM_SAMPLES_PER_RING);\\n#endif\\n}void main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\\n#else \\nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\\n#endif\\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\\n#ifdef PITCH_WITH_MAP\\n#ifdef SCALE_WITH_MAP\\nview_scale=1.0;\\n#else\\nview_scale=projected_center.w/u_camera_to_center_distance;\\n#endif\\n#else\\n#ifdef SCALE_WITH_MAP\\nview_scale=u_camera_to_center_distance;\\n#else\\nview_scale=projected_center.w;\\n#endif\\n#endif\\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\\n#ifdef TERRAIN\\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\\n#ifdef PITCH_WITH_MAP\\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\\n#else\\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\\n#endif\\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\\n#else\\nvisibility=1.0;\\n#endif\\n#ifdef PROJECTION_GLOBE_VIEW\\nvisibility=1.0;\\n#endif\\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\\n#ifdef FOG\\nv_fog_pos=fog_position(world_center.xyz);\\n#endif\\n}\"),clippingMask:ui(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:ui(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef FOG\\nif (u_is_globe==0) {gl_FragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\\n#endif\\nvarying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\\n#else\\npos=vec3(tilePos+extrude,elevation(tilePos));\\n#endif\\ngl_Position=u_matrix*vec4(pos,1);\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),heatmapTexture:ui(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}\"),collisionBox:ui(\"varying float v_placed;varying float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);gl_FragColor =mix(red,blue,step(0.5,v_placed))*0.5;gl_FragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}\",\"attribute vec3 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;attribute float a_size_scale;attribute vec2 a_padding;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*elevation(a_anchor_pos),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:ui(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos_2f;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:ui(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;\\n#endif\\nvarying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\\n#ifdef PROJECTION_GLOBE_VIEW\\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\\n#else\\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\\n#endif\\n}\"),fill:ui(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\nvec4 out_color=color;\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillOutline:ui(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillOutlinePattern:ui(\"uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;varying vec2 v_pos_world;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;varying vec2 v_pos_world;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillPattern:ui(\"uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillExtrusion:ui(\"varying vec4 v_color;\\n#ifdef RENDER_SHADOWS\\nvarying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#ifdef ZERO_ROOF_RADIUS\\nvarying vec4 v_roof_color;\\n#endif\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nvarying highp vec3 v_normal;\\n#endif\\nvoid main() {\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nvec3 normal=v_normal;\\n#endif\\nfloat z;vec4 color;\\n#ifdef ZERO_ROOF_RADIUS\\nz=float(normal.z > 0.00001);color=mix(v_color,v_roof_color,z);\\n#else\\ncolor=v_color;\\n#endif\\n#ifdef FAUX_AO\\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\\n#ifdef ZERO_ROOF_RADIUS\\nconcave*=(1.0-z);\\n#endif\\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);color.rgb=color.rgb*shade;\\n#endif\\n#ifdef RENDER_SHADOWS\\n#ifdef ZERO_ROOF_RADIUS\\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\\n#endif\\ncolor.xyz=shadowed_color_normal(color.xyz,normalize(normal),v_pos_light_view_0,v_pos_light_view_1,v_depth);\\n#endif\\n#ifdef FOG\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#endif\\ngl_FragColor=color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\\n#endif\\nvarying vec4 v_color;\\n#ifdef RENDER_SHADOWS\\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\n#ifdef ZERO_ROOF_RADIUS\\nvarying vec4 v_roof_color;\\n#endif\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nvarying highp vec3 v_normal;\\n#endif\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nv_normal=normal;\\n#endif\\nbase=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\\n#if defined(HAS_CENTROID) || defined(TERRAIN)\\ncentroid_pos=a_centroid_pos;\\n#endif\\nfloat ele=0.0;float h=0.0;float c_ele;vec3 pos;\\n#ifdef TERRAIN\\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\\n#else\\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\\n#endif\\n#ifdef PROJECTION_GLOBE_VIEW\\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\\n#endif\\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);\\n#ifdef RENDER_SHADOWS\\nv_pos_light_view_0=u_light_matrix_0*vec4(pos,1);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1);v_depth=gl_Position.w;\\n#endif\\nfloat NdotL=0.0;float colorvalue=0.0;\\n#ifdef LIGHTING_3D_MODE\\nNdotL=calculate_NdotL(normal);\\n#else\\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);\\n#endif\\nif (normal.y !=0.0) {float r=0.84;\\n#ifndef LIGHTING_3D_MODE\\nr=mix(0.7,0.98,1.0-u_lightintensity);\\n#endif\\nNdotL*=(\\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}v_color=vec4(0.0,0.0,0.0,1.0);\\n#ifdef FAUX_AO\\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\\n#ifdef TERRAIN\\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\\n#endif\\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\\n#ifdef PROJECTION_GLOBE_VIEW\\ntop_height+=u_height_lift;\\n#endif\\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nv_color=apply_lighting(color,NdotL);\\n#else\\nv_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\\n#endif\\nv_color*=u_opacity;\\n#ifdef ZERO_ROOF_RADIUS\\nv_roof_color=vec4(0.0,0.0,0.0,1.0);\\n#ifdef LIGHTING_3D_MODE\\nv_roof_color=apply_lighting(color,calculate_NdotL(vec3(0.0,0.0,1.0)));\\n#else\\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\\n#endif\\nv_roof_color*=u_opacity;\\n#endif\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),fillExtrusionPattern:ui(\"uniform vec2 u_texsize;uniform sampler2D u_image;\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nvarying float v_NdotL;\\n#endif\\nvarying vec2 v_pos;varying vec4 v_lighting;uniform lowp float u_opacity;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color,v_NdotL)*u_opacity;\\n#else\\nout_color=out_color*v_lighting;\\n#endif\\n#ifdef FAUX_AO\\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\\n#endif\\nvarying vec2 v_pos;varying vec4 v_lighting;\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nvarying float v_NdotL;\\n#endif\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\\n#if defined(HAS_CENTROID) || defined(TERRAIN)\\ncentroid_pos=a_centroid_pos;\\n#endif\\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\\n#ifdef TERRAIN\\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\\n#else\\np=vec3(pos_nx.xy,z);\\n#endif\\n#ifdef PROJECTION_GLOBE_VIEW\\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\\n#endif\\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\\n? pos_nx.xy\\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\\n#ifdef LIGHTING_3D_MODE\\nNdotL=calculate_NdotL(normal);\\n#else\\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\\n#endif\\nif (normal.y !=0.0) {float r=0.84;\\n#ifndef LIGHTING_3D_MODE\\nr=mix(0.7,0.98,1.0-u_lightintensity);\\n#endif\\nNdotL*=(\\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\\n#ifdef FAUX_AO\\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\\n#ifdef TERRAIN\\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\\n#endif\\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\\n#ifdef PROJECTION_GLOBE_VIEW\\ntop_height+=u_height_lift;\\n#endif\\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nv_NdotL=NdotL;\\n#else\\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\\n#endif \\n#ifdef FOG\\nv_fog_pos=fog_position(p);\\n#endif\\n}\"),hillshadePrepare:ui(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nreturn texture2D(u_image,coord).a/4.0;\\n#else\\nvec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;\\n#endif\\n}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\\n)/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(\\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:ui(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef LIGHTING_3D_MODE\\ngl_FragColor=apply_lighting(gl_FragColor);\\n#endif\\n#ifdef FOG\\ngl_FragColor=fog_dither(fog_apply_premultiplied(gl_FragColor,v_fog_pos));\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),line:ui(\"uniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec4 v_uv;\\n#ifdef RENDER_LINE_DASH\\nuniform sampler2D u_dash_image;varying vec2 v_tex;\\n#endif\\n#ifdef RENDER_LINE_GRADIENT\\nuniform sampler2D u_gradient_image;\\n#endif\\nuniform float u_border_width;uniform vec4 u_border_color;float luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 dash\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize lowp vec4 dash\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\\n#ifdef RENDER_LINE_DASH\\nfloat sdfdist=texture2D(u_dash_image,v_tex).a;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\\n#endif\\nhighp vec4 out_color;\\n#ifdef RENDER_LINE_GRADIENT\\nout_color=texture2D(u_gradient_image,v_uv.xy);\\n#else\\nout_color=color;\\n#endif\\nfloat trimmed=1.0;\\n#ifdef RENDER_LINE_TRIM_OFFSET\\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\n#ifdef RENDER_LINE_ALPHA_DISCARD\\nif (alpha < u_alpha_discard_threshold) {discard;}\\n#endif\\n#ifdef RENDER_LINE_BORDER\\nfloat edgeBlur=(u_border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);\\n#ifdef RENDER_LINE_BORDER_AUTO\\nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}\\n#else\\nout_color.rgb=mix(u_border_color.rgb*u_border_color.a*trimmed,out_color.rgb,smoothAlpha);\\n#endif\\n}\\n#endif\\ngl_FragColor=out_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define EXTRUDE_SCALE 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;\\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\\nattribute highp vec4 a_packed;\\n#endif\\n#ifdef RENDER_LINE_DASH\\nattribute float a_linesofar;\\n#endif\\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec4 v_uv;\\n#ifdef RENDER_LINE_DASH\\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;varying vec2 v_tex;\\n#endif\\n#ifdef RENDER_LINE_GRADIENT\\nuniform float u_image_height;\\n#endif\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 dash\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize lowp vec4 dash\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\\n#ifndef RENDER_TO_TEXTURE\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#else\\nv_gamma_scale=1.0;\\n#endif\\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\\n#ifdef RENDER_LINE_GRADIENT\\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\\n#else\\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\\n#endif\\n#endif\\n#ifdef RENDER_LINE_DASH\\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\\n#endif\\nv_width2=vec2(outset,inset);\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),linePattern:ui(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_tile_units_to_pixels;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x=mod(v_linesofar/pattern_size.x*aspect,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec4 color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\ncolor=apply_lighting(color);\\n#endif\\n#ifdef FOG\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#endif\\ngl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_linesofar;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\\n#ifndef RENDER_TO_TEXTURE\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#else\\nv_gamma_scale=1.0;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),raster:ui(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(\\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=vec4(out_color*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {float w=1.0+dot(a_texture_pos,u_perspective_transform);gl_Position=u_matrix*vec4(a_pos*w,0,w);v_pos0=a_texture_pos/8192.0;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),symbolIcon:ui(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\\n#endif\\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\\n#endif\\nvarying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\\n#else\\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\\n#endif\\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\\n#else\\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\\n#endif\\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\\n#else\\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\\n#endif\\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\\n#ifdef TERRAIN\\n#ifdef PITCH_WITH_MAP_TERRAIN\\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\\n#endif\\n#endif\\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#else\\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#endif\\nfloat projection_transition_fade=1.0;\\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\\n#endif\\nv_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;}\"),symbolSDF:ui(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\\n#endif\\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\\n#endif\\nvarying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\\n#else\\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\\n#endif\\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\\n#else\\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\\n#endif\\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\\n#else\\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\\n#endif\\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\\n#ifdef TERRAIN\\n#ifdef PITCH_WITH_MAP_TERRAIN\\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\\n#endif\\n#endif\\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#else\\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#endif\\nfloat gamma_scale=gl_Position.w;float projection_transition_fade=1.0;\\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\\n#endif\\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade);}\"),symbolTextAndIcon:ui(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\\n#endif\\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\\n#endif\\nvarying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\\n#else\\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\\n#endif\\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\\n#else\\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\\n#endif\\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\\n#ifdef TERRAIN\\n#ifdef PITCH_WITH_MAP_TERRAIN\\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\\n#endif\\n#endif\\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#else\\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#endif\\nfloat gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\\n#endif\\nv_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade,is_sdf);}\"),terrainRaster:ui(\"uniform sampler2D u_image0;varying vec2 v_pos0;\\n#ifdef FOG\\nvarying float v_fog_opacity;\\n#endif\\n#ifdef RENDER_SHADOWS\\nvarying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\nvoid main() {vec4 color=texture2D(u_image0,v_pos0);\\n#ifdef RENDER_SHADOWS\\ncolor.xyz=shadowed_color(color.xyz,v_pos_light_view_0,v_pos_light_view_1,v_depth);\\n#endif\\n#ifdef FOG\\n#ifdef ZERO_EXAGGERATION\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#else\\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\\n#endif\\n#endif\\ngl_FragColor=color;\\n#ifdef TERRAIN_WIREFRAME\\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_skirt_height;attribute vec2 a_pos;varying vec2 v_pos0;\\n#ifdef FOG\\nvarying float v_fog_opacity;\\n#endif\\n#ifdef RENDER_SHADOWS\\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\nconst float wireframeOffset=0.00015;void main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;\\n#ifdef TERRAIN_WIREFRAME\\nelevation+=wireframeOffset;\\n#endif\\nv_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\\n#ifdef FOG\\n#ifdef ZERO_EXAGGERATION\\nv_fog_pos=fog_position(decodedPos);\\n#else\\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\\n#endif\\n#endif\\n#ifdef RENDER_SHADOWS\\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);v_depth=gl_Position.w;\\n#endif\\n}\"),terrainDepth:ui(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nvarying float v_depth;void main() {gl_FragColor=pack_depth(v_depth);}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;varying float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),skybox:ui(\"\\nvarying lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=textureCube(u_cubemap,uv).rgb;\\n#ifdef FOG\\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\\n#endif\\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);gl_FragColor=vec4(sky_color*u_opacity,u_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",Qt),skyboxGradient:ui(\"varying highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture2D(u_color_ramp,vec2(progress,0.5));\\n#ifdef FOG\\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\\n#endif\\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",Qt),skyboxCapture:ui(\"\\nvarying highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;\\n#ifdef GL_ES\\nprecision highp float;\\n#endif\\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\\n#define BETA_M vec3(21e-6,21e-6,21e-6)\\n#define MIE_G 0.76\\n#define DENSITY_HEIGHT_SCALE_R 8000.0\\n#define DENSITY_HEIGHT_SCALE_M 1200.0\\n#define PLANET_RADIUS 6360e3\\n#define ATMOSPHERE_RADIUS 6420e3\\n#define SAMPLE_STEPS 10\\n#define DENSITY_STEPS 4\\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;gl_FragColor=vec4(color,1.0);}\",\"attribute highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;varying highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}\"),globeRaster:ui(\"uniform sampler2D u_image0;varying vec2 v_pos0;\\n#ifndef FOG\\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\\n#endif\\nvoid main() {vec4 color;\\n#ifdef CUSTOM_ANTIALIASING\\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture2D(u_image0,v_pos0);color=vec4(raster.rgb*antialias,raster.a*antialias);\\n#else\\ncolor=texture2D(u_image0,v_pos0);\\n#endif\\n#ifdef FOG\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#endif\\ngl_FragColor=color;\\n#ifdef TERRAIN_WIREFRAME\\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\\n#ifdef GLOBE_POLES\\nattribute vec3 a_globe_pos;attribute vec2 a_uv;\\n#else\\nattribute vec2 a_pos;\\n#endif\\nvarying vec2 v_pos0;const float wireframeOffset=1e3;float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(QUARTER_PI+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}void main() {\\n#ifdef GLOBE_POLES\\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\\n#else\\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\\n#endif\\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\\n#ifdef GLOBE_POLES\\nvec3 up_vector=globe_derived_up_vector;\\n#else\\nvec3 up_vector=elevationVector(tile_pos);\\n#endif\\nfloat height=elevation(tile_pos);\\n#ifdef TERRAIN_WIREFRAME\\nheight+=wireframeOffset;\\n#endif\\nglobe_pos+=up_vector*height;\\n#ifndef GLOBE_POLES\\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\\n#endif\\n#ifdef GLOBE_POLES\\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\\n#else\\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\\n#endif\\ngl_Position=u_proj_matrix*interpolated_pos;\\n#ifdef FOG\\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\\n#endif\\n}\"),globeAtmosphere:ui(\"uniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec3 u_start_color;uniform vec4 u_color;uniform vec4 u_space_color;uniform vec4 u_high_color;uniform float u_star_intensity;uniform float u_star_size;uniform float u_star_density;uniform float u_horizon_angle;uniform mat4 u_rotation_matrix;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;highp float random(highp vec3 p) {p=fract(p*vec3(23.2342,97.1231,91.2342));p+=dot(p.zxy,p.yxz+123.1234);return fract(p.x*p.y);}float stars(vec3 p,float scale,vec2 offset) {vec2 uv_scale=(u_viewport/u_star_size)*scale;vec3 position=vec3(p.xy*uv_scale+offset*u_viewport,p.z);vec3 q=fract(position)-0.5;vec3 id=floor(position);float random_visibility=step(random(id),u_star_density);float circle=smoothstep(0.5+u_star_intensity,0.5,length(q));return circle*random_visibility;}void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\\n#ifdef PROJECTION_GLOBE_VIEW\\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {discard;return;}\\n#endif\\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\\n0.0 : max(acos(dot(dir,horizon_dir)),0.0);float horizon_angle;\\n#ifdef PROJECTION_GLOBE_VIEW\\nhighp vec3 closest_point=globe_pos_dot_dir*dir;float closest_point_to_center=length(closest_point-u_globe_pos);float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\\n#else\\nhorizon_angle=horizon_angle_mercator;\\n#endif\\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;vec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c =mix(color_stop_2,c2,t);float a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);vec2 uv=gl_FragCoord.xy/u_viewport-0.5;float aspect_ratio=u_viewport.x/u_viewport.y;vec4 uv_dir=vec4(normalize(vec3(uv.x*aspect_ratio,uv.y,1.0)),1.0);uv_dir=u_rotation_matrix*uv_dir;vec3 n=abs(uv_dir.xyz);vec2 uv_remap=(n.x > n.y && n.x > n.z) ? uv_dir.yz/uv_dir.x:\\n(n.y > n.x && n.y > n.z) ? uv_dir.zx/uv_dir.y:\\nuv_dir.xy/uv_dir.z;uv_remap.x/=aspect_ratio;vec3 D=vec3(uv_remap,1.0);highp float star_field=0.0;if (u_star_intensity > 0.0) {star_field+=stars(D,1.2,vec2(0.0,0.0));star_field+=stars(D,1.0,vec2(1.0,0.0));star_field+=stars(D,0.8,vec2(0.0,1.0));star_field+=stars(D,0.6,vec2(1.0,1.0));star_field*=(1.0-pow(t,0.25+(1.0-u_high_color.a)*0.75));c+=star_field*alpha_2;}c=dither(c,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=vec4(c,a);}\",\"attribute vec3 a_pos;attribute vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}\")};function hi(e,t){const i=e.replace(/\\s*\\/\\/[^\\n]*\\n/g,\"\\n\").split(\"\\n\");for(let e of i)if(e=e.trim(),\"#\"===e[0]&&e.includes(\"if\")&&!e.includes(\"endif\")){e=e.replace(\"#\",\"\").replace(/ifdef|ifndef|elif|if/g,\"\").replace(/!|defined|\\(|\\)|\\|\\||&&/g,\"\").replace(/\\s+/g,\" \").trim();const i=e.split(\" \");for(const e of i)t.includes(e)||t.push(e);}}function ui(e,t){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,o=t.match(/attribute (highp |mediump |lowp )?([\\w]+) ([\\w]+)/g),r={},n=[...ni];return hi(e,n),hi(t,n),{fragmentSource:e=e.replace(i,((e,t,i,o,n)=>(r[n]=!0,\"define\"===t?`\\n#ifndef HAS_UNIFORM_u_${n}\\nvarying ${i} ${o} ${n};\\n#else\\nuniform ${i} ${o} u_${n};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${n}\\n ${i} ${o} ${n} = u_${n};\\n#endif\\n`))),vertexSource:t=t.replace(i,((e,t,i,o,n)=>{const s=\"float\"===o?\"vec2\":\"vec4\",a=n.match(/color/)?\"color\":s;return r[n]?\"define\"===t?`\\n#ifndef HAS_UNIFORM_u_${n}\\nuniform lowp float u_${n}_t;\\nattribute ${i} ${s} a_${n};\\nvarying ${i} ${o} ${n};\\n#else\\nuniform ${i} ${o} u_${n};\\n#endif\\n`:\"vec4\"===a?`\\n#ifndef HAS_UNIFORM_u_${n}\\n ${n} = a_${n};\\n#else\\n ${i} ${o} ${n} = u_${n};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${n}\\n ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\\n#else\\n ${i} ${o} ${n} = u_${n};\\n#endif\\n`:\"define\"===t?`\\n#ifndef HAS_UNIFORM_u_${n}\\nuniform lowp float u_${n}_t;\\nattribute ${i} ${s} a_${n};\\n#else\\nuniform ${i} ${o} u_${n};\\n#endif\\n`:\"vec4\"===a?`\\n#ifndef HAS_UNIFORM_u_${n}\\n ${i} ${o} ${n} = a_${n};\\n#else\\n ${i} ${o} ${n} = u_${n};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${n}\\n ${i} ${o} ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\\n#else\\n ${i} ${o} ${n} = u_${n};\\n#endif\\n`})),staticAttributes:o,usedDefines:n}}class _i{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null;}bind(e,t,i,o,r,n,s){this.context=e;let a=this.boundPaintVertexBuffers.length!==o.length;for(let e=0;!a&&e{const r=i.paint.get(\"hillshade-shadow-color\"),n=i.paint.get(\"hillshade-highlight-color\"),s=i.paint.get(\"hillshade-accent-color\");let a=i.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===i.paint.get(\"hillshade-illumination-anchor\")&&(a-=e.transform.angle);const l=!e.options.moving;return {u_matrix:o||e.transform.calculateProjMatrix(t.tileID.toUnwrapped(),l),u_image:0,u_latrange:di(0,t.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),a],u_shadow:r,u_highlight:n,u_accent:s}})(t,o,r,t.terrain?i.projMatrix:null);t.prepareDrawProgram(l,u,i.toUnwrapped());const{tileBoundsBuffer:d,tileBoundsIndexBuffer:p,tileBoundsSegments:m}=t.getTileBoundsBuffers(o);u.draw(l,c.TRIANGLES,n,s,a,e.CullFaceMode.disabled,_,r.id,d,p,m);}function mi(t,i,o){if(!i.needsDEMTextureUpload)return;const r=t.context,n=r.gl;r.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(o.stride);const s=o.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new e.Texture(r,s,n.RGBA,{premultiply:!1}),i.needsDEMTextureUpload=!1;}function fi(t,i,o,r,n,s){const a=t.context,l=a.gl;if(!i.dem)return;const c=i.dem;if(a.activeTexture.set(l.TEXTURE1),mi(t,i,c),!i.demTexture)return;i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);const h=c.dim;a.activeTexture.set(l.TEXTURE0);let u=i.fbo;if(!u){const t=new e.Texture(a,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),u=i.fbo=a.createFramebuffer(h,h,!0),u.colorAttachment.set(t.texture);}a.bindFramebuffer.set(u.framebuffer),a.viewport.set([0,0,h,h]);const{tileBoundsBuffer:_,tileBoundsIndexBuffer:d,tileBoundsSegments:p}=t.getMercatorTileBoundsBuffers();t.useProgram(\"hillshadePrepare\").draw(a,l.TRIANGLES,r,n,s,e.CullFaceMode.disabled,((t,i)=>{const o=i.stride,r=e.create();return e.ortho(r,0,e.EXTENT,-e.EXTENT,0,0,1),e.translate(r,r,[0,-e.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[o,o],u_zoom:t.overscaledZ,u_unpack:i.unpackVector}})(i.tileID,c),o.id,_,d,p),i.needsHillshadePrepare=!1;}const gi=t=>({u_matrix:new e.UniformMatrix4f(t),u_image0:new e.Uniform1i(t),u_skirt_height:new e.Uniform1f(t)}),vi=(e,t)=>({u_matrix:e,u_image0:0,u_skirt_height:t}),xi=(e,t,i,o,r,n,s,a,l,c,h,u,_,d,p)=>({u_proj_matrix:Float32Array.from(e),u_globe_matrix:t,u_normalize_matrix:Float32Array.from(o),u_merc_matrix:i,u_zoom_transition:r,u_merc_center:n,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:h,u_globe_radius:u,u_viewport:_,u_grid_matrix:p?Float32Array.from(p):new Float32Array(9),u_skirt_height:d});function yi(e,t){return null!=e&&null!=t&&!(!e.hasData()||!t.hasData())&&null!=e.demTexture&&null!=t.demTexture&&e.tileID.key!==t.tileID.key}const bi=new class{constructor(){this.operations={};}newMorphing(e,t,i,o,r){if(e in this.operations){const t=this.operations[e];t.to.tileID.key!==i.tileID.key&&(t.queued=i);}else this.operations[e]={startTime:o,phase:0,duration:r,from:t,to:i,queued:null};}getMorphValuesForProxy(e){if(!(e in this.operations))return null;const t=this.operations[e];return {from:t.from,to:t.to,phase:t.phase}}update(e){for(const t in this.operations){const i=this.operations[t];for(i.phase=(e-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,e)){delete this.operations[t];break}}}_nextOp(e,t){return !!e.queued&&(e.from=e.to,e.to=e.queued,e.queued=null,e.phase=0,e.startTime=t,!0)}_validOp(e){return e.from.hasData()&&e.to.hasData()}},wi={0:null,1:\"TERRAIN_VERTEX_MORPHING\",2:\"TERRAIN_WIREFRAME\"};function Ti(e){return 6*Math.pow(1.5,22-e)}function Ei(e,t){const i=1<({u_matrix:e});function Mi(t,i,o,r,n){if(n>0){const s=e.exported.now(),a=(s-t.timeAdded)/n,l=i?(s-i.timeAdded)/n:-1,c=o.getSource(),h=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),_=u&&t.refreshedUponExpiration?1:e.clamp(u?a:1-l,0,1);return t.refreshedUponExpiration&&a>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}class Ii extends e.SourceCache{constructor(e){const t={type:\"raster-dem\",maxzoom:e.transform.maxZoom},i=new S(Ue(),null),o=De(\"mock-dem\",t,i,e.style);super(\"mock-dem\",o,!1),o.setEventedParent(this),this._sourceLoaded=!0;}_loadTile(e,t){e.state=\"loaded\",t(null);}}class Pi extends e.SourceCache{constructor(e){const t=De(\"proxy\",{type:\"geojson\",maxzoom:e.transform.maxZoom},new S(Ue(),null),e.style);super(\"proxy\",t,!1),t.setEventedParent(this),this.map=this.getSource().map=e,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={};}update(t,i,o){if(t.freezeTileCoverage)return;this.transform=t;const r=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((i,o)=>{if(i[o.key]=\"\",!this._tiles[o.key]){const i=new e.Tile(o,this._source.tileSize*o.overscaleFactor(),t.tileZoom);i.state=\"loaded\",this._tiles[o.key]=i;}return i}),{});for(const e in this._tiles)e in r||(this.freeFBO(e),this._tiles[e].unloadVectorData(),delete this._tiles[e]);}freeFBO(e){const t=this.proxyCachedFBO[e];if(void 0!==t){const i=Object.values(t);this.renderCachePool.push(...i),delete this.proxyCachedFBO[e];}}deallocRenderCache(){this.renderCache.forEach((e=>e.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={};}}class Si extends e.OverscaledTileID{constructor(e,t,i){super(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y),this.proxyTileKey=t,this.projMatrix=i;}}class Di extends e.Elevation{constructor(t,i){super(),this.painter=t,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[o,r,n]=function(t){const i=new e.StructArrayLayout2i4,o=new e.StructArrayLayout3ui6,r=131;i.reserve(17161),o.reserve(33800);const n=e.EXTENT/128,s=e.EXTENT+n/2,a=s+n;for(let t=-n;ts||t<0||t>s?24575:0,n=e.clamp(Math.round(o),0,e.EXTENT),a=e.clamp(Math.round(t),0,e.EXTENT);i.emplaceBack(n+r,a);}const l=(e,t)=>{const i=t*r+e;o.emplaceBack(i+1,i,i+r),o.emplaceBack(i+r,i+r+1,i+1);};for(let e=1;e<129;e++)for(let t=1;t<129;t++)l(t,e);return [0,129].forEach((e=>{for(let t=0;t<130;t++)l(t,e),l(e,t);})),[i,o,32768]}(),s=t.context;this.gridBuffer=s.createVertexBuffer(o,e.posAttributes.members),this.gridIndexBuffer=s.createIndexBuffer(r),this.gridSegments=e.SegmentVector.simpleSegment(0,0,o.length,r.length),this.gridNoSkirtSegments=e.SegmentVector.simpleSegment(0,0,o.length,n),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new Pi(i.map),this.orthoMatrix=e.create(),e.ortho(this.orthoMatrix,\"globe\"===this.painter.transform.projection.name?.015:0,e.EXTENT,0,e.EXTENT,0,1);const a=s.gl;this._overlapStencilMode=new e.StencilMode({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=t.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new Ii(i.map);}set style(e){e.on(\"data\",this._onStyleDataEvent.bind(this)),e.on(\"neworder\",this._checkRenderCacheEfficiency.bind(this)),this._style=e,this._checkRenderCacheEfficiency(),this._style.map.on(\"moveend\",(()=>{this._clearLineLayersFromRenderCache();}));}update(t,i,o){if(t&&t.terrain){this._style!==t&&(this.style=t),this.enabled=!0;const r=t.terrain.properties;this.sourceCache=0===t.terrain.drapeRenderMode?this._mockSourceCache:t._getSourceCache(r.get(\"source\")),this._exaggeration=r.get(\"exaggeration\");const n=()=>{this.sourceCache.used&&e.warnOnce(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const t=this.getScaledDemTileSize();this.sourceCache.update(i,t,!0),this.resetTileLookupCache(this.sourceCache.id);};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,n(),this._initializing=!0),n(),i.updateElevation(!0,o),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0;}else this._disable();}resetTileLookupCache(e){this._findCoveringTileCache[e]={};}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_checkRenderCacheEfficiency(){const t=this.renderCacheEfficiency(this._style);this._style.map._optimizeForTerrain||100!==t.efficiency&&e.warnOnce(`Terrain render cache efficiency is not optimal (${t.efficiency}%) and performance\\n may be affected negatively, consider placing all background, fill and line layers before layer\\n with id '${t.firstUndrapedLayer}' or create a map using optimizeForTerrain: true option.`);}_onStyleDataEvent(e){e.coord&&\"source\"===e.dataType?this._clearRenderCacheForTile(e.sourceCacheId,e.coord):\"style\"===e.dataType&&(this._invalidateRenderCache=!0);}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const e in this._style._sourceCaches)this._style._sourceCaches[e].usedForTerrain=!1;}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((e=>e.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0);}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const e=2*this.proxySourceCache.getSource().tileSize;return [e,e]}set useVertexMorphing(e){this._useVertexMorphing=e;}updateTileBinding(t){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,o=this.painter.transform;this._initializing&&(this._initializing=0===o._centerAltitude&&-1===this.getAtPointOrZero(e.MercatorCoordinate.fromLngLat(o.center),-1),this._emptyDEMTextureDirty=!this._initializing);const r=this.proxyCoords=i.getIds().map((e=>{const t=i.getTileByID(e).tileID;return t.projMatrix=o.calculateProjMatrix(t.toUnwrapped()),t}));!function(t,i){const o=i.transform.pointCoordinate(i.transform.getCameraPoint()),r=new e.Point(o.x,o.y);t.sort(((t,i)=>{if(i.overscaledZ-t.overscaledZ)return i.overscaledZ-t.overscaledZ;const o=new e.Point(t.canonical.x+(1<{this.proxyToSource[e.key]={};})),this.terrainTileForTile={};const s=this._style._sourceCaches;for(const e in s){const i=s[e];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,t[e],n),i.usedForTerrain)continue;const o=t[e];i.getSource().reparseOverscaled&&this._assignTerrainTiles(o);}this.proxiedCoords[i.id]=r.map((e=>new Si(e,e.key,this.orthoMatrix))),this._assignTerrainTiles(r),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(n),this.renderingToTexture=!1,this._updateTimestamp=e.exported.now();const a={};this._visibleDemTiles=[];for(const e of this.proxyCoords){const t=this.terrainTileForTile[e.key];if(!t)continue;const i=t.tileID.key;i in a||(this._visibleDemTiles.push(t),a[i]=i);}}_assignTerrainTiles(e){this._initializing||e.forEach((e=>{if(this.terrainTileForTile[e.key])return;const t=this._findTileCoveringTileID(e,this.sourceCache);t&&(this.terrainTileForTile[e.key]=t);}));}_prepareDEMTextures(){const e=this.painter.context,t=e.gl;for(const i in this.terrainTileForTile){const o=this.terrainTileForTile[i],r=o.dem;!r||o.demTexture&&!o.needsDEMTextureUpload||(e.activeTexture.set(t.TEXTURE1),mi(this.painter,o,r));}}_prepareDemTileUniforms(e,t,i,o){if(!t||null==t.demTexture)return !1;const r=e.tileID.canonical,n=Math.pow(2,t.tileID.canonical.z-r.z),s=o||\"\";return i[`u_dem_tl${s}`]=[r.x*n%1,r.y*n%1],i[`u_dem_scale${s}`]=n,!0}get emptyDEMTexture(){return !this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const t=this.painter.context,i=t.gl;if(!this._emptyDepthBufferTexture){const o=new e.RGBAImage({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new e.Texture(t,o,i.RGBA,{premultiply:!1});}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let e=0;const t=this._visibleDemTiles.reduce(((t,i)=>{if(!i.dem)return t;const o=i.dem.tree.minimums[0];return o>0&&e++,t+o}),0);return e?t/e:0}_updateEmptyDEMTexture(){const t=this.painter.context,i=t.gl;t.activeTexture.set(i.TEXTURE2);const o=this._getLoadedAreaMinimum(),r=new e.RGBAImage({width:1,height:1},new Uint8Array(e.DEMData.pack(o,this.sourceCache.getSource().encoding)));this._emptyDEMTextureDirty=!1;let n=this._emptyDEMTexture;return n?n.update(r,{premultiply:!1}):n=this._emptyDEMTexture=new e.Texture(t,r,i.RGBA,{premultiply:!1}),n}setupElevationDraw(t,i,o){const r=this.painter.context,n=r.gl,s=(a=this.sourceCache.getSource().encoding,{u_dem:2,u_dem_prev:4,u_dem_unpack:e.DEMData.getUnpackVector(a),u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0});var a;s.u_dem_size=this.sourceCache.getSource().tileSize,s.u_exaggeration=this.exaggeration();let l=null,c=null,h=1;if(o&&o.morphing&&this._useVertexMorphing){const e=o.morphing.srcDemTile,i=o.morphing.dstDemTile;h=o.morphing.phase,e&&i&&(this._prepareDemTileUniforms(t,e,s,\"_prev\")&&(c=e),this._prepareDemTileUniforms(t,i,s)&&(l=i));}if(c&&l?(r.activeTexture.set(n.TEXTURE2),l.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE,n.NEAREST),r.activeTexture.set(n.TEXTURE4),c.demTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE,n.NEAREST),s.u_dem_lerp=h):(l=this.terrainTileForTile[t.tileID.key],r.activeTexture.set(n.TEXTURE2),(this._prepareDemTileUniforms(t,l,s)?l.demTexture:this.emptyDEMTexture).bind(n.NEAREST,n.CLAMP_TO_EDGE)),r.activeTexture.set(n.TEXTURE3),o&&o.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(n.NEAREST,n.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),o&&o.useMeterToDem&&l){const t=(1<{if(c===e)return;const o=[wi[e],\"PROJECTION_GLOBE_VIEW\"];_&&o.push(\"CUSTOM_ANTIALIASING\"),i&&o.push(wi[h]),l=t.useProgram(\"globeRaster\",null,o),c=e;},p=t.colorModeForRenderPass(),m=new e.DepthMode(a.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);bi.update(n);const f=e.calculateGlobeMercatorMatrix(u),g=[e.mercatorXfromLng(u.center.lng),e.mercatorYfromLat(u.center.lat)],v=h?[!1,!0]:[!1],x=t.globeSharedBuffers,y=[u.width*e.exported.devicePixelRatio,u.height*e.exported.devicePixelRatio],b=Float32Array.from(u.globeMatrix),w={useDenormalizedUpVectorScale:!0};if(v.forEach((h=>{const u=t.transform,_=Ti(u.zoom)*i.exaggeration();c=-1;const v=h?a.LINES:a.TRIANGLES;for(const c of r){const r=o.getTile(c),T=e.StencilMode.disabled,E=i.prevTerrainTileForTile[c.key],C=i.terrainTileForTile[c.key];yi(E,C)&&bi.newMorphing(c.key,E,C,n,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const M=bi.getMorphValuesForProxy(c.key),I=M?1:0;M&&e.extend$1(w,{morphing:{srcDemTile:M.from,dstDemTile:M.to,phase:e.easeCubicInOut(M.phase)}});const P=e.tileCornersToBounds(c.canonical),S=e.getLatitudinalLod(P.getCenter().lat),D=e.getGridMatrix(c.canonical,P,S,u.worldSize/u._pixelsPerMercatorPixel),L=e.globeNormalizeECEF(e.globeTileBounds(c.canonical)),A=xi(u.projMatrix,b,f,L,e.globeToMercatorTransition(u.zoom),g,u.frustumCorners.TL,u.frustumCorners.TR,u.frustumCorners.BR,u.frustumCorners.BL,u.globeCenterInViewSpace,u.globeRadius,y,_,D);if(d(I,h),i.setupElevationDraw(r,l,w),t.prepareDrawProgram(s,l,c.toUnwrapped()),x){const[i,o,r]=h?x.getWirefameBuffers(t.context,S):x.getGridBuffers(S,0!==_);l.draw(s,v,m,T,p,e.CullFaceMode.backCCW,A,\"globe_raster\",i,o,r);}}})),x){const n=[\"GLOBE_POLES\",\"PROJECTION_GLOBE_VIEW\"];_&&n.push(\"CUSTOM_ANTIALIASING\"),l=t.useProgram(\"globeRaster\",null,n);for(const n of r){const{x:r,y:c,z:h}=n.canonical,_=0===c,d=c===(1<t.draw(s,a.TRIANGLES,m,e.StencilMode.disabled,p,e.CullFaceMode.disabled,xi(u.projMatrix,x,x,E,0,g,u.frustumCorners.TL,u.frustumCorners.TR,u.frustumCorners.BR,u.frustumCorners.BL,u.globeCenterInViewSpace,u.globeRadius,y,0),\"globe_pole_raster\",i,b,T);i.setupElevationDraw(c,l,w),t.prepareDrawProgram(s,l,n.toUnwrapped()),_&&C(l,f),d&&(x=e.scale(e.create(),x,[1,-1,1]),C(l,v));}}}}(t,i,o,r,n);else {const s=t.context,a=s.gl;let l,c;const h=t.options.showTerrainWireframe?2:0,u=(e,i)=>{if(c===e)return;const o=[wi[e]];i&&o.push(wi[h]),l=t.useProgram(\"terrainRaster\",null,o),c=e;},_=t.colorModeForRenderPass(),d=new e.DepthMode(a.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);bi.update(n);const p=t.transform,m=Ti(p.zoom)*i.exaggeration();(h?[!1,!0]:[!1]).forEach((h=>{c=-1;const f=h?a.LINES:a.TRIANGLES,[g,v]=h?i.getWirefameBuffer():[i.gridIndexBuffer,i.gridSegments];for(const c of r){const r=o.getTile(c),x=e.StencilMode.disabled,y=i.prevTerrainTileForTile[c.key],b=i.terrainTileForTile[c.key];yi(y,b)&&bi.newMorphing(c.key,y,b,n,250),s.activeTexture.set(a.TEXTURE0),r.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);const w=bi.getMorphValuesForProxy(c.key),T=w?1:0;let E;w&&(E={morphing:{srcDemTile:w.from,dstDemTile:w.to,phase:e.easeCubicInOut(w.phase)}});const C=vi(c.projMatrix,Ei(c.canonical,p.renderWorldCopies)?m/10:m);u(T,h),i.setupElevationDraw(r,l,E),t.prepareDrawProgram(s,l,c.toUnwrapped()),l.draw(s,f,d,x,_,e.CullFaceMode.backCCW,C,\"terrain_raster\",i.gridBuffer,g,v);}}));}}(i,this,this.proxySourceCache,t,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),t.splice(0,t.length));}renderBatch(t){if(0===this._drapedRenderBatches.length)return t+1;this.renderingToTexture=!0;const i=this.painter,o=this.painter.context,r=this.proxySourceCache,n=this.proxiedCoords[r.id],s=this._drapedRenderBatches.shift(),a=[],l=i.style.order;let c=0;for(const h of n){const n=r.getTileByID(h.proxyTileKey),u=r.proxyCachedFBO[h.key]?r.proxyCachedFBO[h.key][t]:void 0,_=void 0!==u?r.renderCache[u]:this.pool[c++],d=void 0!==u;if(n.texture=_.tex,d&&!_.dirty){a.push(n.tileID);continue}let p;o.bindFramebuffer.set(_.fb.framebuffer),this.renderedToTile=!1,_.dirty&&(o.clear({color:e.Color.transparent,stencil:0}),_.dirty=!1);for(let e=s.start;e<=s.end;++e){const t=i.style._layers[l[e]];if(t.isHidden(i.transform.zoom))continue;const r=i.style._getLayerSourceCache(t),n=r?this.proxyToSource[h.key][r.id]:[h];if(!n)continue;const s=n;o.viewport.set([0,0,_.fb.width,_.fb.height]),p!==(r?r.id:null)&&(this._setupStencil(_,n,t,r),p=r?r.id:null),i.renderLayer(i,r,t,s);}this.renderedToTile?(_.dirty=!0,a.push(n.tileID)):d||--c,5===c&&(c=0,this.renderToBackBuffer(a));}return this.renderToBackBuffer(a),this.renderingToTexture=!1,o.bindFramebuffer.set(null),o.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}renderCacheEfficiency(e){const t=e.order.length;if(0===t)return {efficiency:100};let i,o=0,r=0,n=!1;for(let s=0;se.dem)).forEach((t=>{e=Math.min(e,t.dem.tree.minimums[0]);})),0===e?e:(e-30)*this._exaggeration}raycast(e,t,i){if(!this._visibleDemTiles)return null;const o=this._visibleDemTiles.filter((e=>e.dem)).map((o=>{const r=o.tileID,n=1<(null!==e.t?e.t:Number.MAX_VALUE)-(null!==t.t?t.t:Number.MAX_VALUE)));for(const r of o){if(null==r.t)return null;const o=r.tile.dem.tree.raycast(r.minx,r.miny,r.maxx,r.maxy,e,t,i);if(null!=o)return o}return null}_createFBO(){const t=this.painter.context,i=t.gl,o=this.drapeBufferSize;t.activeTexture.set(i.TEXTURE0);const r=new e.Texture(t,{width:o[0],height:o[1],data:null},i.RGBA);r.bind(i.LINEAR,i.CLAMP_TO_EDGE);const n=t.createFramebuffer(o[0],o[1],!1);return n.colorAttachment.set(r.texture),n.depthAttachment=new we(t,n.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=t.createRenderbuffer(t.gl.DEPTH_STENCIL,o[0],o[1]),this._stencilRef=0,n.depthAttachment.set(this._sharedDepthStencil),t.clear({stencil:0})):n.depthAttachment.set(this._sharedDepthStencil),t.extTextureFilterAnisotropic&&!t.extTextureFilterAnisotropicForceOff&&i.texParameterf(i.TEXTURE_2D,t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.extTextureFilterAnisotropicMax),{fb:n,tex:r,dirty:!1}}_initFBOPool(){for(;this.pool.length{const t=this._style._layers[e],i=t.isHidden(this.painter.transform.zoom);return \"custom\"===t.type?!i&&t.shouldRedrape():!i&&t.hasTransition()}))}_clearLineLayersFromRenderCache(){let t=!1;for(const e of this._style._getSources())if(e instanceof Ce){t=!0;break}if(!t)return;const i={};for(let t=0;tt.renderCachePool.length){const e=Object.values(t.proxyCachedFBO);t.proxyCachedFBO={};for(let i=0;i=0;r--){const n=i[r];if(t.getTileByID(n.key),void 0!==t.proxyCachedFBO[n.key]){const i=e[n.key],r=this.proxyToSource[n.key];let s=0;for(const e in r){const t=r[e],n=i[e];if(!n||n.length!==t.length||t.some(((t,i)=>t!==n[i]||o[e]&&o[e].hasOwnProperty(t.key)))){s=-1;break}++s;}for(const e in t.proxyCachedFBO[n.key])t.renderCache[t.proxyCachedFBO[n.key][e]].dirty=s<0||s!==Object.values(i).length;}}const r=[...this._drapedRenderBatches];r.sort(((e,t)=>t.end-t.start-(e.end-e.start)));for(const e of r)for(const o of i){if(t.proxyCachedFBO[o.key])continue;let i=t.renderCachePool.pop();void 0===i&&t.renderCache.length<50&&(i=t.renderCache.length,t.renderCache.push(this._createFBO())),void 0!==i&&(t.proxyCachedFBO[o.key]={},t.proxyCachedFBO[o.key][e.start]=i,t.renderCache[i].dirty=!0);}this._tilesDirty={};}_setupStencil(e,t,i,o){if(!o||!this._sourceTilesOverlap[o.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const r=this.painter.context,n=r.gl;if(t.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=t.length,this._overlapStencilMode.test={func:n.EQUAL,mask:255},this._overlapStencilType=\"Clip\";else {if(!(t[0].overscaledZ>t[t.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:n.GREATER,mask:255},this._overlapStencilType=\"Mask\";}this._stencilRef+s>255&&(r.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(t,this._overlapStencilMode.ref);}clipOrMaskOverlapStencilType(){return \"Clip\"===this._overlapStencilType||\"Mask\"===this._overlapStencilType}stencilModeForRTTOverlap(t){return this.renderingToTexture&&this._overlapStencilType?(\"Clip\"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[t.key]),this._overlapStencilMode):e.StencilMode.disabled}_renderTileClippingMasks(t,i){const o=this.painter,r=this.painter.context,n=r.gl;o._tileClippingMaskIDs={},r.setColorMode(e.ColorMode.disabled),r.setDepthMode(e.DepthMode.disabled);const s=o.useProgram(\"clippingMask\");for(const a of t){const t=o._tileClippingMaskIDs[a.key]=--i;s.draw(r,n.TRIANGLES,e.DepthMode.disabled,new e.StencilMode({func:n.ALWAYS,mask:0},t,255,n.KEEP,n.KEEP,n.REPLACE),e.ColorMode.disabled,e.CullFaceMode.disabled,Ci(a.projMatrix),\"$clipping\",o.tileExtentBuffer,o.quadTriangleIndexBuffer,o.tileExtentSegments);}}pointCoordinate(t){const i=this.painter.transform;if(t.x<0||t.x>i.width||t.y<0||t.y>i.height)return null;const o=[t.x,t.y,1,1];e.transformMat4$1(o,o,i.pixelMatrixInverse),e.scale$1(o,o,1/o[3]),o[0]/=i.worldSize,o[1]/=i.worldSize;const r=i._camera.position,n=e.mercatorZfromAltitude(1,i.center.lat),s=[r[0],r[1],r[2]/n,0],a=e.subtract([],o.slice(0,3),s);e.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(e.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=n,s):null}drawDepth(){const t=this.painter,i=t.context,o=this.proxySourceCache,r=Math.ceil(t.width),n=Math.ceil(t.height);if(!this._depthFBO||this._depthFBO.width===r&&this._depthFBO.height===n||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const t=i.gl,o=i.createFramebuffer(r,n,!0);i.activeTexture.set(t.TEXTURE0);const s=new e.Texture(i,{width:r,height:n,data:null},t.RGBA);s.bind(t.NEAREST,t.CLAMP_TO_EDGE),o.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,r,n);o.depthAttachment.set(a),this._depthFBO=o,this._depthTexture=s;}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,r,n]),function(t,i,o,r){if(\"globe\"===t.transform.projection.name)return;const n=t.context,s=n.gl;n.clear({depth:1});const a=t.useProgram(\"terrainDepth\"),l=new e.DepthMode(s.LESS,e.DepthMode.ReadWrite,t.depthRangeFor3D);for(const t of r){const r=o.getTile(t),c=vi(t.projMatrix,0);i.setupElevationDraw(r,a),a.draw(n,s.TRIANGLES,l,e.StencilMode.disabled,e.ColorMode.unblended,e.CullFaceMode.backCCW,c,\"terrain_depth\",i.gridBuffer,i.gridIndexBuffer,i.gridNoSkirtSegments);}}(t,this,o,this.proxyCoords);}_setupProxiedCoordsForOrtho(e,t,i){if(e.getSource()instanceof Pe)return this._setupProxiedCoordsForImageSource(e,t,i);this._findCoveringTileCache[e.id]=this._findCoveringTileCache[e.id]||{};const o=this.proxiedCoords[e.id]=[],r=this.proxyCoords;for(let t=0;t(e.min.x=Math.min(e.min.x,t.x-a.x),e.min.y=Math.min(e.min.y,t.y-a.y),e.max.x=Math.max(e.max.x,t.x-a.x),e.max.y=Math.max(e.max.y,t.y-a.y),e)),{min:new e.Point(Number.MAX_VALUE,Number.MAX_VALUE),max:new e.Point(-Number.MAX_VALUE,-Number.MAX_VALUE)}),c=(t,i)=>{const o=t.wrap+t.canonical.x/(1<s+l.max.x||r+na+l.max.y};for(let e=0;ee.key===i.tileID.key));if(e)return e}if(i.tileID.key!==t.key){const o=t.canonical.z-i.tileID.canonical.z;let n,s,a;r=e.create();const l=i.tileID.wrap-t.wrap<0?(n=e.EXTENT>>o,s=n*((i.tileID.canonical.x<=r){const o=t.canonical.z-r;i.getSource().reparseOverscaled?(a=Math.max(t.canonical.z+2,i.transform.tileZoom),s=new e.OverscaledTileID(a,t.wrap,r,t.canonical.x>>o,t.canonical.y>>o)):0!==o&&(a=r,s=new e.OverscaledTileID(a,t.wrap,r,t.canonical.x>>o,t.canonical.y>>o));}s.key!==t.key&&(c.push(s.key),o=i.getTile(s));}const h=e=>{c.forEach((t=>{r[t]=e;})),c.length=0;};for(a-=1;a>=l&&(!o||!o.hasData());a--){o&&h(o.tileID.key);const e=s.calculateScaledKey(a);if(o=i.getTileByID(e),o&&o.hasData())break;const t=r[e];if(null===t)break;void 0===t?c.push(e):o=i.getTileByID(t);}return h(o?o.tileID.key:null),o&&o.hasData()?o:null}findDEMTileFor(e){return this.enabled?this._findTileCoveringTileID(e,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0;}_clearRenderCacheForTile(e,t){let i=this._tilesDirty[e];i||(i=this._tilesDirty[e]={}),i[t.key]=!0;}getWirefameBuffer(){if(!this.wireframeSegments){const t=function(t){let i=0;const o=new e.StructArrayLayout2ui4,r=131;for(let e=1;e<129;e++){for(let t=1;t<129;t++)i=e*r+t,o.emplaceBack(i,i+1),o.emplaceBack(i,i+r),o.emplaceBack(i+1,i+r),128===e&&o.emplaceBack(i+r,i+r+1);o.emplaceBack(i+1,i+1+r);}return o}();this.wireframeIndexBuffer=this.painter.context.createIndexBuffer(t),this.wireframeSegments=e.SegmentVector.simpleSegment(0,0,this.gridBuffer.length,t.length);}return [this.wireframeIndexBuffer,this.wireframeSegments]}}class Li{static cacheKey(e,t,i,o){let r=`${t}${o?o.cacheKey:\"\"}`;for(const t of i)e.usedDefines.includes(t)&&(r+=`/${t}`);return r}constructor(t,i,o,r,n,s){const a=t.gl;this.program=a.createProgram();const l=function(e){const t=[];for(let i=0;i`#define ${e}`)));const _=t.isWebGL2?\"#version 300 es\\n\":\"\",d=_+u.concat(t.extStandardDerivatives&&0===_.length?\"#extension GL_OES_standard_derivatives : enable\\n\".concat(li):li,li,ai,si.fragmentSource,ri.fragmentSource,o.fragmentSource).join(\"\\n\"),p=_+u.concat(\"\\n#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\",ai,si.vertexSource,ri.vertexSource,oi.vertexSource,o.vertexSource).join(\"\\n\"),m=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(m,d),a.compileShader(m),a.attachShader(this.program,m);const f=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else {a.shaderSource(f,p),a.compileShader(f),a.attachShader(this.program,f),this.attributes={},this.numAttributes=h.length;for(let e=0;e({u_dem:new e.Uniform1i(t),u_dem_prev:new e.Uniform1i(t),u_dem_unpack:new e.Uniform4f(t),u_dem_tl:new e.Uniform2f(t),u_dem_scale:new e.Uniform1f(t),u_dem_tl_prev:new e.Uniform2f(t),u_dem_scale_prev:new e.Uniform1f(t),u_dem_size:new e.Uniform1f(t),u_dem_lerp:new e.Uniform1f(t),u_exaggeration:new e.Uniform1f(t),u_depth:new e.Uniform1i(t),u_depth_size_inv:new e.Uniform2f(t),u_meter_to_dem:new e.Uniform1f(t),u_label_plane_matrix_inv:new e.UniformMatrix4f(t)}))(t)),s.includes(\"GLOBE\")&&(this.globeUniforms=(t=>({u_tile_tl_up:new e.Uniform3f(t),u_tile_tr_up:new e.Uniform3f(t),u_tile_br_up:new e.Uniform3f(t),u_tile_bl_up:new e.Uniform3f(t),u_tile_up_scale:new e.Uniform1f(t)}))(t)),s.includes(\"FOG\")&&(this.fogUniforms=(t=>({u_fog_matrix:new e.UniformMatrix4f(t),u_fog_range:new e.Uniform2f(t),u_fog_color:new e.Uniform4f(t),u_fog_horizon_blend:new e.Uniform1f(t),u_fog_temporal_offset:new e.Uniform1f(t),u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_globe_pos:new e.Uniform3f(t),u_globe_radius:new e.Uniform1f(t),u_globe_transition:new e.Uniform1f(t),u_is_globe:new e.Uniform1i(t),u_viewport:new e.Uniform2f(t)}))(t));}}setTerrainUniformValues(e,t){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e]);}}setGlobeUniformValues(e,t){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e]);}}setFogUniformValues(e,t){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e]);}}draw(e,t,i,o,r,n,s,a,l,c,h,u,_,d,p){const m=e.gl;if(this.failedToCreate)return;e.program.set(this.program),e.setDepthMode(i),e.setStencilMode(o),e.setColorMode(r),e.setCullFace(n);for(const e of Object.keys(this.fixedUniforms))this.fixedUniforms[e].set(this.program,e,s[e]);d&&d.setUniforms(this.program,e,this.binderUniforms,u,{zoom:_});const f={[m.LINES]:2,[m.TRIANGLES]:3,[m.LINE_STRIP]:1}[t];for(const i of h.get()){const o=i.vaos||(i.vaos={});(o[a]||(o[a]=new _i)).bind(e,this,l,d?d.getPaintVertexBuffers():[],c,i.vertexOffset,p||[]),m.drawElements(t,i.primitiveLength*f,m.UNSIGNED_SHORT,i.primitiveOffset*f*2);}}}function Ai(e,t){const i=Math.pow(2,t.tileID.overscaledZ),o=t.tileSize*Math.pow(2,e.transform.tileZoom)/i,r=o*(t.tileID.canonical.x+t.tileID.wrap*i),n=o*t.tileID.canonical.y;return {u_image:0,u_texsize:t.imageAtlasTexture.size,u_tile_units_to_pixels:1/D(t,1,e.transform.tileZoom),u_pixel_coord_upper:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const zi=e.create(),Ri=(t,i,o,r,n,s,a,l,c,h,u)=>{const _=i.style.light,d=_.properties.get(\"position\"),p=[d.x,d.y,d.z],m=e.create$1();\"viewport\"===_.properties.get(\"anchor\")&&(e.fromRotation(m,-i.transform.angle),e.transformMat3(p,p,m));const f=_.properties.get(\"color\"),g=i.transform,v={u_matrix:t,u_lightpos:p,u_lightintensity:_.properties.get(\"intensity\"),u_lightcolor:[f.r,f.g,f.b],u_vertical_gradient:+o,u_opacity:r,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:zi,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:n,u_edge_radius:s};return \"globe\"===g.projection.name&&(v.u_tile_id=[a.canonical.x,a.canonical.y,1<{const d=Ri(t,i,o,r,n,s,a,c,h,u,_),p={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return e.extend(d,Ai(i,l),p)},Bi=e=>({u_matrix:e}),ki=(t,i,o)=>e.extend(Bi(t),Ai(i,o)),Fi=(e,t)=>({u_matrix:e,u_world:t}),Ui=(t,i,o,r)=>e.extend(ki(t,i,o),{u_world:r}),Ni=e.create(),ji=(t,i,o,r,n,s)=>{const a=t.transform,l=\"globe\"===a.projection.name;let c;if(\"map\"===s.paint.get(\"circle-pitch-alignment\"))if(l){const t=e.globePixelsToTileUnits(a.zoom,i.canonical)*a._pixelsPerMercatorPixel;c=Float32Array.from([t,0,0,t]);}else c=a.calculatePixelsToTileUnitsMatrix(o);else c=new Float32Array([a.pixelsToGLUnits[0],0,0,a.pixelsToGLUnits[1]]);const h={u_camera_to_center_distance:a.cameraToCenterDistance,u_matrix:t.translatePosMatrix(i.projMatrix,o,s.paint.get(\"circle-translate\"),s.paint.get(\"circle-translate-anchor\")),u_device_pixel_ratio:e.exported.devicePixelRatio,u_extrude_scale:c,u_inv_rot_matrix:Ni,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(l){h.u_inv_rot_matrix=r,h.u_merc_center=n,h.u_tile_id=[i.canonical.x,i.canonical.y,1<{const t=[];return \"map\"===e.paint.get(\"circle-pitch-alignment\")&&t.push(\"PITCH_WITH_MAP\"),\"map\"===e.paint.get(\"circle-pitch-scale\")&&t.push(\"SCALE_WITH_MAP\"),t},Zi=(t,i,o,r)=>{const n=e.EXTENT/o.tileSize;return {u_matrix:t,u_camera_to_center_distance:i.getCameraToCenterDistance(r),u_extrude_scale:[i.pixelsToGLUnits[0]/n,i.pixelsToGLUnits[1]/n]}},Vi=(e,t,i=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:i}),Wi=e.create(),Xi=(t,i,o,r,n,s,a)=>{const l=t.transform,c=\"globe\"===l.projection.name,h=c?e.globePixelsToTileUnits(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:D(o,1,s),u={u_matrix:i.projMatrix,u_extrude_scale:h,u_intensity:a,u_inv_rot_matrix:Wi,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){u.u_inv_rot_matrix=r,u.u_merc_center=n,u.u_tile_id=[i.canonical.x,i.canonical.y,1<{const a=e.transform,l=a.calculatePixelsToTileUnitsMatrix(t);return {u_matrix:Yi(e,t,i,o),u_pixels_to_tile_units:l,u_device_pixel_ratio:n,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:r,u_texsize:Ki(i)?t.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Hi(t,e.transform),u_alpha_discard_threshold:0,u_trim_offset:s}},$i=(e,t,i,o,r)=>{const n=e.transform;return {u_matrix:Yi(e,t,i,o),u_texsize:t.imageAtlasTexture.size,u_pixels_to_tile_units:n.calculatePixelsToTileUnitsMatrix(t),u_device_pixel_ratio:r,u_image:0,u_tile_units_to_pixels:Hi(t,n),u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]],u_alpha_discard_threshold:0}};function Hi(e,t){return 1/D(e,1,t.tileZoom)}function Yi(e,t,i,o){return e.translatePosMatrix(o||t.tileID.projMatrix,t,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}function Ki(e){const t=e.paint.get(\"line-dasharray\").value;return t.value||\"constant\"!==t.kind}const Ji=(e,t,i,o,r,n)=>{return {u_matrix:e,u_tl_parent:t,u_scale_parent:i,u_fade_t:o.mix,u_opacity:o.opacity*r.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(\"raster-brightness-min\"),u_brightness_high:r.paint.get(\"raster-brightness-max\"),u_saturation_factor:(a=r.paint.get(\"raster-saturation\"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=r.paint.get(\"raster-contrast\"),s>0?1/(1-s):1+s),u_spin_weights:Qi(r.paint.get(\"raster-hue-rotate\")),u_perspective_transform:n};var s,a;};function Qi(e){e*=Math.PI/180;const t=Math.sin(e),i=Math.cos(e);return [(2*i+1)/3,(-Math.sqrt(3)*t-i+1)/3,(Math.sqrt(3)*t-i+1)/3]}const eo=e.create(),to=(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f)=>{const g=n.transform,v={u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:g.cameraToCenterDistance,u_rotate_symbol:+o,u_aspect_ratio:g.width/g.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+r,u_texsize:h,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:eo,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:eo,u_up_vector:[0,-1,0]};return \"globe\"===f.name&&(v.u_tile_id=[u.canonical.x,u.canonical.y,1<e.extend(to(t,i,o,r,n,s,a,l,c,h,_,d,p,m,f,g),{u_gamma_scale:r?n.transform.cameraToCenterDistance*Math.cos(n.terrain?0:n.transform._pitch):1,u_device_pixel_ratio:e.exported.devicePixelRatio,u_is_halo:+u}),oo=(t,i,o,r,n,s,a,l,c,h,u,_,d,p,m,f)=>e.extend(io(t,i,o,r,n,s,a,l,!0,c,!0,u,_,d,p,m,f),{u_texsize_icon:h,u_texture_icon:1}),ro=(e,t,i)=>({u_matrix:e,u_opacity:t,u_color:i}),no=(t,i,o,r,n)=>e.extend(function(e,t,i){const o=t.imageManager.getPattern(e.toString()),{width:r,height:n}=t.imageManager.getPixelSize(),s=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,t.transform.tileZoom)/s,l=a*(i.tileID.canonical.x+i.tileID.wrap*s),c=a*i.tileID.canonical.y;return {u_image:0,u_pattern_tl:o.tl,u_pattern_br:o.br,u_texsize:[r,n],u_pattern_size:o.displaySize,u_tile_units_to_pixels:1/D(i,1,t.transform.tileZoom),u_pixel_coord_upper:[l>>16,c>>16],u_pixel_coord_lower:[65535&l,65535&c]}}(r,o,n),{u_matrix:t,u_opacity:i}),so={fillExtrusion:t=>({u_matrix:new e.UniformMatrix4f(t),u_lightpos:new e.Uniform3f(t),u_lightintensity:new e.Uniform1f(t),u_lightcolor:new e.Uniform3f(t),u_vertical_gradient:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_edge_radius:new e.Uniform1f(t),u_ao:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_up_dir:new e.Uniform3f(t),u_height_lift:new e.Uniform1f(t)}),fillExtrusionPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_lightpos:new e.Uniform3f(t),u_lightintensity:new e.Uniform1f(t),u_lightcolor:new e.Uniform3f(t),u_vertical_gradient:new e.Uniform1f(t),u_height_factor:new e.Uniform1f(t),u_edge_radius:new e.Uniform1f(t),u_ao:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_up_dir:new e.Uniform3f(t),u_height_lift:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t)}),fill:t=>({u_matrix:new e.UniformMatrix4f(t)}),fillPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),fillOutline:t=>({u_matrix:new e.UniformMatrix4f(t),u_world:new e.Uniform2f(t)}),fillOutlinePattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_world:new e.Uniform2f(t),u_image:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),circle:t=>({u_camera_to_center_distance:new e.Uniform1f(t),u_extrude_scale:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_up_dir:new e.Uniform3f(t)}),collisionBox:t=>({u_matrix:new e.UniformMatrix4f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_extrude_scale:new e.Uniform2f(t)}),collisionCircle:t=>({u_matrix:new e.UniformMatrix4f(t),u_inv_matrix:new e.UniformMatrix4f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_viewport_size:new e.Uniform2f(t)}),debug:t=>({u_color:new e.UniformColor(t),u_matrix:new e.UniformMatrix4f(t),u_overlay:new e.Uniform1i(t),u_overlay_scale:new e.Uniform1f(t)}),clippingMask:t=>({u_matrix:new e.UniformMatrix4f(t)}),heatmap:t=>({u_extrude_scale:new e.Uniform1f(t),u_intensity:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_up_dir:new e.Uniform3f(t)}),heatmapTexture:t=>({u_image:new e.Uniform1i(t),u_color_ramp:new e.Uniform1i(t),u_opacity:new e.Uniform1f(t)}),hillshade:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_latrange:new e.Uniform2f(t),u_light:new e.Uniform2f(t),u_shadow:new e.UniformColor(t),u_highlight:new e.UniformColor(t),u_accent:new e.UniformColor(t)}),hillshadePrepare:t=>({u_matrix:new e.UniformMatrix4f(t),u_image:new e.Uniform1i(t),u_dimension:new e.Uniform2f(t),u_zoom:new e.Uniform1f(t),u_unpack:new e.Uniform4f(t)}),line:t=>({u_matrix:new e.UniformMatrix4f(t),u_pixels_to_tile_units:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_units_to_pixels:new e.Uniform2f(t),u_dash_image:new e.Uniform1i(t),u_gradient_image:new e.Uniform1i(t),u_image_height:new e.Uniform1f(t),u_texsize:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_alpha_discard_threshold:new e.Uniform1f(t),u_trim_offset:new e.Uniform2f(t)}),linePattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_texsize:new e.Uniform2f(t),u_pixels_to_tile_units:new e.UniformMatrix2f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_units_to_pixels:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t),u_alpha_discard_threshold:new e.Uniform1f(t)}),raster:t=>({u_matrix:new e.UniformMatrix4f(t),u_tl_parent:new e.Uniform2f(t),u_scale_parent:new e.Uniform1f(t),u_fade_t:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_image0:new e.Uniform1i(t),u_image1:new e.Uniform1i(t),u_brightness_low:new e.Uniform1f(t),u_brightness_high:new e.Uniform1f(t),u_saturation_factor:new e.Uniform1f(t),u_contrast_factor:new e.Uniform1f(t),u_spin_weights:new e.Uniform3f(t),u_perspective_transform:new e.Uniform2f(t)}),symbolIcon:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_camera_forward:new e.Uniform3f(t),u_tile_matrix:new e.UniformMatrix4f(t),u_up_vector:new e.Uniform3f(t),u_ecef_origin:new e.Uniform3f(t),u_texture:new e.Uniform1i(t)}),symbolSDF:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_texture:new e.Uniform1i(t),u_gamma_scale:new e.Uniform1f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_tile_id:new e.Uniform3f(t),u_zoom_transition:new e.Uniform1f(t),u_inv_rot_matrix:new e.UniformMatrix4f(t),u_merc_center:new e.Uniform2f(t),u_camera_forward:new e.Uniform3f(t),u_tile_matrix:new e.UniformMatrix4f(t),u_up_vector:new e.Uniform3f(t),u_ecef_origin:new e.Uniform3f(t),u_is_halo:new e.Uniform1i(t)}),symbolTextAndIcon:t=>({u_is_size_zoom_constant:new e.Uniform1i(t),u_is_size_feature_constant:new e.Uniform1i(t),u_size_t:new e.Uniform1f(t),u_size:new e.Uniform1f(t),u_camera_to_center_distance:new e.Uniform1f(t),u_rotate_symbol:new e.Uniform1i(t),u_aspect_ratio:new e.Uniform1f(t),u_fade_change:new e.Uniform1f(t),u_matrix:new e.UniformMatrix4f(t),u_label_plane_matrix:new e.UniformMatrix4f(t),u_coord_matrix:new e.UniformMatrix4f(t),u_is_text:new e.Uniform1i(t),u_pitch_with_map:new e.Uniform1i(t),u_texsize:new e.Uniform2f(t),u_texsize_icon:new e.Uniform2f(t),u_texture:new e.Uniform1i(t),u_texture_icon:new e.Uniform1i(t),u_gamma_scale:new e.Uniform1f(t),u_device_pixel_ratio:new e.Uniform1f(t),u_is_halo:new e.Uniform1i(t)}),background:t=>({u_matrix:new e.UniformMatrix4f(t),u_opacity:new e.Uniform1f(t),u_color:new e.UniformColor(t)}),backgroundPattern:t=>({u_matrix:new e.UniformMatrix4f(t),u_opacity:new e.Uniform1f(t),u_image:new e.Uniform1i(t),u_pattern_tl:new e.Uniform2f(t),u_pattern_br:new e.Uniform2f(t),u_texsize:new e.Uniform2f(t),u_pattern_size:new e.Uniform2f(t),u_pixel_coord_upper:new e.Uniform2f(t),u_pixel_coord_lower:new e.Uniform2f(t),u_tile_units_to_pixels:new e.Uniform1f(t)}),terrainRaster:gi,terrainDepth:gi,skybox:t=>({u_matrix:new e.UniformMatrix4f(t),u_sun_direction:new e.Uniform3f(t),u_cubemap:new e.Uniform1i(t),u_opacity:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t)}),skyboxGradient:t=>({u_matrix:new e.UniformMatrix4f(t),u_color_ramp:new e.Uniform1i(t),u_center_direction:new e.Uniform3f(t),u_radius:new e.Uniform1f(t),u_opacity:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t)}),skyboxCapture:t=>({u_matrix_3f:new e.UniformMatrix3f(t),u_sun_direction:new e.Uniform3f(t),u_sun_intensity:new e.Uniform1f(t),u_color_tint_r:new e.Uniform4f(t),u_color_tint_m:new e.Uniform4f(t),u_luminance:new e.Uniform1f(t)}),globeRaster:t=>({u_proj_matrix:new e.UniformMatrix4f(t),u_globe_matrix:new e.UniformMatrix4f(t),u_normalize_matrix:new e.UniformMatrix4f(t),u_merc_matrix:new e.UniformMatrix4f(t),u_zoom_transition:new e.Uniform1f(t),u_merc_center:new e.Uniform2f(t),u_image0:new e.Uniform1i(t),u_grid_matrix:new e.UniformMatrix3f(t),u_skirt_height:new e.Uniform1f(t),u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_globe_pos:new e.Uniform3f(t),u_globe_radius:new e.Uniform1f(t),u_viewport:new e.Uniform2f(t)}),globeAtmosphere:t=>({u_frustum_tl:new e.Uniform3f(t),u_frustum_tr:new e.Uniform3f(t),u_frustum_br:new e.Uniform3f(t),u_frustum_bl:new e.Uniform3f(t),u_horizon:new e.Uniform1f(t),u_transition:new e.Uniform1f(t),u_fadeout_range:new e.Uniform1f(t),u_color:new e.Uniform4f(t),u_high_color:new e.Uniform4f(t),u_space_color:new e.Uniform4f(t),u_star_intensity:new e.Uniform1f(t),u_star_density:new e.Uniform1f(t),u_star_size:new e.Uniform1f(t),u_temporal_offset:new e.Uniform1f(t),u_horizon_angle:new e.Uniform1f(t),u_rotation_matrix:new e.UniformMatrix4f(t)})};let ao;function lo(t,i,o,r,n,s,a){const l=t.context,c=l.gl,h=t.transform,u=t.useProgram(\"collisionBox\"),_=[];let d=0,p=0;for(let m=0;m0){const t=e.create(),i=y;e.mul(t,v.placementInvProjMatrix,h.glCoordMatrix),e.mul(t,t,v.placementViewportMatrix),_.push({circleArray:w,circleOffset:p,transform:i,invTransform:t,projection:v.getProjection()}),d+=w.length/4,p=d;}b&&(t.terrain&&t.terrain.setupElevationDraw(g,u),u.draw(l,c.LINES,e.DepthMode.disabled,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.disabled,Zi(y,h,g,v.getProjection()),o.id,b.layoutVertexBuffer,b.indexBuffer,b.segments,null,h.zoom,null,[b.collisionVertexBuffer,b.collisionVertexBufferExt]));}if(!a||!_.length)return;const m=t.useProgram(\"collisionCircle\"),f=new e.StructArrayLayout2f1f2i16;f.resize(4*d),f._trim();let g=0;for(const e of _)for(let t=0;t=0&&(m[y.associatedIconIndex]={x:C,y:M,z:I,angle:A});}else dt(T,d);}if(u){p.clear();const i=t.icon.placedSymbolArray;for(let t=0;te.sortKey-t.sortKey));for(const e of M){const i=e.state;if(t.terrain&&t.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:!C,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),d.activeTexture.set(p.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,p.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(p.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),i.isSDF){const r=i.uniformValues;i.hasHalo&&(r.u_is_halo=1,mo(i.buffers,e.segments,o,t,i.program,w,u,_,r)),r.u_is_halo=0;}mo(i.buffers,e.segments,o,t,i.program,w,u,_,i.uniformValues);}}function mo(t,i,o,r,n,s,a,l,c){const h=r.context,u=[t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer,t.globeExtVertexBuffer];n.draw(h,h.gl.TRIANGLES,s,a,l,e.CullFaceMode.disabled,c,o.id,t.layoutVertexBuffer,t.indexBuffer,i,o.paint,r.transform.zoom,t.programConfigurations.get(o.id),u);}function fo(t,i,o,r,n,s,a){const l=t.context.gl,c=o.paint.get(\"fill-pattern\"),h=c&&c.constantOr(1);let u,_,d,p,m;a?(_=h&&!o.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",u=l.LINES):(_=h?\"fillPattern\":\"fill\",u=l.TRIANGLES);for(const f of r){const r=i.getTile(f);if(h&&!r.patternsLoaded())continue;const g=r.getBucket(o);if(!g)continue;t.prepareDrawTile();const v=g.programConfigurations.get(o.id),x=t.useProgram(_,v);h&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),v.updatePaintBuffers());const y=c.constantOr(null);if(y&&r.imageAtlas){const e=r.imageAtlas.patternPositions[y.toString()];e&&v.setConstantPatternPositions(e);}const b=t.translatePosMatrix(f.projMatrix,r,o.paint.get(\"fill-translate\"),o.paint.get(\"fill-translate-anchor\"));if(a){p=g.indexBuffer2,m=g.segments2;const e=t.terrain&&t.terrain.renderingToTexture?t.terrain.drapeBufferSize:[l.drawingBufferWidth,l.drawingBufferHeight];d=\"fillOutlinePattern\"===_&&h?Ui(b,t,r,e):Fi(b,e);}else p=g.indexBuffer,m=g.segments,d=h?ki(b,t,r):Bi(b);t.prepareDrawProgram(t.context,x,f.toUnwrapped()),x.draw(t.context,u,n,t.stencilModeForClipping(f),s,e.CullFaceMode.disabled,d,o.id,g.layoutVertexBuffer,p,m,o.paint,t.transform.zoom,v);}}function go(t,i,o,r,n,s,a){const l=t.context,c=l.gl,h=t.transform,u=o.paint.get(\"fill-extrusion-pattern\"),_=u.constantOr(1),d=o.paint.get(\"fill-extrusion-opacity\"),p=[o.paint.get(\"fill-extrusion-ambient-occlusion-intensity\"),o.paint.get(\"fill-extrusion-ambient-occlusion-radius\")],m=o.layout.get(\"fill-extrusion-edge-radius\"),f=m>0&&!o.paint.get(\"fill-extrusion-rounded-roof\"),g=f?0:m,v=\"globe\"===h.projection.name?e.fillExtrusionHeightLift():0,x=\"globe\"===h.projection.name,y=x?e.globeToMercatorTransition(h.zoom):0,b=[e.mercatorXfromLng(h.center.lng),e.mercatorYfromLat(h.center.lat)],w=[];x&&w.push(\"PROJECTION_GLOBE_VIEW\"),p[0]>0&&w.push(\"FAUX_AO\"),f&&w.push(\"ZERO_ROOF_RADIUS\");for(const m of r){const r=i.getTile(m),f=r.getBucket(o);if(!f||f.projection.name!==h.projection.name)continue;const T=f.programConfigurations.get(o.id),E=t.useProgram(_?\"fillExtrusionPattern\":\"fillExtrusion\",T,w);if(t.terrain){const e=t.terrain;if(t.style.terrainSetForDrapingOnly())e.setupElevationDraw(r,E,{useMeterToDem:!0});else {if(!f.enableTerrain)continue;if(e.setupElevationDraw(r,E,{useMeterToDem:!0}),vo(l,i,m,f,o,e),!f.centroidVertexBuffer){const e=E.attributes.a_centroid_pos;void 0!==e&&c.vertexAttrib2f(e,0,0);}}}_&&(t.context.activeTexture.set(c.TEXTURE0),r.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),T.updatePaintBuffers());const C=u.constantOr(null);if(C&&r.imageAtlas){const e=r.imageAtlas.patternPositions[C.toString()];e&&T.setConstantPatternPositions(e);}const M=t.translatePosMatrix(m.projMatrix,r,o.paint.get(\"fill-extrusion-translate\"),o.paint.get(\"fill-extrusion-translate-anchor\")),I=h.projection.createInversionMatrix(h,m.canonical),P=o.paint.get(\"fill-extrusion-vertical-gradient\"),S=_?Oi(M,t,P,d,p,g,m,r,v,y,b,I):Ri(M,t,P,d,p,g,m,v,y,b,I);t.prepareDrawProgram(l,E,m.toUnwrapped());const D=[];t.terrain&&D.push(f.centroidVertexBuffer),x&&D.push(f.layoutVertexExtBuffer),E.draw(l,l.gl.TRIANGLES,n,s,a,e.CullFaceMode.backCCW,S,o.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,o.paint,t.transform.zoom,T,D);}}function vo(t,i,o,r,n,s){const a=[t=>{let i=t.canonical.x-1,o=t.wrap;return i<0&&(i=(1<{let i=t.canonical.x+1,o=t.wrap;return i===1<new e.OverscaledTileID(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,(0===t.canonical.y?1<new e.OverscaledTileID(t.overscaledZ,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y===(1<{const t=i.getSource().minzoom,o=e=>{const t=i.getTileByID(e);if(t&&t.hasData())return t.getBucket(n)},r=[0,-1,1];for(const i of r){if(e.overscaledZ+i(c[0]=Math.min(t.min.y,i.min.y),c[1]=Math.max(t.max.y,i.max.y),c[2]=e.EXTENT-i.min.x>t.max.x?i.min.x-e.EXTENT:t.max.x,c),u=(t,i)=>(c[0]=Math.min(t.min.x,i.min.x),c[1]=Math.max(t.max.x,i.max.x),c[2]=e.EXTENT-i.min.y>t.max.y?i.min.y-e.EXTENT:t.max.y,c),_=[(e,t)=>h(e,t),(e,t)=>h(t,e),(e,t)=>u(e,t),(e,t)=>u(t,e)],d=new e.Point(0,0);let p,m,f;const g=(t,i,r,n,a)=>{const l=[[n?r:t,n?t:r,0],[n?r:i,n?i:r,0]],c=a<0?e.EXTENT+a:a,h=[n?c:(t+i)/2,n?(t+i)/2:c,0];return 0===r&&a<0||0!==r&&a>0?s.getForTilePoints(f,[h],!0,m):l.push(h),s.getForTilePoints(o,l,!0,p),Math.max(l[0][2],l[1][2],h[2])/s.exaggeration()};for(let t=0;t<4;t++){const i=(t<2?1:5)-t,n=r.borders[t];if(0===n.length)continue;const c=f=a[t](o),h=l(c);if(!(h&&h instanceof e.FillExtrusionBucket&&h.enableTerrain))continue;if(r.borderDoneWithNeighborZ[t]===h.canonical.z&&h.borderDoneWithNeighborZ[i]===r.canonical.z)continue;if(m=s.findDEMTileFor(c),!m||!m.dem)continue;if(!p){const e=s.findDEMTileFor(o);if(!e||!e.dem)return;p=e;}const u=h.borders[i];let v=0;const x=h.borderDoneWithNeighborZ[i]!==r.canonical.z;if(r.canonical.z===h.canonical.z){for(let o=0;oa[0]+3));)x&&h.encodeCentroid(void 0,l,!1),v++;if(l&&va[1]-3)&&(n++,++v!==u.length);)l=h.featuresOnBorder[u[v]];if(l=h.featuresOnBorder[u[o]],s.intersectsCount()>1||l.intersectsCount()>1||1!==n){1!==n&&(v=o),r.encodeCentroid(void 0,s,!1),x&&h.encodeCentroid(void 0,l,!1);continue}const c=_[t](s,l),p=t%2?e.EXTENT-1:0;d.x=g(c[0],Math.min(e.EXTENT-1,c[1]),p,t<2,c[2]),d.y=0,r.encodeCentroid(d,s,!1),x&&h.encodeCentroid(d,l,!1);}else r.encodeCentroid(void 0,s,!1);}r.borderDoneWithNeighborZ[t]=h.canonical.z,r.needsCentroidUpdate=!0,x&&(h.borderDoneWithNeighborZ[i]=r.canonical.z,h.needsCentroidUpdate=!0);}else {for(const e of n)r.encodeCentroid(void 0,r.featuresOnBorder[e],!1);if(x){for(const e of u)h.encodeCentroid(void 0,h.featuresOnBorder[e],!1);h.borderDoneWithNeighborZ[i]=r.canonical.z,h.needsCentroidUpdate=!0;}r.borderDoneWithNeighborZ[t]=h.canonical.z,r.needsCentroidUpdate=!0;}}(r.needsCentroidUpdate||!r.centroidVertexBuffer&&0!==r.centroidVertexArray.length)&&r.uploadCentroid(t);}const xo=new e.Color(1,0,0,1),yo=new e.Color(0,1,0,1),bo=new e.Color(0,0,1,1),wo=new e.Color(1,0,1,1),To=new e.Color(0,1,1,1);function Eo(t,i,o){const r=t.context,n=t.transform,s=r.gl,a=\"globe\"===n.projection.name,l=a?[\"PROJECTION_GLOBE_VIEW\"]:null;let c=o.projMatrix;if(a&&e.globeToMercatorTransition(n.zoom)>0){const t=e.transitionTileAABBinECEF(o.canonical,n),i=e.globeDenormalizeECEF(t);c=e.multiply(new Float32Array(16),n.globeMatrix,i),e.multiply(c,n.projMatrix,c);}const h=t.useProgram(\"debug\",null,l),u=i.getTileByID(o.key);t.terrain&&t.terrain.setupElevationDraw(u,h);const _=e.DepthMode.disabled,d=e.StencilMode.disabled,p=t.colorModeForRenderPass(),m=\"$debug\";r.activeTexture.set(s.TEXTURE0),t.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE),a?u._makeGlobeTileDebugBuffers(t.context,n):u._makeDebugTileBoundsBuffers(t.context,n.projection);const f=u._tileDebugBuffer||t.debugBuffer,g=u._tileDebugIndexBuffer||t.debugIndexBuffer,v=u._tileDebugSegments||t.debugSegments;h.draw(r,s.LINE_STRIP,_,d,p,e.CullFaceMode.disabled,Vi(c,e.Color.red),m,f,g,v,null,null,null,[u._globeTileDebugBorderBuffer]);const x=u.latestRawTileData,y=Math.floor((x&&x.byteLength||0)/1024),b=i.getTile(o).tileSize,w=512/Math.min(b,512)*(o.overscaledZ/n.zoom)*.5;let T=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(T+=` => ${o.overscaledZ}`),T+=` ${y}kb`,function(e,t){e.initDebugOverlayCanvas();const i=e.debugOverlayCanvas,o=e.context.gl,r=e.debugOverlayCanvas.getContext(\"2d\");r.clearRect(0,0,i.width,i.height),r.shadowColor=\"white\",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle=\"white\",r.textBaseline=\"top\",r.font=\"bold 36px Open Sans, sans-serif\",r.fillText(t,5,5),r.strokeText(t,5,5),e.debugOverlayTexture.update(i),e.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(t,T);const E=u._tileDebugTextBuffer||t.debugBuffer,C=u._tileDebugTextIndexBuffer||t.quadTriangleIndexBuffer,M=u._tileDebugTextSegments||t.debugSegments;h.draw(r,s.TRIANGLES,_,d,e.ColorMode.alphaBlended,e.CullFaceMode.disabled,Vi(c,e.Color.transparent,w),m,E,C,M,null,null,null,[u._globeTileDebugTextBuffer]);}function Co(e,t,i,o){Io(e,0,t+i/2,e.transform.width,i,o);}function Mo(e,t,i,o){Io(e,t-i/2,0,i,e.transform.height,o);}function Io(t,i,o,r,n,s){const a=t.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*e.exported.devicePixelRatio,o*e.exported.devicePixelRatio,r*e.exported.devicePixelRatio,n*e.exported.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST);}const Po=e.createLayout([{name:\"a_pos_3f\",components:3,type:\"Float32\"}]),{members:So}=Po;function Do(e,t,i,o){e.emplaceBack(t,i,o);}class Lo{constructor(t){this.vertexArray=new e.StructArrayLayout3f12,this.indices=new e.StructArrayLayout3ui6,Do(this.vertexArray,-1,-1,1),Do(this.vertexArray,1,-1,1),Do(this.vertexArray,-1,1,1),Do(this.vertexArray,1,1,1),Do(this.vertexArray,-1,-1,-1),Do(this.vertexArray,1,-1,-1),Do(this.vertexArray,-1,1,-1),Do(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=t.createVertexBuffer(this.vertexArray,So),this.indexBuffer=t.createIndexBuffer(this.indices),this.segment=e.SegmentVector.simpleSegment(0,0,36,12);}}function Ao(t,i,o,r,n,s){const a=t.gl,l=i.paint.get(\"sky-atmosphere-color\"),c=i.paint.get(\"sky-atmosphere-halo-color\"),h=i.paint.get(\"sky-atmosphere-sun-intensity\"),u=((e,t,i,o,r)=>({u_matrix_3f:e,u_sun_direction:t,u_sun_intensity:i,u_color_tint_r:[o.r,o.g,o.b,o.a],u_color_tint_m:[r.r,r.g,r.b,r.a],u_luminance:5e-5}))(e.fromMat4(e.create$1(),r),n,h,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),o.draw(t,a.TRIANGLES,e.DepthMode.disabled,e.StencilMode.disabled,e.ColorMode.unblended,e.CullFaceMode.frontCW,u,\"skyboxCapture\",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment);}const zo=e.createLayout([{type:\"Float32\",name:\"a_pos\",components:3},{type:\"Float32\",name:\"a_uv\",components:2}]);class Ro{constructor(t){const i=new e.StructArrayLayout5f20;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const o=new e.StructArrayLayout3ui6;o.emplaceBack(0,1,2),o.emplaceBack(2,3,0),this.vertexBuffer=t.createVertexBuffer(i,zo.members),this.indexBuffer=t.createIndexBuffer(o),this.segments=e.SegmentVector.simpleSegment(0,0,4,2);}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy();}}const Oo={symbol:function(t,i,o,r,n){if(\"translucent\"!==t.renderPass)return;const s=e.StencilMode.disabled,a=t.colorModeForRenderPass();o.layout.get(\"text-variable-anchor\")&&function(t,i,o,r,n,s,a){const l=i.transform,c=\"map\"===n,h=\"map\"===s;for(const i of t){const t=r.getTile(i),n=t.getBucket(o);if(!n||!n.text||!n.text.segments.get().length)continue;const s=e.evaluateSizeForZoom(n.textSizeData,l.zoom),u=xt(i,n.getProjection(),l),_=l.calculatePixelsToTileUnitsMatrix(t),d=et(u,t.tileID.canonical,h,c,l,n.getProjection(),_),p=\"none\"!==o.layout.get(\"icon-text-fit\")&&n.hasIconData();if(s){const o=Math.pow(2,l.zoom-t.tileID.overscaledZ);uo(n,c,h,a,e.symbolSize,l,d,i,o,s,p);}}}(r,t,o,i,o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),n),0!==o.paint.get(\"icon-opacity\").constantOr(1)&&po(t,i,o,r,!1,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),o.layout.get(\"icon-rotation-alignment\"),o.layout.get(\"icon-pitch-alignment\"),o.layout.get(\"icon-keep-upright\"),s,a),0!==o.paint.get(\"text-opacity\").constantOr(1)&&po(t,i,o,r,!0,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),o.layout.get(\"text-keep-upright\"),s,a),i.map.showCollisionBoxes&&(lo(t,i,o,r,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),!0),lo(t,i,o,r,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),!1));},circle:function(t,i,o,r){if(\"translucent\"!==t.renderPass)return;const n=o.paint.get(\"circle-opacity\"),s=o.paint.get(\"circle-stroke-width\"),a=o.paint.get(\"circle-stroke-opacity\"),l=void 0!==o.layout.get(\"circle-sort-key\").constantOr(1);if(0===n.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const c=t.context,h=c.gl,u=t.transform,_=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),d=e.StencilMode.disabled,p=t.colorModeForRenderPass(),m=\"globe\"===u.projection.name,f=[e.mercatorXfromLng(u.center.lng),e.mercatorYfromLat(u.center.lat)],g=[];for(let n=0;ne.sortKey-t.sortKey));const v={useDepthForOcclusion:!m};for(const i of g){const{programConfiguration:r,program:n,layoutVertexBuffer:s,globeExtVertexBuffer:a,indexBuffer:l,uniformValues:m,tile:f}=i.state,g=i.segments;t.terrain&&t.terrain.setupElevationDraw(f,n,v),t.prepareDrawProgram(c,n,f.tileID.toUnwrapped()),n.draw(c,h.TRIANGLES,_,d,p,e.CullFaceMode.disabled,m,o.id,s,l,g,o.paint,u.zoom,r,[a]);}},heatmap:function(t,i,o,r){if(0!==o.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){const n=t.context,s=n.gl,a=e.StencilMode.disabled,l=new e.ColorMode([s.ONE,s.ONE],e.Color.transparent,[!0,!0,!0,!0]);!function(e,t,i,o){const r=e.gl,n=t.width*o,s=t.height*o;e.activeTexture.set(r.TEXTURE1),e.viewport.set([0,0,n,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==n||a.height!==s)){a&&a.destroy();const t=r.createTexture();r.bindTexture(r.TEXTURE_2D,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),a=i.heatmapFbo=e.createFramebuffer(n,s,!1),function(e,t,i,o,r,n){const s=e.gl;s.texImage2D(s.TEXTURE_2D,0,e.isWebGL2&&e.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,r,n,0,s.RGBA,e.extRenderToTextureHalfFloat?e.isWebGL2?s.HALF_FLOAT:e.extTextureHalfFloat.HALF_FLOAT_OES:s.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(e,0,t,a,n,s);}else r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer);}(n,t,o,\"globe\"===t.transform.projection.name?.5:.25),n.clear({color:e.Color.transparent});const c=t.transform,h=\"globe\"===c.projection.name,u=h?[\"PROJECTION_GLOBE_VIEW\"]:null,_=h?e.CullFaceMode.frontCCW:e.CullFaceMode.disabled,d=[e.mercatorXfromLng(c.center.lng),e.mercatorYfromLat(c.center.lat)];for(let p=0;p({u_image:0,u_color_ramp:1,u_opacity:t.paint.get(\"heatmap-opacity\")}))(0,i),i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom);}(t,o));},line:function(t,i,o,r){if(\"translucent\"!==t.renderPass)return;const n=o.paint.get(\"line-opacity\"),s=o.paint.get(\"line-width\");if(0===n.constantOr(1)||0===s.constantOr(1))return;const a=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),l=t.colorModeForRenderPass(),c=t.terrain&&t.terrain.renderingToTexture?1:e.exported.devicePixelRatio,h=o.paint.get(\"line-dasharray\"),u=h.constantOr(1),_=o.layout.get(\"line-cap\"),d=o.paint.get(\"line-pattern\"),p=d.constantOr(1),m=o.paint.get(\"line-gradient\"),f=p?\"linePattern\":\"line\",g=t.context,v=g.gl,x=(e=>{const t=[];Ki(e)&&t.push(\"RENDER_LINE_DASH\"),e.paint.get(\"line-gradient\")&&t.push(\"RENDER_LINE_GRADIENT\");const i=e.paint.get(\"line-trim-offset\");0===i[0]&&0===i[1]||t.push(\"RENDER_LINE_TRIM_OFFSET\");const o=e.paint.get(\"line-pattern\").constantOr(1),r=1!==e.paint.get(\"line-opacity\").constantOr(1);return !o&&r&&t.push(\"RENDER_LINE_ALPHA_DISCARD\"),t})(o);let y=x.includes(\"RENDER_LINE_ALPHA_DISCARD\");t.terrain&&t.terrain.clipOrMaskOverlapStencilType()&&(y=!1);for(const n of r){const r=i.getTile(n);if(p&&!r.patternsLoaded())continue;const s=r.getBucket(o);if(!s)continue;t.prepareDrawTile();const b=s.programConfigurations.get(o.id),w=t.useProgram(f,b,x),T=d.constantOr(null);if(T&&r.imageAtlas){const e=r.imageAtlas.patternPositions[T.toString()];e&&b.setConstantPatternPositions(e);}const E=h.constantOr(null),C=_.constantOr(null);if(!p&&E&&C&&r.lineAtlas){const e=r.lineAtlas.getDash(E,C);e&&b.setConstantPatternPositions(e);}let[M,I]=o.paint.get(\"line-trim-offset\");if(\"round\"===C||\"square\"===C){const e=1;M!==I&&(0===M&&(M-=e),1===I&&(I+=e));}const P=t.terrain?n.projMatrix:null,S=p?$i(t,r,o,P,c):qi(t,r,o,P,s.lineClipsArray.length,c,[M,I]);if(m){const r=s.gradients[o.id];let a=r.texture;if(o.gradientVersion!==r.version){let l=256;if(o.stepInterpolant){const o=i.getSource().maxzoom,r=n.canonical.z===o?Math.ceil(1<{w.draw(g,v.TRIANGLES,a,i,l,e.CullFaceMode.disabled,S,o.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,o.paint,t.transform.zoom,b,[s.layoutVertexBuffer2]);};if(y){const i=t.stencilModeForClipping(n).ref;0===i&&t.terrain&&g.clear({stencil:0});const o={func:v.EQUAL,mask:255};S.u_alpha_discard_threshold=.8,D(new e.StencilMode(o,i,255,v.KEEP,v.KEEP,v.INVERT)),S.u_alpha_discard_threshold=0,D(new e.StencilMode(o,i,255,v.KEEP,v.KEEP,v.KEEP));}else D(t.stencilModeForClipping(n));}y&&(t.resetStencilClippingMasks(),t.terrain&&g.clear({stencil:0}));},fill:function(t,i,o,r){const n=o.paint.get(\"fill-color\"),s=o.paint.get(\"fill-opacity\");if(0===s.constantOr(1))return;const a=t.colorModeForRenderPass(),l=o.paint.get(\"fill-pattern\"),c=t.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===n.constantOr(e.Color.transparent).a&&1===s.constantOr(0)?\"opaque\":\"translucent\";if(t.renderPass===c){const n=t.depthModeForSublayer(1,\"opaque\"===t.renderPass?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly);fo(t,i,o,r,n,a,!1);}if(\"translucent\"===t.renderPass&&o.paint.get(\"fill-antialias\")){const n=t.depthModeForSublayer(o.getPaintProperty(\"fill-outline-color\")?2:0,e.DepthMode.ReadOnly);fo(t,i,o,r,n,a,!0);}},\"fill-extrusion\":function(t,i,o,r){const n=o.paint.get(\"fill-extrusion-opacity\");if(0!==n&&\"translucent\"===t.renderPass){const s=new e.DepthMode(t.context.gl.LEQUAL,e.DepthMode.ReadWrite,t.depthRangeFor3D);if(1!==n||o.paint.get(\"fill-extrusion-pattern\").constantOr(1))go(t,i,o,r,s,e.StencilMode.disabled,e.ColorMode.disabled),go(t,i,o,r,s,t.stencilModeFor3D(),t.colorModeForRenderPass()),t.resetStencilClippingMasks();else {const n=t.colorModeForRenderPass();go(t,i,o,r,s,e.StencilMode.disabled,n);}}},hillshade:function(t,i,o,r){if(\"offscreen\"!==t.renderPass&&\"translucent\"!==t.renderPass)return;const n=t.context,s=t.depthModeForSublayer(0,e.DepthMode.ReadOnly),a=t.colorModeForRenderPass(),l=t.terrain&&t.terrain.renderingToTexture,[c,h]=\"translucent\"!==t.renderPass||l?[{},r]:t.stencilConfigForOverlap(r);for(const r of h){const n=i.getTile(r);if(n.needsHillshadePrepare&&\"offscreen\"===t.renderPass)fi(t,n,o,s,e.StencilMode.disabled,a);else if(\"translucent\"===t.renderPass){const e=l&&t.terrain?t.terrain.stencilModeForRTTOverlap(r):c[r.overscaledZ];pi(t,r,n,o,s,e,a);}}n.viewport.set([0,0,t.width,t.height]),t.resetStencilClippingMasks();},raster:function(t,i,o,r,n,s){if(\"translucent\"!==t.renderPass)return;if(0===o.paint.get(\"raster-opacity\"))return;if(!r.length)return;const a=t.context,l=a.gl,c=i.getSource(),h=t.useProgram(\"raster\"),u=t.colorModeForRenderPass(),_=t.terrain&&t.terrain.renderingToTexture,[d,p]=c instanceof Pe||_?[{},r]:t.stencilConfigForOverlap(r),m=p[p.length-1].overscaledZ,f=!t.options.moving;for(const r of p){const n=_?e.DepthMode.disabled:t.depthModeForSublayer(r.overscaledZ-m,1===o.paint.get(\"raster-opacity\")?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly,l.LESS),p=r.toUnwrapped(),g=i.getTile(r);if(_&&(!g||!g.hasData()))continue;const v=_?r.projMatrix:t.transform.calculateProjMatrix(p,f),x=t.terrain&&_?t.terrain.stencilModeForRTTOverlap(r):d[r.overscaledZ],y=s?0:o.paint.get(\"raster-fade-duration\");g.registerFadeDuration(y);const b=i.findLoadedParent(r,0),w=Mi(g,b,i,t.transform,y);let T,E;t.terrain&&t.terrain.prepareDrawTile();const C=\"nearest\"===o.paint.get(\"raster-resampling\")?l.NEAREST:l.LINEAR;a.activeTexture.set(l.TEXTURE0),g.texture.bind(C,l.CLAMP_TO_EDGE),a.activeTexture.set(l.TEXTURE1),b?(b.texture.bind(C,l.CLAMP_TO_EDGE),T=Math.pow(2,b.tileID.overscaledZ-g.tileID.overscaledZ),E=[g.tileID.canonical.x*T%1,g.tileID.canonical.y*T%1]):g.texture.bind(C,l.CLAMP_TO_EDGE),g.texture.useMipmap&&a.extTextureFilterAnisotropic&&t.transform.pitch>20&&l.texParameterf(l.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax);const M=Ji(v,E||[0,0],T||1,w,o,c instanceof Pe?c.perspectiveTransform:[0,0]);if(t.prepareDrawProgram(a,h,p),c instanceof Pe)c.boundsBuffer&&c.boundsSegments&&h.draw(a,l.TRIANGLES,n,e.StencilMode.disabled,u,e.CullFaceMode.disabled,M,o.id,c.boundsBuffer,t.quadTriangleIndexBuffer,c.boundsSegments);else {const{tileBoundsBuffer:i,tileBoundsIndexBuffer:r,tileBoundsSegments:s}=t.getTileBoundsBuffers(g);h.draw(a,l.TRIANGLES,n,x,u,e.CullFaceMode.disabled,M,o.id,i,r,s);}}t.resetStencilClippingMasks();},background:function(t,i,o,r){const n=o.paint.get(\"background-color\"),s=o.paint.get(\"background-opacity\");if(0===s)return;const a=t.context,l=a.gl,c=t.transform,h=c.tileSize,u=o.paint.get(\"background-pattern\");if(t.isPatternMissing(u))return;const _=!u&&1===n.a&&1===s&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass!==_)return;const d=e.StencilMode.disabled,p=t.depthModeForSublayer(0,\"opaque\"===_?e.DepthMode.ReadWrite:e.DepthMode.ReadOnly),m=t.colorModeForRenderPass(),f=t.useProgram(u?\"backgroundPattern\":\"background\");let g,v=r;v||(g=t.getBackgroundTiles(),v=Object.values(g).map((e=>e.tileID))),u&&(a.activeTexture.set(l.TEXTURE0),t.imageManager.bind(t.context));for(const _ of v){const v=_.toUnwrapped(),x=r?_.projMatrix:t.transform.calculateProjMatrix(v);t.prepareDrawTile();const y=i?i.getTile(_):g?g[_.key]:new e.Tile(_,h,c.zoom,t),b=u?no(x,s,t,u,{tileID:_,tileSize:h}):ro(x,s,n);t.prepareDrawProgram(a,f,v);const{tileBoundsBuffer:w,tileBoundsIndexBuffer:T,tileBoundsSegments:E}=t.getTileBoundsBuffers(y);f.draw(a,l.TRIANGLES,p,d,m,e.CullFaceMode.disabled,b,o.id,w,T,E);}},sky:function(t,i,o){const r=t.transform,n=\"mercator\"===r.projection.name||\"globe\"===r.projection.name?1:e.smoothstep(7,8,r.zoom),s=o.paint.get(\"sky-opacity\")*n;if(0===s)return;const a=t.context,l=o.paint.get(\"sky-type\"),c=new e.DepthMode(a.gl.LEQUAL,e.DepthMode.ReadOnly,[0,1]),h=t.frameCounter/1e3%1;\"atmosphere\"===l?\"offscreen\"===t.renderPass?o.needsSkyboxCapture(t)&&(function(t,i,o,r){const n=t.context,s=n.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=n.createFramebuffer(32,32,!1),i.skyboxGeometry=new Lo(n),i.skyboxTexture=n.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let e=0;e<6;++e)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null);}n.bindFramebuffer.set(a.framebuffer),n.viewport.set([0,0,32,32]);const l=i.getCenter(t,!0),c=t.useProgram(\"skyboxCapture\"),h=new Float64Array(16);e.identity(h),e.rotateY(h,h,.5*-Math.PI),Ao(n,i,c,h,l,0),e.identity(h),e.rotateY(h,h,.5*Math.PI),Ao(n,i,c,h,l,1),e.identity(h),e.rotateX(h,h,.5*-Math.PI),Ao(n,i,c,h,l,2),e.identity(h),e.rotateX(h,h,.5*Math.PI),Ao(n,i,c,h,l,3),e.identity(h),Ao(n,i,c,h,l,4),e.identity(h),e.rotateY(h,h,Math.PI),Ao(n,i,c,h,l,5),n.viewport.set([0,0,t.width,t.height]);}(t,o),o.markSkyboxValid(t)):\"sky\"===t.renderPass&&function(t,i,o,r,n){const s=t.context,a=s.gl,l=t.transform,c=t.useProgram(\"skybox\");s.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_CUBE_MAP,i.skyboxTexture);const h=((e,t,i,o,r)=>({u_matrix:e,u_sun_direction:t,u_cubemap:0,u_opacity:o,u_temporal_offset:r}))(l.skyboxMatrix,i.getCenter(t,!1),0,r,n);t.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,o,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.backCW,h,\"skybox\",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment);}(t,o,c,s,h):\"gradient\"===l&&\"sky\"===t.renderPass&&function(t,i,o,r,n){const s=t.context,a=s.gl,l=t.transform,c=t.useProgram(\"skyboxGradient\");i.skyboxGeometry||(i.skyboxGeometry=new Lo(s)),s.activeTexture.set(a.TEXTURE0);let h=i.colorRampTexture;h||(h=i.colorRampTexture=new e.Texture(s,i.colorRamp,a.RGBA)),h.bind(a.LINEAR,a.CLAMP_TO_EDGE);const u=((t,i,o,r,n)=>({u_matrix:t,u_color_ramp:0,u_center_direction:i,u_radius:e.degToRad(o),u_opacity:r,u_temporal_offset:n}))(l.skyboxMatrix,i.getCenter(t,!1),i.paint.get(\"sky-gradient-radius\"),r,n);t.prepareDrawProgram(s,c),c.draw(s,a.TRIANGLES,o,e.StencilMode.disabled,t.colorModeForRenderPass(),e.CullFaceMode.backCW,u,\"skyboxGradient\",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment);}(t,o,c,s,h);},debug:function(e,t,i){for(let o=0;oo)return void(this.transform.fogCullDistSq=null);const r=i+.78*(o-i);this.transform.fogCullDistSq=r*r;}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}resize(t,i){if(this.width=t*e.exported.devicePixelRatio,this.height=i*e.exported.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const e of this.style.order)this.style._layers[e].resize();}setup(){const t=this.context,i=new e.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(e.EXTENT,0),i.emplaceBack(0,e.EXTENT),i.emplaceBack(e.EXTENT,e.EXTENT),this.tileExtentBuffer=t.createVertexBuffer(i,e.posAttributes.members),this.tileExtentSegments=e.SegmentVector.simpleSegment(0,0,4,2);const o=new e.StructArrayLayout2i4;o.emplaceBack(0,0),o.emplaceBack(e.EXTENT,0),o.emplaceBack(0,e.EXTENT),o.emplaceBack(e.EXTENT,e.EXTENT),this.debugBuffer=t.createVertexBuffer(o,e.posAttributes.members),this.debugSegments=e.SegmentVector.simpleSegment(0,0,4,5);const r=new e.StructArrayLayout2i4;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(-1,1),r.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(r,e.posAttributes.members),this.viewportSegments=e.SegmentVector.simpleSegment(0,0,4,2);const n=new e.StructArrayLayout4i8;n.emplaceBack(0,0,0,0),n.emplaceBack(e.EXTENT,0,e.EXTENT,0),n.emplaceBack(0,e.EXTENT,0,e.EXTENT),n.emplaceBack(e.EXTENT,e.EXTENT,e.EXTENT,e.EXTENT),this.mercatorBoundsBuffer=t.createVertexBuffer(n,e.boundsAttributes.members),this.mercatorBoundsSegments=e.SegmentVector.simpleSegment(0,0,4,2);const s=new e.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const a=new e.StructArrayLayout1ui2;for(const e of [0,1,3,2,0])a.emplaceBack(e);this.debugIndexBuffer=t.createIndexBuffer(a),this.emptyTexture=new e.Texture(t,new e.RGBAImage({width:1,height:1},Uint8Array.of(0,0,0,0)),t.gl.RGBA),this.identityMat=e.create();const l=this.context.gl;this.stencilClearMode=new e.StencilMode({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(e.window.performance.now()),this.atmosphereBuffer=new Ro(this.context);}getMercatorTileBoundsBuffers(){return {tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(e){return e._makeTileBoundsBuffers(this.context,this.transform.projection),e._tileBoundsBuffer?{tileBoundsBuffer:e._tileBoundsBuffer,tileBoundsIndexBuffer:e._tileBoundsIndexBuffer,tileBoundsSegments:e._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.useProgram(\"clippingMask\").draw(t,i.TRIANGLES,e.DepthMode.disabled,this.stencilClearMode,e.ColorMode.disabled,e.CullFaceMode.disabled,Ci(this.identityMat),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={});}_renderTileClippingMasks(t,i,o){if(!i||this.currentStencilSource===i.id||!t.isTileClipped()||!o||0===o.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let e=!1;for(const t of o)if(void 0===this._tileClippingMaskIDs[t.key]){e=!0;break}if(!e)return}this.currentStencilSource=i.id;const r=this.context,n=r.gl;this.nextStencilID+o.length>256&&this.clearStencil(),r.setColorMode(e.ColorMode.disabled),r.setDepthMode(e.DepthMode.disabled);const s=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of o){const o=i.getTile(t),a=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,{tileBoundsBuffer:l,tileBoundsIndexBuffer:c,tileBoundsSegments:h}=this.getTileBoundsBuffers(o);s.draw(r,n.TRIANGLES,e.DepthMode.disabled,new e.StencilMode({func:n.ALWAYS,mask:0},a,255,n.KEEP,n.KEEP,n.REPLACE),e.ColorMode.disabled,e.CullFaceMode.disabled,Ci(t.projMatrix),\"$clipping\",l,c,h);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,i=this.context.gl;return new e.StencilMode({func:i.NOTEQUAL,mask:255},t,255,i.KEEP,i.KEEP,i.REPLACE)}stencilModeForClipping(t){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(t);const i=this.context.gl;return new e.StencilMode({func:i.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,i.KEEP,i.KEEP,i.REPLACE)}stencilConfigForOverlap(t){const i=this.context.gl,o=t.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=o[o.length-1].overscaledZ,n=o[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let o=0;o=0;this.currentLayer--){const e=this.style._layers[o[this.currentLayer]],i=t._getLayerSourceCache(e);if(e.isSky())continue;const r=i?s[i.id]:void 0;this._renderTileClippingMasks(e,i,r),this.renderLayer(this,i,e,r);}if(this.style.fog&&this.transform.projection.supportsFog&&function(t,i){const o=t.context,r=o.gl,n=t.transform,s=new e.DepthMode(r.LEQUAL,e.DepthMode.ReadOnly,[0,1]),a=t.useProgram(\"globeAtmosphere\",null,\"globe\"===n.projection.name?[\"PROJECTION_GLOBE_VIEW\",\"FOG\"]:[\"FOG\"]),l=e.globeToMercatorTransition(n.zoom),c=i.properties.get(\"color\").toArray01(),h=i.properties.get(\"high-color\").toArray01(),u=i.properties.get(\"space-color\").toArray01PremultipliedAlpha(),_=e.identity$1([]);e.rotateY$1(_,_,-e.degToRad(n._center.lng)),e.rotateX$1(_,_,e.degToRad(n._center.lat)),e.rotateZ$1(_,_,n.angle),e.rotateX$1(_,_,-n._pitch);const d=e.fromQuat(new Float32Array(16),_),p=e.mapValue(i.properties.get(\"star-intensity\"),0,1,0,.25),m=5e-4,f=e.mapValue(i.properties.get(\"horizon-blend\"),0,1,m,.25),g=e.globeUseCustomAntiAliasing(t,o,n)&&f===m?n.worldSize/(2*Math.PI*1.025)-1:n.globeRadius,v=t.frameCounter/1e3%1,x=e.length(n.globeCenterInViewSpace),y=Math.sqrt(Math.pow(x,2)-Math.pow(g,2)),b=Math.acos(y/x),w=((t,i,o,r,n,s,a,l,c,h,u,_,d,p)=>({u_frustum_tl:t,u_frustum_tr:i,u_frustum_br:o,u_frustum_bl:r,u_horizon:n,u_transition:s,u_fadeout_range:a,u_color:l,u_high_color:c,u_space_color:h,u_star_intensity:u,u_star_size:5*e.exported.devicePixelRatio,u_star_density:0,u_temporal_offset:_,u_horizon_angle:d,u_rotation_matrix:p}))(n.frustumCorners.TL,n.frustumCorners.TR,n.frustumCorners.BR,n.frustumCorners.BL,n.frustumCorners.horizon,l,f,c,h,u,p,v,b,d);t.prepareDrawProgram(o,a);const T=t.atmosphereBuffer;T&&a.draw(o,r.TRIANGLES,s,e.StencilMode.disabled,e.ColorMode.alphaBlended,e.CullFaceMode.backCW,w,\"skybox\",T.vertexBuffer,T.indexBuffer,T.segments);}(this,this.style.fog),this.renderPass=\"sky\",(e.globeToMercatorTransition(this.transform.zoom)>0||\"globe\"!==this.transform.projection.name)&&this.transform.isHorizonVisible())for(this.currentLayer=0;this.currentLayer{const o=t._getLayerSourceCache(e);o&&!e.isHidden(this.transform.zoom)&&(!i||i.getSource().maxzoom0?t.pop():null}isPatternMissing(e){return null===e||void 0!==e&&!this.imageManager.getPattern(e.toString())}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}currentGlobalDefines(){const e=this.terrain&&this.terrain.renderingToTexture,t=this.terrain&&0===this.terrain.exaggeration(),i=this.style&&this.style.fog,o=[];return this.terrainRenderModeElevated()&&o.push(\"TERRAIN\"),\"globe\"===this.transform.projection.name&&o.push(\"GLOBE\"),t&&o.push(\"ZERO_EXAGGERATION\"),i&&!e&&0!==i.getOpacity(this.transform.pitch)&&o.push(\"FOG\"),e&&o.push(\"RENDER_TO_TEXTURE\"),this._showOverdrawInspector&&o.push(\"OVERDRAW_INSPECTOR\"),o}useProgram(e,t,i){this.cache=this.cache||{};const o=i||[],r=this.currentGlobalDefines().concat(o),n=Li.cacheKey(ci[e],e,r,t);return this.cache[n]||(this.cache[n]=new Li(this.context,e,ci[e],t,so[e],r)),this.cache[n]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=e.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this._terrain&&this._terrain.destroy(),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.atmosphereBuffer&&this.atmosphereBuffer.destroy();}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile();}prepareDrawProgram(t,i,o){if(this.terrain&&this.terrain.renderingToTexture)return;const r=this.style.fog;if(r){const n=r.getOpacity(this.transform.pitch),s=((t,i,o,r,n,s,a,l,c,h,u)=>{const _=t.transform,d=i.properties.get(\"color\").toArray01();d[3]=r;const p=t.frameCounter/1e3%1;return {u_fog_matrix:o?_.calculateFogTileMatrix(o):t.identityMat,u_fog_range:i.getFovAdjustedRange(_._fov),u_fog_color:d,u_fog_horizon_blend:i.properties.get(\"horizon-blend\"),u_fog_temporal_offset:p,u_frustum_tl:n,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:h,u_viewport:u,u_globe_transition:e.globeToMercatorTransition(_.zoom),u_is_globe:+(\"globe\"===_.projection.name)}})(this,r,o,n,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*e.exported.devicePixelRatio,this.transform.height*e.exported.devicePixelRatio]);i.setFogUniformValues(t,s);}}setTileLoadedFlag(e){this.tileLoaded=e;}saveCanvasCopy(){const e=this.canvasCopy();e&&(this.frameCopies.push(e),this.tileLoaded=!1);}canvasCopy(){const e=this.context.gl,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,0,0,e.drawingBufferWidth,e.drawingBufferHeight,0),t}getCanvasCopiesAndTimestamps(){return {canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return !1;const e=this.style&&this.style.fog;return !!e&&0!==e.getOpacity(this.transform.pitch)}getBackgroundTiles(){const t=this._backgroundTiles,i=this._backgroundTiles={},o=this.transform.coveringTiles({tileSize:512});for(const r of o)i[r.key]=t[r.key]||new e.Tile(r,512,this.transform.tileZoom,this);return i}clearBackgroundTiles(){this._backgroundTiles={};}}class ko{constructor(e=0,t=0,i=0,o=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(o)||o<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=e,this.bottom=t,this.left=i,this.right=o;}interpolate(t,i,o){return null!=i.top&&null!=t.top&&(this.top=e.number(t.top,i.top,o)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,i.bottom,o)),null!=i.left&&null!=t.left&&(this.left=e.number(t.left,i.left,o)),null!=i.right&&null!=t.right&&(this.right=e.number(t.right,i.right,o)),this}getCenter(t,i){const o=e.clamp((this.left+t-this.right)/2,0,t),r=e.clamp((this.top+i-this.bottom)/2,0,i);return new e.Point(o,r)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new ko(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Fo(t,i){const o=e.getColumn(t,3);e.fromQuat(t,i),e.setColumn(t,3,o);}function Uo(t,i){const o=e.identity$1([]);return e.rotateZ$1(o,o,-i),e.rotateX$1(o,o,-t),o}function No(t,i){const o=[t[0],t[1],0],r=[i[0],i[1],0];if(e.length(o)>=1e-15){const t=e.normalize([],o);e.scale$2(r,t,e.dot(r,t)),i[0]=r[0],i[1]=r[1];}const n=e.cross([],i,t);if(e.len(n)<1e-15)return null;const s=Math.atan2(-n[1],n[0]);return Uo(Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2]),s)}class jo{constructor(e,t){this.position=e,this.orientation=t;}get position(){return this._position}set position(t){if(t){const i=t instanceof e.MercatorCoordinate?t:new e.MercatorCoordinate(t[0],t[1],t[2]);this._renderWorldCopies&&(i.x=e.wrap(i.x,0,1)),this._position=i;}else this._position=null;}lookAtPoint(t,i){if(this.orientation=null,!this.position)return;const o=this.position,r=this._elevation?this._elevation.getAtPointOrZero(e.MercatorCoordinate.fromLngLat(t)):0,n=e.MercatorCoordinate.fromLngLat(t,r),s=[n.x-o.x,n.y-o.y,n.z-o.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=No(s,i);}setPitchBearing(t,i){this.orientation=Uo(e.degToRad(t),e.degToRad(-i));}}class Go{constructor(t,i){this._transform=e.identity([]),this.orientation=i,this.position=t;}get mercatorPosition(){const t=this.position;return new e.MercatorCoordinate(t[0],t[1],t[2])}get position(){const t=e.getColumn(this._transform,3);return [t[0],t[1],t[2]]}set position(t){var i;t&&e.setColumn(this._transform,3,[(i=t)[0],i[1],i[2],1]);}get orientation(){return this._orientation}set orientation(t){this._orientation=t||e.identity$1([]),t&&Fo(this._transform,this._orientation);}getPitchBearing(){const e=this.forward(),t=this.right();return {bearing:Math.atan2(-t[1],t[0]),pitch:Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2])}}setPitchBearing(e,t){this._orientation=Uo(e,t),Fo(this._transform,this._orientation);}forward(){const t=e.getColumn(this._transform,2);return [-t[0],-t[1],-t[2]]}up(){const t=e.getColumn(this._transform,1);return [-t[0],-t[1],-t[2]]}right(){const t=e.getColumn(this._transform,0);return [t[0],t[1],t[2]]}getCameraToWorld(t,i){const o=new Float64Array(16);return e.invert(o,this.getWorldToCamera(t,i)),o}getWorldToCameraPosition(t,i,o){const r=this.position;e.scale$2(r,r,-t);const n=new Float64Array(16);return e.fromScaling(n,[o,o,o]),e.translate(n,n,r),n[10]*=i,n}getWorldToCamera(t,i){const o=new Float64Array(16),r=new Float64Array(4),n=this.position;return e.conjugate(r,this._orientation),e.scale$2(n,n,-t),e.fromQuat(o,r),e.translate(o,o,n),o[1]*=-1,o[5]*=-1,o[9]*=-1,o[13]*=-1,o[8]*=i,o[9]*=i,o[10]*=i,o[11]*=i,o}getCameraToClipPerspective(t,i,o,r){const n=new Float64Array(16);return e.perspective(n,t,i,o,r),n}getDistanceToElevation(t,i=!1){const o=0===t?0:e.mercatorZfromAltitude(t,i?e.latFromMercatorY(this.position[1]):this.position[1]),r=this.forward();return (o-this.position[2])/r[2]}clone(){return new Go([...this.position],[...this.orientation])}}function Zo(t,i){const o=Wo(t.projection,t.zoom,t.width,t.height),r=function(t,i,o,r,n){const s=new e.LngLat(o.lng-180*Xo,o.lat),a=new e.LngLat(o.lng+180*Xo,o.lat),l=t.project(s.lng,s.lat),c=t.project(a.lng,a.lat),h=-Math.atan2(c.y-l.y,c.x-l.x),u=e.MercatorCoordinate.fromLngLat(o);u.y=e.clamp(u.y,-1+Xo,1-Xo);const _=u.toLngLat(),d=t.project(_.lng,_.lat),p=e.MercatorCoordinate.fromLngLat(_);p.x+=Xo;const m=p.toLngLat(),f=t.project(m.lng,m.lat),g=$o(f.x-d.x,f.y-d.y,h),v=e.MercatorCoordinate.fromLngLat(_);v.y+=Xo;const x=v.toLngLat(),y=t.project(x.lng,x.lat),b=$o(y.x-d.x,y.y-d.y,h),w=Math.abs(g.x)/Math.abs(b.y),T=e.identity([]);e.rotateZ(T,T,-h*(1-(n?0:r)));const E=e.identity([]);return e.scale(E,E,[1,1-(1-w)*r,1]),E[4]=-b.x/b.y*r,e.rotateZ(E,E,h),e.multiply(E,T,E),E}(t.projection,0,t.center,o,i),n=Vo(t);return e.scale(r,r,[n,n,1]),r}function Vo(t){const i=t.projection,o=Wo(t.projection,t.zoom,t.width,t.height),r=qo(i,t.center),n=qo(i,e.LngLat.convert(i.center));return Math.pow(2,r*o+(1-o)*n)}function Wo(t,i,o,r,n=1/0){const s=t.range;if(!s)return 0;const a=Math.min(n,Math.max(o,r)),l=Math.log(a/1024)/Math.LN2;return e.smoothstep(s[0]+l,s[1]+l,i)}const Xo=1/4e4;function qo(t,i){const o=e.clamp(i.lat,-e.MAX_MERCATOR_LATITUDE,e.MAX_MERCATOR_LATITUDE),r=new e.LngLat(i.lng-180*Xo,o),n=new e.LngLat(i.lng+180*Xo,o),s=t.project(r.lng,o),a=t.project(n.lng,o),l=e.MercatorCoordinate.fromLngLat(r),c=e.MercatorCoordinate.fromLngLat(n),h=a.x-s.x,u=a.y-s.y,_=c.x-l.x,d=c.y-l.y,p=Math.sqrt((_*_+d*d)/(h*h+u*u));return Math.log(p)/Math.LN2}function $o(e,t,i){const o=Math.cos(i),r=Math.sin(i);return {x:e*o-t*r,y:e*r+t*o}}class Ho{constructor(t,i,o,r,n,s,a){this.tileSize=512,this._renderWorldCopies=void 0===n||n,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==r?60:r,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new ko,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._distanceTileDataCache={},this._camera=new Go,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference=\"ground\",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._horizonShift=.1;}clone(){const e=new Ho(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return e._elevation=this._elevation,e._centerAltitude=this._centerAltitude,e._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,e.tileSize=this.tileSize,e.mercatorFromTransition=this.mercatorFromTransition,e.width=this.width,e.height=this.height,e.cameraElevationReference=this.cameraElevationReference,e._center=this._center,e._setZoom(this.zoom),e._seaLevelZoom=this._seaLevelZoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._nearZ=this._nearZ,e._farZ=this._farZ,e._averageElevation=this._averageElevation,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._camera=this._camera.clone(),e._calcMatrices(),e.freezeTileCoverage=this.freezeTileCoverage,e.frustumCorners=this.frustumCorners,e}get elevation(){return this._elevation}set elevation(e){this._elevation!==e&&(this._elevation=e,this._updateCameraOnTerrain(),this._calcMatrices());}updateElevation(e,t=!1){const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(e||i)&&this._constrainCamera(t),this._calcMatrices();}getProjection(){return e.pick(this.projection,[\"name\",\"center\",\"parallels\"])}setProjection(i){this.projectionOptions=i||{name:\"mercator\"};const o=this.projection?this.getProjection():void 0;this.projection=e.getProjection(this.projectionOptions);const r=!t(o,this.getProjection());return r&&this._calcMatrices(),this.mercatorFromTransition=!1,r}setMercatorFromTransition(){const t=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:\"mercator\"},this.projection=e.getProjection({name:\"mercator\"});const i=t!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e));}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e));}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e));}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e));}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e;}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get cameraWorldSize(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return e.mercatorZfromAltitude(this.center.lat,this.cameraWorldSizeForFog)}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.Point(this.width,this.height)}get bearing(){return e.wrap(this.rotation,-180,180)}set bearing(e){this.rotation=e;}get rotation(){return -this.angle/Math.PI*180}set rotation(t){const i=-t*Math.PI/180;var o;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(o=new e.ARRAY_TYPE(4),e.ARRAY_TYPE!=Float32Array&&(o[1]=0,o[2]=0),o[0]=1,o[3]=1,o),function(e,t,i){var o=t[0],r=t[1],n=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);e[0]=o*l+n*a,e[1]=r*l+s*a,e[2]=o*-a+n*l,e[3]=r*-a+s*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const e=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/e)}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=e.degToRad(t),this._calcMatrices());}get averageElevation(){return this._averageElevation}set averageElevation(e){this._averageElevation=e,this._calcFogMatrices(),this._distanceTileDataCache={};}get zoom(){return this._zoom}set zoom(e){const t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._setZoom(t),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices());}_setZoom(e){this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom;}_updateCameraOnTerrain(){if(!this._elevation||!this._elevation.isDataAvailableAtPoint(this.locationCoordinate(this.center)))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const e=this._elevation;this._centerAltitude=e.getAtPointOrZero(this.locationCoordinate(this.center)),this._centerAltitudeValidForExaggeration=e.exaggeration(),this._updateSeaLevelZoom();}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize));}sampleAverageElevation(){if(!this._elevation)return 0;const t=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],o=this.horizonLineFromTop();let r=0,n=0;for(let s=0;st.maxzoom&&(i=t.maxzoom);const s=this.locationCoordinate(this.center),a=this.center.lat,l=1<{const i=1/4e4,o=new e.MercatorCoordinate(t.x+i,t.y,t.z),r=new e.MercatorCoordinate(t.x,t.y+i,t.z),n=t.toLngLat(),s=o.toLngLat(),a=r.toLngLat(),l=this.locationCoordinate(n),c=this.locationCoordinate(s),h=this.locationCoordinate(a),u=Math.hypot(c.x-l.x,c.y-l.y),_=Math.hypot(h.x-l.x,h.y-l.y);return Math.sqrt(u*_)*b/i},T=t=>{const i=x,o=y;return {aabb:e.tileAABB(this,l,0,0,0,t,o,i,this.projection),zoom:0,x:0,y:0,minZ:o,maxZ:i,wrap:t,fullyVisible:!1}},E=[];let C=[];const M=i,I=t.reparseOverscaled?o:i,P=e=>e*e,S=P((m-this._centerAltitude)*p),D=e=>{if(!this._elevation||!e.tileID||!n)return;const t=this._elevation.getMinMaxForTile(e.tileID),i=e.aabb;t?(i.min[2]=t.min,i.max[2]=t.max,i.center[2]=(i.min[2]+i.max[2])/2):(e.shouldSplit=L(e),e.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude));},L=t=>{if(t.zoom=.9)return !0}else if(r&&(s=P(t.aabb.distanceZ(f)*p)),this.projection.isReprojectedInTileSpace&&o<=5){const i=Math.pow(2,t.zoom),o=w(new e.MercatorCoordinate((t.x+.5)/i,(t.y+.5)/i));l=o>.85?1:o;}const c=i*i+n*n+s,u=P((1<{if(t*P(.707)0;){const o=E.pop(),s=o.x,a=o.y;let u=o.fullyVisible;if(!u){const e=o.aabb.intersects(_);if(0===e)continue;u=2===e;}if(o.zoom!==M&&L(o))for(let t=0;t<4;t++){const i=(s<<1)+t%2,c=(a<<1)+(t>>1),_={aabb:n?o.aabb.quadrant(t):e.tileAABB(this,l,o.zoom+1,i,c,o.wrap,o.minZ,o.maxZ,this.projection),zoom:o.zoom+1,x:i,y:c,wrap:o.wrap,fullyVisible:u,tileID:void 0,shouldSplit:void 0,minZ:o.minZ,maxZ:o.maxZ};r&&!h&&(_.tileID=new e.OverscaledTileID(o.zoom+1===M?I:o.zoom+1,o.wrap,o.zoom+1,i,c),D(_)),E.push(_);}else {const r=o.zoom===M?I:o.zoom;if(t.minzoom&&t.minzoom>r)continue;const n=c[0]-(.5+s+(o.wrap<{const n=[0,0,0,1],s=[e.EXTENT,e.EXTENT,0,1],a=this.calculateFogTileMatrix(r.tileID.toUnwrapped());e.transformMat4$1(n,n,a),e.transformMat4$1(s,s,a);const l=e.getAABBPointSquareDist(n,s);if(0===l)return !0;let c=!1;const h=this._elevation;if(h&&l>i&&0!==o){const i=this.calculateProjMatrix(r.tileID.toUnwrapped());let n;t.isTerrainDEM||(n=h.getMinMaxForTile(r.tileID)),n||(n={min:y,max:x});const s=e.furthestTileCorner(this.rotation),a=[s[0]*e.EXTENT,s[1]*e.EXTENT,n.max];e.transformMat4(a,a,i),c=(1-a[1])*this.height*.5e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(t){const i=e.clamp(t.lat,-e.MAX_MERCATOR_LATITUDE,e.MAX_MERCATOR_LATITUDE),o=this.projection.project(t.lng,i);return new e.Point(o.x*this.worldSize,o.y*this.worldSize)}unproject(e){return this.projection.unproject(e.x/this.worldSize,e.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/e.mercatorZfromAltitude(1,this.center.lat)/this.worldSize}setLocationAtPoint(t,i){let o,r;const n=this.centerPoint;if(\"globe\"===this.projection.name){const e=this.worldSize;o=(i.x-n.x)/e,r=(i.y-n.y)/e;}else {const e=this.pointCoordinate(i),t=this.pointCoordinate(n);o=e.x-t.x,r=e.y-t.y;}const s=this.locationCoordinate(t);this.setLocation(new e.MercatorCoordinate(s.x-o,s.y-r));}setLocation(e){this.center=this.coordinateLocation(e),this.projection.wrap&&(this.center=this.center.wrap());}locationPoint(e){return this.projection.locationPoint(this,e)}locationPoint3D(e){return this.projection.locationPoint(this,e,!0)}pointLocation(e){return this.coordinateLocation(this.pointCoordinate(e))}pointLocation3D(e){return this.coordinateLocation(this.pointCoordinate3D(e))}locationCoordinate(t,i){const o=i?e.mercatorZfromAltitude(i,t.lat):void 0,r=this.projection.project(t.lng,t.lat);return new e.MercatorCoordinate(r.x,r.y,o)}coordinateLocation(e){return this.projection.unproject(e.x,e.y)}pointRayIntersection(t,i){const o=null!=i?i:this._centerAltitude,r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.transformMat4$1(r,r,this.pixelMatrixInverse),e.transformMat4$1(n,n,this.pixelMatrixInverse);const s=n[3];e.scale$1(r,r,1/r[3]),e.scale$1(n,n,1/s);const a=r[2],l=n[2];return {p0:r,p1:n,t:a===l?0:(o-a)/(l-a)}}screenPointToMercatorRay(t){const i=[t.x,t.y,0,1],o=[t.x,t.y,1,1];return e.transformMat4$1(i,i,this.pixelMatrixInverse),e.transformMat4$1(o,o,this.pixelMatrixInverse),e.scale$1(i,i,1/i[3]),e.scale$1(o,o,1/o[3]),i[2]=e.mercatorZfromAltitude(i[2],this._center.lat)*this.worldSize,o[2]=e.mercatorZfromAltitude(o[2],this._center.lat)*this.worldSize,e.scale$1(i,i,1/this.worldSize),e.scale$1(o,o,1/this.worldSize),new e.Ray([i[0],i[1],i[2]],e.normalize([],e.sub([],o,i)))}rayIntersectionCoordinate(t){const{p0:i,p1:o,t:r}=t,n=e.mercatorZfromAltitude(i[2],this._center.lat),s=e.mercatorZfromAltitude(o[2],this._center.lat);return new e.MercatorCoordinate(e.number(i[0],o[0],r)/this.worldSize,e.number(i[1],o[1],r)/this.worldSize,e.number(n,s,r))}pointCoordinate(e,t=this._centerAltitude){return this.projection.pointCoordinate(this,e.x,e.y,t)}pointCoordinate3D(t){if(!this.elevation)return this.pointCoordinate(t);let i=this.projection.pointCoordinate3D(this,t.x,t.y);if(i)return new e.MercatorCoordinate(i[0],i[1],i[2]);let o=0,r=this.horizonLineFromTop();if(t.y>r)return this.pointCoordinate(t);const n=.02*r,s=t.clone();for(let t=0;t<10&&r-o>n;t++){s.y=e.number(o,r,.66);const t=this.projection.pointCoordinate3D(this,s.x,s.y);t?(r=s.y,i=t):o=s.y;}return i?new e.MercatorCoordinate(i[0],i[1],i[2]):this.pointCoordinate(t)}isPointAboveHorizon(e){return this.projection.isPointAboveHorizon(this,e)}isPointOnSurface(t){if(t.y<0||t.y>this.height||t.x<0||t.x>this.width)return !1;if(this.elevation||this.zoom>=e.GLOBE_ZOOM_THRESHOLD_MAX)return !this.isPointAboveHorizon(t);const i=this.pointCoordinate(t);return i.y>=0&&i.y<=1}_coordinatePoint(t,i){const o=i&&this.elevation?this.elevation.getAtPointOrZero(t,this._centerAltitude):this._centerAltitude,r=[t.x*this.worldSize,t.y*this.worldSize,o+t.toAltitude(),1];return e.transformMat4$1(r,r,this.pixelMatrix),r[3]>0?new e.Point(r[0]/r[3],r[1]/r[3]):new e.Point(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:t,left:i}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,r=this.width-this._edgeInsets.right,n=this.pointLocation3D(new e.Point(i,t)),s=this.pointLocation3D(new e.Point(r,t)),a=this.pointLocation3D(new e.Point(r,o)),l=this.pointLocation3D(new e.Point(i,o));let c=Math.min(n.lng,s.lng,a.lng,l.lng),h=Math.max(n.lng,s.lng,a.lng,l.lng),u=Math.min(n.lat,s.lat,a.lat,l.lat),_=Math.max(n.lat,s.lat,a.lat,l.lat);const d=Math.pow(2,-this.zoom)/16*270,p=\"globe\"===this.projection.name?1:4,m=(t,i,o,r,n)=>{const s=(t+o)/2,a=(i+r)/2,l=new e.Point(s,a),{lng:f,lat:g}=this.pointLocation3D(l),v=Math.max(0,c-f,u-g,f-h,g-_);c=Math.min(c,f),h=Math.max(h,f),u=Math.min(u,g),_=Math.max(_,g),(nd)&&(m(t,i,s,a,n+1),m(s,a,o,r,n+1));};if(m(i,t,r,t,1),m(r,t,r,o,1),m(r,o,i,o,1),m(i,o,i,t,1),\"globe\"===this.projection.name){const[t,i]=e.polesInViewport(this);t?(_=90,h=180,c=-180):i&&(u=-90,h=180,c=-180);}return new e.LngLatBounds(new e.LngLat(c,u),new e.LngLat(h,_))}_getBoundsRectangular(t,i){const{top:o,left:r}=this._edgeInsets,n=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new e.Point(r,o),l=new e.Point(s,o),c=new e.Point(s,n),h=new e.Point(r,n);let u=this.pointCoordinate(a,t),_=this.pointCoordinate(l,t);const d=this.pointCoordinate(c,i),p=this.pointCoordinate(h,i),m=(e,t)=>(t.y-e.y)/(t.x-e.x);return u.y>1&&_.y>=0?u=new e.MercatorCoordinate((1-p.y)/m(p,u)+p.x,1):u.y<0&&_.y<=1&&(u=new e.MercatorCoordinate(-p.y/m(p,u)+p.x,0)),_.y>1&&u.y>=0?_=new e.MercatorCoordinate((1-d.y)/m(d,_)+d.x,1):_.y<0&&u.y<=1&&(_=new e.MercatorCoordinate(-d.y/m(d,_)+d.x,0)),(new e.LngLatBounds).extend(this.coordinateLocation(u)).extend(this.coordinateLocation(_)).extend(this.coordinateLocation(p)).extend(this.coordinateLocation(d))}_getBoundsRectangularTerrain(){const e=this.elevation;if(!e.visibleDemTiles.length||e.isUsingMockSource())return this._getBoundsRectangular(0,0);const t=e.visibleDemTiles.reduce(((e,t)=>{if(t.dem){const i=t.dem.tree;e.min=Math.min(e.min,i.minimums[0]),e.max=Math.max(e.max,i.maximums[0]);}return e}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(t.min*e.exaggeration(),t.max*e.exaggeration())}getBounds(){return \"mercator\"===this.projection.name||\"equirectangular\"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(e=!0){const t=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))+this.centerOffset.y,i=this.height/2-t*(1-this._horizonShift);return e?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(t){this.maxBounds=t,this.minLat=-e.MAX_MERCATOR_LATITUDE,this.maxLat=e.MAX_MERCATOR_LATITUDE,this.minLng=-180,this.maxLng=180,t&&(this.minLat=t.getSouth(),this.maxLat=t.getNorth(),this.minLng=t.getWest(),this.maxLng=t.getEast(),this.maxLngu&&(a=u-c),u-ht&&(s=t-l),t-e.5?y-1:y,b>.5?b-1:b,0]),this.alignedProjMatrix=w,a=e.create(),e.scale(a,a,[this.width/2,-this.height/2,1]),e.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=e.create(),e.scale(a,a,[1,-1,1]),e.translate(a,a,[-1,-1,0]),e.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),this._calcFogMatrices(),this._distanceTileDataCache={},a=e.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error(\"failed to invert matrix\");if(this.pixelMatrixInverse=a,\"globe\"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=e.calculateGlobeMatrix(this);const t=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=e.transformMat4(t,t,n),this.globeRadius=this.worldSize/2/Math.PI-1;}else this.globeMatrix=a;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={};}_calcFogMatrices(){this._fogTileMatrixCache={};const t=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,o=this._camera.position,r=1/this.height/this._pixelsPerMercatorPixel,n=[t,t,i];e.scale$2(n,n,r),e.scale$2(o,o,-1),e.multiply$2(o,o,n);const s=e.create();e.translate(s,s,o),e.scale(s,s,n),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(t,i,r);}_computeCameraPosition(e){const t=(e=e||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),o=this.point,r=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*t-e/this.worldSize*this._centerAltitude;return [o.x/this.worldSize-i[0]*r,o.y/this.worldSize-i[1]*r,e/this.worldSize*this._centerAltitude-i[2]*r]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition());}_translateCameraConstrained(t){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),o=this._camera.position[2],r=t[2];let n=1;this.projection.wrap&&(this.center=this.center.wrap()),r>0&&(n=Math.min((i-o)/r,1)),this._camera.position=e.scaleAndAdd([],this._camera.position,t,n),this._updateStateFromCamera();}_updateStateFromCamera(){const t=this._camera.position,i=this._camera.forward(),{pitch:o,bearing:r}=this._camera.getPitchBearing(),n=e.mercatorZfromAltitude(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(e.degToRad(this._maxPitch)),a=Math.max((t[2]-n)/Math.cos(o),s),l=this._zoomFromMercatorZ(a);e.scaleAndAdd(t,t,i,a),this._pitch=e.clamp(o,e.degToRad(this.minPitch),e.degToRad(this.maxPitch)),this.angle=e.wrap(r,-Math.PI,Math.PI),this._setZoom(e.clamp(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new e.MercatorCoordinate(t[0],t[1],t[2])),this._unmodified=!1,this._constrain(),this._calcMatrices();}_worldSizeFromZoom(e){return Math.pow(2,e)*this.tileSize}_mercatorZfromZoom(e){return this.cameraToCenterDistance/this._worldSizeFromZoom(e)}_minimumHeightOverTerrain(){const e=Math.min((null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom)+4,this._maxZoom);return this._mercatorZfromZoom(e)}_zoomFromMercatorZ(e){return this.scaleZoom(this.cameraToCenterDistance/(e*this.tileSize))}zoomFromMercatorZAdjusted(t){let i=0,o=e.GLOBE_ZOOM_THRESHOLD_MAX,r=0,n=1/0;for(;o-i>1e-6&&o>i;){const e=i+.5*(o-i),s=this.tileSize*Math.pow(2,e),a=this.getCameraToCenterDistance(this.projection,e,s),l=this.scaleZoom(a/(t*this.tileSize)),c=Math.abs(e-l);cc||i.y>1)return !0}return !1}isHorizonVisible(){return this.pitch+e.radToDeg(this.fovAboveCenter)>88||this.anyCornerOffEdge(new e.Point(0,0),new e.Point(this.width,this.height))}zoomDeltaToMovement(t,i){const o=e.length(e.sub([],this._camera.position,t)),r=this._zoomFromMercatorZ(o)+i;return o-this._mercatorZfromZoom(r)}getCameraPoint(){if(\"globe\"===this.projection.name){const t=function([t,i,o],r){const n=[t,i,o,1];e.transformMat4$1(n,n,r);const s=n[3]=Math.max(n[3],1e-6);return n[0]/=s,n[1]/=s,n[2]/=s,n}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new e.Point(t[0],t[1])}{const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,t))}}getCameraToCenterDistance(e,t=this.zoom,i=this.worldSize){const o=Wo(e,t,this.width,this.height,1024),r=e.pixelSpaceConversion(this.center.lat,i,o);return .5/Math.tan(.5*this._fov)*this.height*r}getWorldToCameraMatrix(){const t=this._camera.getWorldToCamera(this.worldSize,\"meters\"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return \"globe\"===this.projection.name&&e.multiply(t,t,this.globeMatrix),t}}function Yo(e,t){let i=!1,o=null;const r=()=>{o=null,i&&(e(),o=setTimeout(r,t),i=!1);};return ()=>(i=!0,o||r(),o)}class Ko{constructor(t){this._hashName=t&&encodeURIComponent(t),e.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=Yo(this._updateHashUnthrottled.bind(this),300);}addTo(t){return this._map=t,e.window.addEventListener(\"hashchange\",this._onHashChange,!1),t.on(\"moveend\",this._updateHash),this}remove(){return this._map?(this._map.off(\"moveend\",this._updateHash),e.window.removeEventListener(\"hashchange\",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const t=this._map;if(!t)return \"\";const i=Jo(t);if(this._hashName){const t=this._hashName;let o=!1;const r=e.window.location.hash.slice(1).split(\"&\").map((e=>{const r=e.split(\"=\")[0];return r===t?(o=!0,`${r}=${i}`):e})).filter((e=>e));return o||r.push(`${t}=${i}`),`#${r.join(\"&\")}`}return `#${i}`}_getCurrentHash(){const t=e.window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((e=>e.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")}_onHashChange(){const e=this._map;if(!e)return !1;const t=this._getCurrentHash();if(t.length>=3&&!t.some((e=>isNaN(e)))){const i=e.dragRotate.isEnabled()&&e.touchZoomRotate.isEnabled()?+(t[3]||0):e.getBearing();return e.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:i,pitch:+(t[4]||0)}),!0}return !1}_updateHashUnthrottled(){const t=e.window.location.href.replace(/(#.+)?$/,this.getHashString());e.window.history.replaceState(e.window.history.state,null,t);}}function Jo(e,t){const i=e.getCenter(),o=Math.round(100*e.getZoom())/100,r=Math.ceil((o*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),s=Math.round(i.lng*n)/n,a=Math.round(i.lat*n)/n,l=e.getBearing(),c=e.getPitch();let h=t?`/${s}/${a}/${o}`:`${o}/${a}/${s}`;return (l||c)&&(h+=\"/\"+Math.round(10*l)/10),c&&(h+=`/${Math.round(c)}`),h}const Qo={linearity:.3,easing:e.bezier(0,0,.3,1)},er=e.extend({deceleration:2500,maxSpeed:1400},Qo),tr=e.extend({deceleration:20,maxSpeed:1400},Qo),ir=e.extend({deceleration:1e3,maxSpeed:360},Qo),or=e.extend({deceleration:1e3,maxSpeed:90},Qo);class rr{constructor(e){this._map=e,this.clear();}clear(){this._inertiaBuffer=[];}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.exported.now(),settings:t});}_drainInertiaBuffer(){const t=this._inertiaBuffer,i=e.exported.now();for(;t.length>0&&i-t[0].time>160;)t.shift();}_onMoveEnd(t){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0};for(const{settings:e}of this._inertiaBuffer)i.zoom+=e.zoomDelta||0,i.bearing+=e.bearingDelta||0,i.pitch+=e.pitchDelta||0,e.panDelta&&i.pan._add(e.panDelta),e.around&&(i.around=e.around),e.pinchAround&&(i.pinchAround=e.pinchAround);const o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={};if(i.pan.mag()){const n=sr(i.pan.mag(),o,e.extend({},er,t||{}));r.offset=i.pan.mult(n.amount/i.pan.mag()),r.center=this._map.transform.center,nr(r,n);}if(i.zoom){const e=sr(i.zoom,o,tr);r.zoom=this._map.transform.zoom+e.amount,nr(r,e);}if(i.bearing){const t=sr(i.bearing,o,ir);r.bearing=this._map.transform.bearing+e.clamp(t.amount,-179,179),nr(r,t);}if(i.pitch){const e=sr(i.pitch,o,or);r.pitch=this._map.transform.pitch+e.amount,nr(r,e);}if(r.zoom||r.bearing){const e=void 0===i.pinchAround?i.around:i.pinchAround;r.around=e?this._map.unproject(e):this._map.getCenter();}return this.clear(),r.noMoveStart=!0,r}}function nr(e,t){(!e.duration||e.durationi.unproject(e))),a=n.reduce(((e,t,i,o)=>e.add(t.div(o.length))),new e.Point(0,0));super(t,{points:n,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:o}),this._defaultPrevented=!1;}}class cr extends e.Event{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,i){super(e,{originalEvent:i}),this._defaultPrevented=!1;}}class hr{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance;}reset(){this._mousedownPos=void 0;}wheel(e){return this._firePreventable(new cr(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new ar(e.type,this._map,e))}mouseup(e){this._map.fire(new ar(e.type,this._map,e));}preclick(t){const i=e.extend({},t);i.type=\"preclick\",this._map.fire(new ar(i.type,this._map,i));}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||(this.preclick(e),this._map.fire(new ar(e.type,this._map,e)));}dblclick(e){return this._firePreventable(new ar(e.type,this._map,e))}mouseover(e){this._map.fire(new ar(e.type,this._map,e));}mouseout(e){this._map.fire(new ar(e.type,this._map,e));}touchstart(e){return this._firePreventable(new lr(e.type,this._map,e))}touchmove(e){this._map.fire(new lr(e.type,this._map,e));}touchend(e){this._map.fire(new lr(e.type,this._map,e));}touchcancel(e){this._map.fire(new lr(e.type,this._map,e));}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class ur{constructor(e){this._map=e;}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0;}mousemove(e){this._map.fire(new ar(e.type,this._map,e));}mousedown(){this._delayContextMenu=!0;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ar(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new ar(e.type,this._map,e)),this._map.listens(\"contextmenu\")&&e.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class _r{constructor(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(h(),this._startPos=this._lastPos=t,this._active=!0);}mousemoveWindow(e,t){if(!this._active)return;const i=t,o=this._startPos,r=this._lastPos;if(!o||!r||r.equals(i)||!this._box&&i.dist(o){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+\"px\",this._box.style.height=c-l+\"px\");}));}mouseupWindow(t,i){if(!this._active)return;const o=this._startPos,r=i;if(o&&0===t.button){if(this.reset(),d(),o.x!==r.x||o.y!==r.y)return this._map.fire(new e.Event(\"boxzoomend\",{originalEvent:t})),{cameraAnimation:e=>e.fitScreenCoordinates(o,r,this._map.getBearing(),{linear:!1})};this._fireEvent(\"boxzoomcancel\",t);}}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",e));}blur(){this.reset();}reset(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.remove(),this._box=null),u(),delete this._startPos,delete this._lastPos;}_fireEvent(t,i){return this._map.fire(new e.Event(t,{originalEvent:i}))}}function dr(e,t){const i={};for(let o=0;othis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=t.timeStamp),o.length===this.numTouches&&(this.centroid=function(t){const i=new e.Point(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=dr(o,i)));}touchmove(e,t,i){if(this.aborted||!this.centroid)return;const o=dr(i,t);for(const e in this.touches){const t=o[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0);}}touchend(e,t,i){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class mr{constructor(e){this.singleTap=new pr(e),this.numTaps=e.numTaps,this.reset();}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset();}touchstart(e,t,i){this.singleTap.touchstart(e,t,i);}touchmove(e,t,i){this.singleTap.touchmove(e,t,i);}touchend(e,t,i){const o=this.singleTap.touchend(e,t,i);if(o){const t=e.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(o)<30;if(t&&i||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}}}class fr{constructor(){this._zoomIn=new mr({numTouches:1,numTaps:2}),this._zoomOut=new mr({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(e,t,i){this._zoomIn.touchstart(e,t,i),this._zoomOut.touchstart(e,t,i);}touchmove(e,t,i){this._zoomIn.touchmove(e,t,i),this._zoomOut.touchmove(e,t,i);}touchend(e,t,i){const o=this._zoomIn.touchend(e,t,i),r=this._zoomOut.touchend(e,t,i);return o?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(o)},{originalEvent:e})}):r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(r)},{originalEvent:e})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}const gr={0:1,2:2};class vr{constructor(e){this.reset(),this._clickTolerance=e.clickTolerance||1;}blur(){this.reset();}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0;}_correctButton(e,t){return !1}_move(e,t){return {}}mousedown(e,t){if(this._lastPoint)return;const i=f(e);this._correctButton(e,i)&&(this._lastPoint=t,this._eventButton=i);}mousemoveWindow(e,t){const i=this._lastPoint;if(i)if(e.preventDefault(),null!=this._eventButton&&function(e,t){const i=gr[t];return void 0===e.buttons||(e.buttons&i)!==i}(e,this._eventButton))this.reset();else if(this._moved||!(t.dist(i)0&&(this._active=!0);const r=dr(o,i),n=new e.Point(0,0),s=new e.Point(0,0);let a=0;for(const e in r){const t=r[e],i=this._touches[e];i&&(n._add(t),s._add(t.sub(i)),a++,r[e]=t);}if(this._touches=r,a{this._alertContainer.classList.remove(\"mapboxgl-touch-pan-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"null\");}),500);}}class Tr{constructor(){this.reset();}reset(){this._active=!1,this._firstTwoTouches=void 0;}_start(e){}_move(e,t,i){return {}}touchstart(e,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]));}touchmove(e,t,i){const o=this._firstTwoTouches;if(!o)return;e.preventDefault();const[r,n]=o,s=Er(i,t,r),a=Er(i,t,n);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,e)}touchend(e,t,i){if(!this._firstTwoTouches)return;const[o,r]=this._firstTwoTouches,n=Er(i,t,o),s=Er(i,t,r);n&&s||(this._active&&d(),this.reset());}touchcancel(){this.reset();}enable(e){this._enabled=!0,this._aroundCenter=!!e&&\"center\"===e.around;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}function Er(e,t,i){for(let o=0;oMath.abs(e.x)}class Dr extends Tr{constructor(e){super(),this._map=e;}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0;}_start(e){this._lastPoints=e,Sr(e[0].sub(e[1]))&&(this._valid=!1);}_move(t,i,o){const r=this._lastPoints;if(!r)return;const n=t[0].sub(r[0]),s=t[1].sub(r[1]);return this._map._cooperativeGestures&&!e.isFullscreen()&&o.touches.length<3||(this._valid=this.gestureBeginsVertically(n,s,o.timeStamp),!this._valid)?void 0:(this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+s.y)/2*-.5})}gestureBeginsVertically(e,t,i){if(void 0!==this._valid)return this._valid;const o=e.mag()>=2,r=t.mag()>=2;if(!o&&!r)return;if(!o||!r)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const n=e.y>0==t.y>0;return Sr(e)&&Sr(t)&&n}}const Lr={panStep:100,bearingStep:15,pitchStep:10};class Ar{constructor(){const e=Lr;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1;}blur(){this.reset();}reset(){this._active=!1;}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,i=0,o=0,r=0,n=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?i=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?i=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?o=1:(e.preventDefault(),n=-1);break;case 40:e.shiftKey?o=-1:(e.preventDefault(),n=1);break;default:return}return this._rotationDisabled&&(i=0,o=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:zr,zoom:t?Math.round(a)+t*(e.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+o*this._pitchStep,offset:[-r*this._panStep,-n*this._panStep],center:s.getCenter()},{originalEvent:e});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0;}enableRotation(){this._rotationDisabled=!1;}}function zr(e){return e*(2-e)}const Rr=4.000244140625;class Or{constructor(t,i){this._map=t,this._el=t.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,e.bindAll([\"_onTimeout\",\"_addScrollZoomBlocker\",\"_showBlockerAlert\"],this);}setZoomRate(e){this._defaultZoomRate=e;}setWheelZoomRate(e){this._wheelZoomRate=e;}isEnabled(){return !!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&\"center\"===e.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker());}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()));}wheel(t){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(t.ctrlKey||t.metaKey||this.isZooming()||e.isFullscreen()))return void this._showBlockerAlert();\"hidden\"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility=\"hidden\",clearTimeout(this._alertTimer));}let i=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const o=e.exported.now(),r=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%Rr==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(r*i)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),t.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t)),t.preventDefault();}_onTimeout(e){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(e);}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const t=p(this._el,e);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:t,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._map.transform;\"wheel\"===this._type&&t.projection.wrap&&(t._center.lng>=180||t._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>t._terrainEnabled()&&this._aroundCoord?t.computeZoomRelativeTo(this._aroundCoord):t.zoom;if(0!==this._delta){const e=\"wheel\"===this._type&&Math.abs(this._delta)>Rr?this._wheelZoomRate:this._defaultZoomRate;let o=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==o&&(o=1/o);const r=i(),n=Math.pow(2,r),s=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):n;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(s*o))),\"wheel\"===this._type&&(this._startZoom=r,this._easing=this._smoothOutEasing(200)),this._delta=0;}const o=\"number\"==typeof this._targetZoom?this._targetZoom:i(),r=this._startZoom,n=this._easing;let s,a=!1;if(\"wheel\"===this._type&&r&&n){const t=Math.min((e.exported.now()-this._lastWheelEventTime)/200,1),i=n(t);s=e.number(r,o,i),t<1?this._frameId||(this._frameId=!0):a=!0;}else s=o,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:s-i(),around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.ease;if(this._prevEase){const t=this._prevEase,o=(e.exported.now()-t.start)/t.duration,r=t.easing(o+.01)-t.easing(o),n=.27/Math.sqrt(r*r+1e-4)*.01,s=Math.sqrt(.0729-n*n);i=e.bezier(n,s,.25,1);}return this._prevEase={start:e.exported.now(),duration:t,easing:i},i}blur(){this.reset();}reset(){this._active=!1;}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=n(\"div\",\"mapboxgl-scroll-zoom-blocker\",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(e.window.navigator.userAgent)?this._map._getUIString(\"ScrollZoomBlocker.CmdMessage\"):this._map._getUIString(\"ScrollZoomBlocker.CtrlMessage\"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`);}_showBlockerAlert(){this._alertContainer.style.visibility=\"visible\",this._alertContainer.classList.add(\"mapboxgl-scroll-zoom-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"alert\"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove(\"mapboxgl-scroll-zoom-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"null\");}),200);}}class Br{constructor(e,t){this._clickZoom=e,this._tapZoom=t;}enable(){this._clickZoom.enable(),this._tapZoom.enable();}disable(){this._clickZoom.disable(),this._tapZoom.disable();}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class kr{constructor(){this.reset();}reset(){this._active=!1;}blur(){this.reset();}dblclick(e,t){return e.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(e.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:e});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Fr{constructor(){this._tap=new mr({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset();}touchstart(e,t,i){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(e,t,i));}touchmove(e,t,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const o=t[0],r=o.y-this._swipePoint.y;return this._swipePoint=o,e.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(e,t,i);}touchend(e,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(e,t,i)&&(this._tapTime=e.timeStamp);}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Ur{constructor(e,t,i){this._el=e,this._mousePan=t,this._touchPan=i;}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Nr{constructor(e,t,i){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=i;}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();}disable(){this._mouseRotate.disable(),this._mousePitch.disable();}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class jr{constructor(e,t,i,o){this._el=e,this._touchZoom=t,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}const Gr=e=>e.zoom||e.drag||e.pitch||e.rotate;class Zr extends e.Event{}class Vr{constructor(){this.constants=[1,1,.01],this.radius=0;}setup(t,i){const o=e.sub([],i,t);this.radius=e.length(o[2]<0?e.div([],o,this.constants):[o[0],o[1],0]);}projectRay(t){e.div(t,t,this.constants),e.normalize(t,t),e.mul$1(t,t,this.constants);const i=e.scale$2([],t,this.radius);if(i[2]>0){const t=e.scale$2([],[0,0,1],e.dot(i,[0,0,1])),o=e.scale$2([],e.normalize([],[i[0],i[1],0]),this.radius),r=e.add([],i,e.scale$2([],e.sub([],e.add([],o,t),i),2));i[0]=r[0],i[1]=r[1];}return i}}function Wr(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class Xr{constructor(t,i){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rr(t),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new Vr,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),e.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);const o=this._el;this._listeners=[[o,\"touchstart\",{passive:!0}],[o,\"touchmove\",{passive:!1}],[o,\"touchend\",void 0],[o,\"touchcancel\",void 0],[o,\"mousedown\",void 0],[o,\"mousemove\",void 0],[o,\"mouseup\",void 0],[e.window.document,\"mousemove\",{capture:!0}],[e.window.document,\"mouseup\",void 0],[o,\"mouseover\",void 0],[o,\"mouseout\",void 0],[o,\"dblclick\",void 0],[o,\"click\",void 0],[o,\"keydown\",{capture:!1}],[o,\"keyup\",void 0],[o,\"wheel\",{passive:!1}],[o,\"contextmenu\",void 0],[e.window,\"blur\",void 0]];for(const[t,i,o]of this._listeners)t.addEventListener(i,t===e.window.document?this.handleWindowEvent:this.handleEvent,o);}destroy(){for(const[t,i,o]of this._listeners)t.removeEventListener(i,t===e.window.document?this.handleWindowEvent:this.handleEvent,o);}_addDefaultHandlers(e){const t=this._map,i=t.getCanvasContainer();this._add(\"mapEvent\",new hr(t,e));const o=t.boxZoom=new _r(t,e);this._add(\"boxZoom\",o);const r=new fr,n=new kr;t.doubleClickZoom=new Br(n,r),this._add(\"tapZoom\",r),this._add(\"clickZoom\",n);const s=new Fr;this._add(\"tapDragZoom\",s);const a=t.touchPitch=new Dr(t);this._add(\"touchPitch\",a);const l=new yr(e),c=new br(e);t.dragRotate=new Nr(e,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);const h=new xr(e),u=new wr(t,e);t.dragPan=new Ur(i,h,u),this._add(\"mousePan\",h),this._add(\"touchPan\",u,[\"touchZoom\",\"touchRotate\"]);const _=new Pr,d=new Mr;t.touchZoomRotate=new jr(i,d,_,s),this._add(\"touchRotate\",_,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",d,[\"touchPan\",\"touchRotate\"]),this._add(\"blockableMapEvent\",new ur(t));const p=t.scrollZoom=new Or(t,this);this._add(\"scrollZoom\",p,[\"mousePan\"]);const m=t.keyboard=new Ar;this._add(\"keyboard\",m);for(const i of [\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"])e.interactive&&e[i]&&t[i].enable(e[i]);}_add(e,t,i){this._handlers.push({handlerName:e,handler:t,allowed:i}),this._handlersById[e]=t;}stop(e){if(!this._updatingCamera){for(const{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[];}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return !!Gr(this._eventsInProgress)||this.isZooming()}_isDragging(){return !!this._eventsInProgress.drag}_blockedByActive(e,t,i){for(const o in e)if(o!==i&&(!t||t.indexOf(o)<0))return !0;return !1}handleWindowEvent(e){this.handleEvent(e,`${e.type}Window`);}_getMapTouches(e){const t=[];for(const i of e)this._el.contains(i.target)&&t.push(i);return t}handleEvent(e,t){this._updatingCamera=!0;const i=\"renderFrame\"===e.type,o=i?void 0:e,r={needsRenderFrame:!1},n={},s={},a=e.touches?this._getMapTouches(e.touches):void 0,l=a?m(this._el,a):i?void 0:p(this._el,e);for(const{handlerName:i,handler:c,allowed:h}of this._handlers){if(!c.isEnabled())continue;let u;this._blockedByActive(s,h,i)?c.reset():c[t||e.type]&&(u=c[t||e.type](e,l,a),this.mergeHandlerResult(r,n,u,i,o),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||c.isActive())&&(s[i]=c);}const c={};for(const e in this._previousActiveHandlers)s[e]||(c[e]=o);this._previousActiveHandlers=s,(Object.keys(c).length||Wr(r))&&(this._changes.push([r,n,c]),this._triggerRenderFrame()),(Object.keys(s).length||Wr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=r;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map));}mergeHandlerResult(t,i,o,r,n){if(!o)return;e.extend(t,o);const s={handlerName:r,originalEvent:o.originalEvent||n};void 0!==o.zoomDelta&&(i.zoom=s),void 0!==o.panDelta&&(i.drag=s),void 0!==o.pitchDelta&&(i.pitch=s),void 0!==o.bearingDelta&&(i.rotate=s);}_applyChanges(){const t={},i={},o={};for(const[r,n,s]of this._changes)r.panDelta&&(t.panDelta=(t.panDelta||new e.Point(0,0))._add(r.panDelta)),r.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+r.pitchDelta),void 0!==r.around&&(t.around=r.around),void 0!==r.aroundCoord&&(t.aroundCoord=r.aroundCoord),void 0!==r.pinchAround&&(t.pinchAround=r.pinchAround),r.noInertia&&(t.noInertia=r.noInertia),e.extend(i,n),e.extend(o,s);this._updateMapTransform(t,i,o),this._changes=[];}_updateMapTransform(t,i,o){const r=this._map,n=r.transform,s=e=>[e.x,e.y,e.z];if((e=>{const t=this._eventsInProgress.drag;return t&&!this._handlersById[t.handlerName].isActive()})()&&!Wr(t)){const e=n.zoom;n.cameraElevationReference=\"sea\",n.recenterOnTerrain(),n.cameraElevationReference=\"ground\",e!==n.zoom&&this._map._update(!0);}if(n._isCameraConstrained&&r._stop(!0),!Wr(t))return void this._fireEvents(i,o,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,aroundCoord:_,pinchAround:d}=t;n._isCameraConstrained&&(l>0&&(l=0),n._isCameraConstrained=!1),void 0!==d&&(u=d),(l||(e=>i[e]&&!this._eventsInProgress[e])(\"drag\"))&&u&&(this._dragOrigin=s(n.pointCoordinate3D(u)),this._trackingEllipsoid.setup(n._camera.position,this._dragOrigin)),n.cameraElevationReference=\"sea\",r._stop(!0),u=u||r.transform.centerPoint,c&&(n.bearing+=c),h&&(n.pitch+=h),n._updateCameraState();const p=[0,0,0];if(a)if(\"mercator\"===n.projection.name){const e=this._trackingEllipsoid.projectRay(n.screenPointToMercatorRay(u).dir),t=this._trackingEllipsoid.projectRay(n.screenPointToMercatorRay(u.sub(a)).dir);p[0]=t[0]-e[0],p[1]=t[1]-e[1];}else {const t=n.pointCoordinate(u);if(\"globe\"===n.projection.name){a=a.rotate(-n.angle);const i=n._pixelsPerMercatorPixel/n.worldSize;p[0]=-a.x*e.mercatorScale(e.latFromMercatorY(t.y))*i,p[1]=-a.y*e.mercatorScale(n.center.lat)*i;}else {const e=n.pointCoordinate(u.sub(a));t&&e&&(p[0]=e.x-t.x,p[1]=e.y-t.y);}}const m=n.zoom,f=[0,0,0];if(l){const t=s(_||n.pointCoordinate3D(u)),i={dir:e.normalize([],e.sub([],t,n._camera.position))};if(i.dir[2]<0){const o=n.zoomDeltaToMovement(t,l);e.scale$2(f,i.dir,o);}}const g=e.add(p,p,f);n._translateCameraConstrained(g),l&&Math.abs(n.zoom-m)>1e-4&&n.recenterOnTerrain(),n.cameraElevationReference=\"ground\",this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(i,o,!0);}_fireEvents(t,i,o){const r=Gr(this._eventsInProgress),n=Gr(t),s={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=i),this._eventsInProgress[e]=t[e];}!r&&n&&this._fireEvent(\"movestart\",n.originalEvent);for(const e in s)this._fireEvent(e,s[e]);n&&this._fireEvent(\"move\",n.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i);}const a={};let l;for(const e in this._eventsInProgress){const{handlerName:t,originalEvent:o}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=i[t]||o,a[`${e}end`]=l);}for(const e in a)this._fireEvent(e,a[e]);const c=Gr(this._eventsInProgress);if(o&&(r||n)&&!c){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=e=>0!==e&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new Zr(\"renderFrame\",{timeStamp:e})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}const qr=\"map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.\";class $r extends e.Evented{constructor(t,i){super(),this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=i.bearingSnap,this._respectPrefersReducedMotion=!1!==i.respectPrefersReducedMotion,e.bindAll([\"_renderFrameCallback\"],this);}getCenter(){return new e.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(t,i,o){return t=e.Point.convert(t).mult(-1),this.panTo(this.transform.center,e.extend({offset:t},i),o)}panTo(t,i,o){return this.easeTo(e.extend({center:t},i),o)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(t,i,o){return this.easeTo(e.extend({zoom:t},i),o)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(t,i,o){return this.easeTo(e.extend({bearing:t},i),o)}resetNorth(t,i){return this.rotateTo(0,e.extend({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.extend({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(e,t){return Math.abs(this.getBearing())e.aspect?i/(2*Math.tan(.5*e.fovX)*e.aspect):o/(2*Math.tan(.5*e.fovY)*e.aspect)}_cameraForBoundsOnGlobe(t,i,o,r,n,s){const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=r,a.pitch=n;const c=e.LngLat.convert(i),h=e.LngLat.convert(o),u=.5*(c.lat+h.lat),_=.5*(c.lng+h.lng),d=e.latLngToECEF(u,_),p=e.normalize([],d),m=e.normalize([],e.cross([],p,[0,1,0])),f=e.cross([],m,p),g=[m[0],m[1],m[2],0,f[0],f[1],f[2],0,p[0],p[1],p[2],0,0,0,0,1],v=[d,e.latLngToECEF(c.lat,c.lng),e.latLngToECEF(h.lat,c.lng),e.latLngToECEF(h.lat,h.lng),e.latLngToECEF(c.lat,h.lng),e.latLngToECEF(u,c.lng),e.latLngToECEF(u,h.lng),e.latLngToECEF(c.lat,_),e.latLngToECEF(h.lat,_)];let x=e.Aabb.fromPoints(v.map((t=>[e.dot(m,t),e.dot(f,t),e.dot(p,t)])));const y=e.transformMat4([],x.center,g);0===e.squaredLength(y)&&e.set(y,0,0,1),e.normalize(y,y),e.scale$2(y,y,e.GLOBE_RADIUS),a.center=e.ecefToLatLng(y);const b=a.getWorldToCameraMatrix(),w=e.invert(new Float64Array(16),b);x=e.Aabb.applyTransform(x,e.multiply([],b,g)),e.transformMat4(y,y,b);const T=.5*(x.max[2]-x.min[2]),E=this._minimumAABBFrustumDistance(a,x),C=e.scale$2([],[0,0,1],T),M=e.add(C,y,C),I=E+(0===a.pitch?0:e.distance(y,M)),P=a.globeCenterInViewSpace,S=e.sub([],y,[P[0],P[1],P[2]]);e.normalize(S,S),e.scale$2(S,S,I);const D=e.add([],y,S);e.transformMat4(D,D,w);const L=e.earthRadius/e.GLOBE_RADIUS,A=e.length(D),z=e.mercatorZfromAltitude(Math.max(A*L-e.earthRadius,Number.EPSILON),0),R=Math.min(a.zoomFromMercatorZAdjusted(z),l.maxZoom);return R>.5*(e.GLOBE_ZOOM_THRESHOLD_MIN+e.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:\"mercator\"}),a.zoom=R,this._cameraForBounds(a,i,o,r,n,s)):{center:a.center,zoom:R,bearing:r,pitch:n}}queryTerrainElevation(t,i){const o=this.transform.elevation;return o?(i=e.extend({},{exaggerated:!0},i),o.getAtPoint(e.MercatorCoordinate.fromLngLat(t),null,i.exaggerated)):null}_cameraForBounds(t,i,o,r,n,s){if(\"globe\"===t.projection.name)return this._cameraForBoundsOnGlobe(t,i,o,r,n,s);const a=t.clone(),l=this._extendCameraOptions(s),c=a.padding;a.bearing=r,a.pitch=n;const h=e.LngLat.convert(i),u=e.LngLat.convert(o),_=new e.LngLat(h.lng,u.lat),d=new e.LngLat(u.lng,h.lat),p=a.project(h),m=a.project(u),f=this.queryTerrainElevation(h),g=this.queryTerrainElevation(u),v=this.queryTerrainElevation(_),x=this.queryTerrainElevation(d),y=[[p.x,p.y,Math.min(f||0,g||0,v||0,x||0)],[m.x,m.y,Math.max(f||0,g||0,v||0,x||0)]];let b=e.Aabb.fromPoints(y);const w=a.getWorldToCameraMatrix(),T=e.invert(new Float64Array(16),w);b=e.Aabb.applyTransform(b,w);const E=e.sub([],b.max,b.min),C=c.left||0,M=c.right||0,I=c.bottom||0,P=c.top||0,{left:S,right:D,top:L,bottom:A}=l.padding,z=.5*(C+M),R=.5*(P+I),O=Math.min(a.scaleZoom(a.scale*Math.min((a.width-(C+M+S+D))/E[0],(a.height-(I+P+A+L))/E[1])),l.maxZoom),B=a.scale/a.zoomScale(O);b=new e.Aabb([b.min[0]-(S+z)*B,b.min[1]-(A+R)*B,b.min[2]],[b.max[0]+(D+z)*B,b.max[1]+(L+R)*B,b.max[2]]);const k=.5*E[2],F=this._minimumAABBFrustumDistance(a,b),U=[0,0,1,0];e.transformMat4$1(U,U,w),e.normalize$2(U,U);const N=e.scale$2([],U,F+k),j=e.add([],b.center,N),G=(\"number\"==typeof l.offset.x&&\"number\"==typeof l.offset.y?new e.Point(l.offset.x,l.offset.y):e.Point.convert(l.offset)).rotate(-e.degToRad(r));b.center[0]-=G.x*B,b.center[1]+=G.y*B,e.transformMat4(b.center,b.center,T),e.transformMat4(j,j,T);const Z=[b.center[0],b.center[1],j[2]*a.pixelsPerMeter];e.scale$2(Z,Z,1/a.worldSize);const V=e.lngFromMercatorX(Z[0]),W=e.latFromMercatorY(Z[1]),X=Math.min(a._zoomFromMercatorZ(Z[2]),l.maxZoom),q=new e.LngLat(V,W);return a.mercatorFromTransition&&X<.5*(e.GLOBE_ZOOM_THRESHOLD_MIN+e.GLOBE_ZOOM_THRESHOLD_MAX)?(a.setProjection({name:\"globe\"}),a.zoom=X,this._cameraForBounds(a,i,o,r,n,s)):{center:q,zoom:X,bearing:r,pitch:n}}fitBounds(e,t,i){const o=this.cameraForBounds(e,t);return this._fitInternal(o,t,i)}fitScreenCoordinates(t,i,o,r,n){const s=e.Point.convert(t),a=e.Point.convert(i),l=new e.Point(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new e.Point(Math.max(s.x,a.x),Math.max(s.y,a.y));if(\"mercator\"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const h=this.transform.pointLocation3D(l),u=this.transform.pointLocation3D(c),_=this.transform.pointLocation3D(new e.Point(l.x,c.y)),d=this.transform.pointLocation3D(new e.Point(c.x,l.y)),p=[Math.min(h.lng,u.lng,_.lng,d.lng),Math.min(h.lat,u.lat,_.lat,d.lat)],m=[Math.max(h.lng,u.lng,_.lng,d.lng),Math.max(h.lat,u.lat,_.lat,d.lat)],f=r&&r.pitch?r.pitch:this.getPitch(),g=this._cameraForBounds(this.transform,p,m,o,f,r);return this._fitInternal(g,r,n)}_fitInternal(t,i,o){return t?(delete(i=e.extend(t,i)).padding,i.linear?this.easeTo(i,o):this.flyTo(i,o)):this}jumpTo(t,i){this.stop();const o=t.preloadOnly?this.transform.clone():this.transform;let r=!1,n=!1,s=!1;return \"zoom\"in t&&o.zoom!==+t.zoom&&(r=!0,o.zoom=+t.zoom),void 0!==t.center&&(o.center=e.LngLat.convert(t.center)),\"bearing\"in t&&o.bearing!==+t.bearing&&(n=!0,o.bearing=+t.bearing),\"pitch\"in t&&o.pitch!==+t.pitch&&(s=!0,o.pitch=+t.pitch),null==t.padding||o.isPaddingEqual(t.padding)||(o.padding=t.padding),t.preloadOnly?(this._preloadTiles(o),this):(this.fire(new e.Event(\"movestart\",i)).fire(new e.Event(\"move\",i)),r&&this.fire(new e.Event(\"zoomstart\",i)).fire(new e.Event(\"zoom\",i)).fire(new e.Event(\"zoomend\",i)),n&&this.fire(new e.Event(\"rotatestart\",i)).fire(new e.Event(\"rotate\",i)).fire(new e.Event(\"rotateend\",i)),s&&this.fire(new e.Event(\"pitchstart\",i)).fire(new e.Event(\"pitch\",i)).fire(new e.Event(\"pitchend\",i)),this.fire(new e.Event(\"moveend\",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||e.warnOnce(qr),this.transform.getFreeCameraOptions()}setFreeCameraOptions(t,i){const o=this.transform;if(!o.projection.supportsFreeCamera)return e.warnOnce(qr),this;this.stop();const r=o.zoom,n=o.pitch,s=o.bearing;o.setFreeCameraOptions(t);const a=r!==o.zoom,l=n!==o.pitch,c=s!==o.bearing;return this.fire(new e.Event(\"movestart\",i)).fire(new e.Event(\"move\",i)),a&&this.fire(new e.Event(\"zoomstart\",i)).fire(new e.Event(\"zoom\",i)).fire(new e.Event(\"zoomend\",i)),c&&this.fire(new e.Event(\"rotatestart\",i)).fire(new e.Event(\"rotate\",i)).fire(new e.Event(\"rotateend\",i)),l&&this.fire(new e.Event(\"pitchstart\",i)).fire(new e.Event(\"pitch\",i)).fire(new e.Event(\"pitchend\",i)),this.fire(new e.Event(\"moveend\",i)),this}easeTo(t,i){this._stop(!1,t.easeId),(!1===(t=e.extend({offset:[0,0],duration:500,easing:e.ease},t)).animate||this._prefersReducedMotion(t))&&(t.duration=0);const o=this.transform,r=this.getZoom(),n=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l=\"zoom\"in t?+t.zoom:r,c=\"bearing\"in t?this._normalizeBearing(t.bearing,n):n,h=\"pitch\"in t?+t.pitch:s,u=\"padding\"in t?t.padding:o.padding,_=e.Point.convert(t.offset);let d,p,m;if(\"globe\"===o.projection.name){const i=e.MercatorCoordinate.fromLngLat(o.center),r=_.rotate(-o.angle);i.x+=r.x/o.worldSize,i.y+=r.y/o.worldSize;const n=i.toLngLat(),s=e.LngLat.convert(t.center||n);this._normalizeCenter(s),d=o.centerPoint.add(r),p=new e.Point(i.x,i.y).mult(o.worldSize),m=new e.Point(e.mercatorXfromLng(s.lng),e.mercatorYfromLat(s.lat)).mult(o.worldSize).sub(p);}else {d=o.centerPoint.add(_);const i=o.pointLocation(d),r=e.LngLat.convert(t.center||i);this._normalizeCenter(r),p=o.project(i),m=o.project(r).sub(p);}const f=o.zoomScale(l-r);let g,v;t.around&&(g=e.LngLat.convert(t.around),v=o.locationPoint(g));const x=this._zooming||l!==r,y=this._rotating||n!==c,b=this._pitching||h!==s,w=!o.isPaddingEqual(u),T=o=>T=>{if(x&&(o.zoom=e.number(r,l,T)),y&&(o.bearing=e.number(n,c,T)),b&&(o.pitch=e.number(s,h,T)),w&&(o.interpolatePadding(a,u,T),d=o.centerPoint.add(_)),g)o.setLocationAtPoint(g,v);else {const e=o.zoomScale(o.zoom-r),t=l>r?Math.min(2,f):Math.max(.5,f),i=Math.pow(t,1-T),n=o.unproject(p.add(m.mult(T*i)).mult(e));o.setLocationAtPoint(o.renderWorldCopies?n.wrap():n,d);}return t.preloadOnly||this._fireMoveEvents(i),o};if(t.preloadOnly){const e=this._emulate(T,t.duration,o);return this._preloadTiles(e),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=x,this._rotating=y,this._pitching=b,this._padding=w,this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,E),this._ease(T(o),(e=>{o.recenterOnTerrain(),this._afterEase(i,e);}),t),this}_prepareEase(t,i,o={}){this._moving=!0,this.transform.cameraElevationReference=\"sea\",i||o.moving||this.fire(new e.Event(\"movestart\",t)),this._zooming&&!o.zooming&&this.fire(new e.Event(\"zoomstart\",t)),this._rotating&&!o.rotating&&this.fire(new e.Event(\"rotatestart\",t)),this._pitching&&!o.pitching&&this.fire(new e.Event(\"pitchstart\",t));}_fireMoveEvents(t){this.fire(new e.Event(\"move\",t)),this._zooming&&this.fire(new e.Event(\"zoom\",t)),this._rotating&&this.fire(new e.Event(\"rotate\",t)),this._pitching&&this.fire(new e.Event(\"pitch\",t));}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference=\"ground\";const o=this._zooming,r=this._rotating,n=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,o&&this.fire(new e.Event(\"zoomend\",t)),r&&this.fire(new e.Event(\"rotateend\",t)),n&&this.fire(new e.Event(\"pitchend\",t)),this.fire(new e.Event(\"moveend\",t));}flyTo(t,i){if(this._prefersReducedMotion(t)){const o=e.pick(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(o,i)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);const o=this.transform,r=this.getZoom(),n=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l=\"zoom\"in t?e.clamp(+t.zoom,o.minZoom,o.maxZoom):r,c=\"bearing\"in t?this._normalizeBearing(t.bearing,n):n,h=\"pitch\"in t?+t.pitch:s,u=\"padding\"in t?t.padding:o.padding,_=o.zoomScale(l-r),d=e.Point.convert(t.offset);let p=o.centerPoint.add(d);const m=o.pointLocation(p),f=e.LngLat.convert(t.center||m);this._normalizeCenter(f);const g=o.project(m),v=o.project(f).sub(g);let x=t.curve;const y=Math.max(o.width,o.height),b=y/_,w=v.mag();if(\"minZoom\"in t){const i=e.clamp(Math.min(t.minZoom,r,l),o.minZoom,o.maxZoom),n=y/o.zoomScale(i-r);x=Math.sqrt(n/w*2);}const T=x*x;function E(e){const t=(b*b-y*y+(e?-1:1)*T*T*w*w)/(2*(e?b:y)*T*w);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return (Math.exp(e)-Math.exp(-e))/2}function M(e){return (Math.exp(e)+Math.exp(-e))/2}const I=E(0);let P=function(e){return M(I)/M(I+x*e)},S=function(e){return y*((M(I)*(C(t=I+x*e)/M(t))-C(I))/T)/w;var t;},D=(E(1)-I)/x;if(Math.abs(w)<1e-6||!isFinite(D)){if(Math.abs(y-b)<1e-6)return this.easeTo(t,i);const e=bt.maxDuration&&(t.duration=0);const L=n!==c,A=h!==s,z=!o.isPaddingEqual(u),R=o=>_=>{const m=_*D,x=1/P(m);o.zoom=1===_?l:r+o.scaleZoom(x),L&&(o.bearing=e.number(n,c,_)),A&&(o.pitch=e.number(s,h,_)),z&&(o.interpolatePadding(a,u,_),p=o.centerPoint.add(d));const y=1===_?f:o.unproject(g.add(v.mult(S(m))).mult(x));return o.setLocationAtPoint(o.renderWorldCopies?y.wrap():y,p),o._updateCameraOnTerrain(),t.preloadOnly||this._fireMoveEvents(i),o};if(t.preloadOnly){const e=this._emulate(R,t.duration,o);return this._preloadTiles(e),this}return this._zooming=!0,this._rotating=L,this._pitching=A,this._padding=z,this._prepareEase(i,!1),this._ease(R(o),(()=>this._afterEase(i)),t),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const e=this._onEaseEnd;this._onEaseEnd=void 0,e.call(this,t);}if(!e){const e=this.handlers;e&&e.stop(!1);}return this}_ease(t,i,o){!1===o.animate||0===o.duration?(t(1),i()):(this._easeStart=e.exported.now(),this._easeOptions=o,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_renderFrameCallback(){const t=Math.min((e.exported.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();}_normalizeBearing(t,i){t=e.wrap(t,-180,180);const o=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0;}_prefersReducedMotion(t){return this._respectPrefersReducedMotion&&e.exported.prefersReducedMotion&&!(t&&t.essential)}_emulate(e,t,i){const o=Math.ceil(15*t/1e3),r=[],n=e(i.clone());for(let e=0;e<=o;e++){const t=n(e/o);r.push(t.clone());}return r}}class Hr{constructor(t={}){this.options=t,e.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this);}getDefaultPosition(){return \"bottom-right\"}onAdd(e){const t=this.options&&this.options.compact;return this._map=e,this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=n(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),n(\"span\",\"mapboxgl-ctrl-icon\",this._compactButton).setAttribute(\"aria-hidden\",\"true\"),this._compactButton.type=\"button\",this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=n(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),t&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===t&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0;}_setElementTitle(e,t){const i=this._map._getUIString(`AttributionControl.${t}`);e.setAttribute(\"aria-label\",i),e.removeAttribute(\"title\"),e.firstElementChild&&e.firstElementChild.setAttribute(\"title\",i);}_toggleAttribution(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-expanded\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-expanded\",\"true\"));}_updateEditLink(){let t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));const i=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){const o=i.reduce(((e,t,o)=>(t.value&&(e+=`${t.key}=${t.value}${oe.length-t.length)),e=e.filter(((t,i)=>{for(let o=i+1;o=0)return !1;return !0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=[...this.options.customAttribution,...e]:e.unshift(this.options.customAttribution));const i=e.join(\" | \");i!==this._attribHTML&&(this._attribHTML=i,e.length?(this._innerContainer.innerHTML=i,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null);}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\");}}class Yr{constructor(){e.bindAll([\"_updateLogo\",\"_updateCompact\"],this);}onAdd(e){this._map=e,this._container=n(\"div\",\"mapboxgl-ctrl\");const t=n(\"a\",\"mapboxgl-ctrl-logo\");return t.target=\"_blank\",t.rel=\"noopener nofollow\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),t.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(t),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact);}getDefaultPosition(){return \"bottom-left\"}_updateLogo(e){e&&\"metadata\"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\");}_logoRequired(){if(!this._map.style)return !0;const e=this._map.style._sourceCaches;if(0===Object.entries(e).length)return !0;for(const t in e){const i=e[t].getSource();if(i.hasOwnProperty(\"mapbox_logo\")&&!i.mapbox_logo)return !1}return !0}_updateCompact(){const e=this._container.children;if(e.length){const t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add(\"mapboxgl-compact\"):t.classList.remove(\"mapboxgl-compact\");}}}class Kr{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(e){const t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){const t=this._currentlyRunning,i=t?this._queue.concat(t):this._queue;for(const t of i)if(t.id===e)return void(t.cancelled=!0)}run(e=0){const t=this._currentlyRunning=this._queue;this._queue=[];for(const i of t)if(!i.cancelled&&(i.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}function Jr(t,i,o){if(t=new e.LngLat(t.lng,t.lat),i){const r=new e.LngLat(t.lng-360,t.lat),n=new e.LngLat(t.lng+360,t.lat),s=360*Math.ceil(Math.abs(t.lng-o.center.lng)/360),a=o.locationPoint(t).distSqr(i),l=i.x<0||i.y<0||i.x>o.width||i.y>o.height;o.locationPoint(r).distSqr(i)180;){const e=o.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=o.width&&e.y<=o.height)break;t.lng>o.center.lng?t.lng-=360:t.lng+=360;}return t}const Qr={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};class en extends e.Evented{constructor(t,i){if(super(),(t instanceof e.window.HTMLElement||i)&&(t=e.extend({element:t},i)),e.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\",\"_clearFadeTimer\"],this),this._anchor=t&&t.anchor||\"center\",this._color=t&&t.color||\"#3FB1CE\",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||\"auto\",this._pitchAlignment=t&&t.pitchAlignment&&t.pitchAlignment||\"auto\",this._updateMoving=()=>this._update(!0),this._occludedOpacity=t&&t.occludedOpacity||.2,t&&t.element)this._element=t.element,this._offset=e.Point.convert(t&&t.offset||[0,0]);else {this._defaultMarker=!0,this._element=n(\"div\");const i=41,o=27,r=s(\"svg\",{display:\"block\",height:i*this._scale+\"px\",width:o*this._scale+\"px\",viewBox:`0 0 ${o} ${i}`},this._element),a=s(\"radialGradient\",{id:\"shadowGradient\"},s(\"defs\",{},r));s(\"stop\",{offset:\"10%\",\"stop-opacity\":.4},a),s(\"stop\",{offset:\"100%\",\"stop-opacity\":.05},a),s(\"ellipse\",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:\"url(#shadowGradient)\"},r),s(\"path\",{fill:this._color,d:\"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z\"},r),s(\"path\",{opacity:.25,d:\"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z\"},r),s(\"circle\",{fill:\"white\",cx:13.5,cy:13.5,r:5.5},r),this._offset=e.Point.convert(t&&t.offset||[0,-14]);}this._element.hasAttribute(\"aria-label\")||this._element.setAttribute(\"aria-label\",\"Map marker\"),this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(e=>{e.preventDefault();})),this._element.addEventListener(\"mousedown\",(e=>{e.preventDefault();}));const o=this._element.classList;for(const e in Qr)o.remove(`mapboxgl-marker-anchor-${e}`);o.add(`mapboxgl-marker-anchor-${this._anchor}`),this._popup=null;}addTo(e){return e===this._map||(this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on(\"move\",this._updateMoving),e.on(\"moveend\",this._update),e.on(\"remove\",this._clearFadeTimer),e._addMarker(this),this.setDraggable(this._draggable),this._update(),e.on(\"click\",this._onMapClick)),this}remove(){const e=this._map;return e&&(e.off(\"click\",this._onMapClick),e.off(\"move\",this._updateMoving),e.off(\"moveend\",this._update),e.off(\"mousedown\",this._addDragHandler),e.off(\"touchstart\",this._addDragHandler),e.off(\"mouseup\",this._onUp),e.off(\"touchend\",this._onUp),e.off(\"mousemove\",this._onMove),e.off(\"touchmove\",this._onMove),e.off(\"remove\",this._clearFadeTimer),e._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute(\"role\"),this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),e){if(!(\"offset\"in e.options)){const t=38.1,i=13.5,o=Math.sqrt(Math.pow(i,2)/2);e.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-t],\"bottom-left\":[o,-1*(t-i+o)],\"bottom-right\":[-o,-1*(t-i+o)],left:[i,-1*(t-i)],right:[-i,-1*(t-i)]}:this._offset;}this._popup=e,e._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute(\"role\",\"button\"),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress),this._element.setAttribute(\"aria-expanded\",\"false\");}return this}_onKeyPress(e){const t=e.code,i=e.charCode||e.keyCode;\"Space\"!==t&&\"Enter\"!==t&&32!==i&&13!==i||this.togglePopup();}_onMapClick(e){const t=e.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup();}getPopup(){return this._popup}togglePopup(){const e=this._popup;return e?(e.isOpen()?(e.remove(),this._element.setAttribute(\"aria-expanded\",\"false\")):this._map&&(e.addTo(this._map),this._element.setAttribute(\"aria-expanded\",\"true\")),this):this}_behindTerrain(){const e=this._map,t=this._pos;if(!e||!t)return !1;const i=e.unproject(t),o=e.getFreeCameraOptions();if(!o.position)return !1;const r=o.position.toLngLat();return r.distanceTo(i)<.9*r.distanceTo(this._lngLat)}_evaluateOpacity(){const t=this._map;if(!t)return;const i=this._pos;if(!i||i.x<0||i.x>t.transform.width||i.y<0||i.y>t.transform.height)return void this._clearFadeTimer();const o=t.unproject(i);let r;t._showingGlobe()&&e.isLngLatBehindGlobe(t.transform,this._lngLat)?r=0:(r=1-t._queryFogOpacity(o),t.transform._terrainEnabled()&&t.getTerrain()&&this._behindTerrain()&&(r*=this._occludedOpacity)),this._element.style.opacity=`${r}`,this._element.style.pointerEvents=r>0?\"auto\":\"none\",this._popup&&this._popup._setOpacity(r),this._fadeTimer=null;}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null);}_updateDOM(){const e=this._pos;if(!e||!this._map)return;const t=this._offset.mult(this._scale);this._element.style.transform=`\\n translate(${e.x}px,${e.y}px)\\n ${Qr[this._anchor]}\\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\\n translate(${t.x}px,${t.y}px)\\n `;}_calculateXYTransform(){const t=this._pos,i=this._map,o=this.getPitchAlignment();if(!i||!t||\"map\"!==o)return \"\";if(!i._showingGlobe()){const e=i.getPitch();return e?`rotateX(${e}deg)`:\"\"}const r=e.radToDeg(e.globeTiltAtLngLat(i.transform,this._lngLat)),n=t.sub(e.globeCenterToScreenPoint(i.transform)),s=Math.abs(n.x)+Math.abs(n.y);if(0===s)return \"\";const a=r/s;return `rotateX(${-n.y*a}deg) rotateY(${n.x*a}deg)`}_calculateZTransform(){const t=this._pos,i=this._map;if(!i||!t)return \"\";let o=0;const r=this.getRotationAlignment();if(\"map\"===r)if(i._showingGlobe()){const t=i.project(new e.LngLat(this._lngLat.lng,this._lngLat.lat+.001)),r=i.project(new e.LngLat(this._lngLat.lng,this._lngLat.lat-.001)).sub(t);o=e.radToDeg(Math.atan2(r.y,r.x))-90;}else o=-i.getBearing();else if(\"horizon\"===r){const r=e.smoothstep(4,6,i.getZoom()),n=e.globeCenterToScreenPoint(i.transform);n.y+=r*i.transform.height;const s=t.sub(n),a=e.radToDeg(Math.atan2(s.y,s.x));o=(a>90?a-270:a+90)*(1-r);}return o+=this._rotation,o?`rotateZ(${o}deg)`:\"\"}_update(t){e.window.cancelAnimationFrame(this._updateFrameId);const i=this._map;i&&(i.transform.renderWorldCopies&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),this._pos=i.project(this._lngLat),!0===t?this._updateFrameId=e.window.requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM());})):this._pos=this._pos.round(),i._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(i._showingGlobe()||i.getTerrain()||i.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)));})));}getOffset(){return this._offset}setOffset(t){return this._offset=e.Point.convert(t),this._update(),this}_onMove(t){const i=this._map;if(!i)return;const o=this._pointerdownPos,r=this._positionDelta;if(o&&r){if(!this._isDragging){const e=this._clickTolerance||i._clickTolerance;if(t.point.dist(o)=this._endTime)return this._end;const i=e.easeCubicInOut((t-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(e){return e>=this._startTime&&e<=this._endTime}jumpTo(e){this._startTime=-1/0,this._endTime=-1/0,this._start=e,this._end=e;}easeTo(e,t,i){this._start=this.getValue(t),this._end=e,this._startTime=t,this._endTime=t+i;}}const sn={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"Map.Title\":\"Map\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScrollZoomBlocker.CtrlMessage\":\"Use ctrl + scroll to zoom the map\",\"ScrollZoomBlocker.CmdMessage\":\"Use ⌘ + scroll to zoom the map\",\"TouchPanBlocker.Message\":\"Use two fingers to move the map\"},an={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,optimizeForTerrain:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0},ln={showCompass:!0,showZoom:!0,visualizePitch:!1};class cn{constructor(t,i,o=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new yr({clickTolerance:t.dragRotate._mouseRotate._clickTolerance}),this.map=t,o&&(this.mousePitch=new br({clickTolerance:t.dragRotate._mousePitch._clickTolerance})),e.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),i.addEventListener(\"mousedown\",this.mousedown),i.addEventListener(\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(\"touchmove\",this.touchmove),i.addEventListener(\"touchend\",this.touchend),i.addEventListener(\"touchcancel\",this.reset);}down(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),h();}move(e,t){const i=this.map,o=this.mouseRotate.mousemoveWindow(e,t),r=o&&o.bearingDelta;if(r&&i.setBearing(i.getBearing()+r),this.mousePitch){const o=this.mousePitch.mousemoveWindow(e,t),r=o&&o.pitchDelta;r&&i.setPitch(i.getPitch()+r);}}off(){const e=this.element;e.removeEventListener(\"mousedown\",this.mousedown),e.removeEventListener(\"touchstart\",this.touchstart,{passive:!1}),e.removeEventListener(\"touchmove\",this.touchmove),e.removeEventListener(\"touchend\",this.touchend),e.removeEventListener(\"touchcancel\",this.reset),this.offTemp();}offTemp(){u(),e.window.removeEventListener(\"mousemove\",this.mousemove),e.window.removeEventListener(\"mouseup\",this.mouseup);}mousedown(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),p(this.element,t)),e.window.addEventListener(\"mousemove\",this.mousemove),e.window.addEventListener(\"mouseup\",this.mouseup);}mousemove(e){this.move(e,p(this.element,e));}mouseup(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp();}touchstart(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,e.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:()=>e.preventDefault()},this._startPos));}touchmove(e){1!==e.targetTouches.length?this.reset():(this._lastPos=m(this.element,e.targetTouches)[0],this.move({preventDefault:()=>e.preventDefault()},this._lastPos));}touchend(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)t.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=t.minPitch&&t.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=t.maxPitch&&t.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(t.antialias&&e.isSafariWithAntialiasingBug(e.window)&&(t.antialias=!1,e.warnOnce(\"Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609\")),super(new Ho(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),t),this._interactive=t.interactive,this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._useWebGL2=t.useWebGL2,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=t.crossSourceCollisions,this._collectResourceTiming=t.collectResourceTiming,this._optimizeForTerrain=t.optimizeForTerrain,this._language=this._parseLanguage(t.language),this._worldview=t.worldview,this._renderTaskQueue=new Kr,this._domRenderTaskQueue=new Kr,this._controls=[],this._markers=[],this._popups=[],this._mapId=e.uniqueId(),this._locale=e.extend({},sn,t.locale),this._clickTolerance=t.clickTolerance,this._cooperativeGestures=t.cooperativeGestures,this._performanceMetricsCollection=t.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new nn(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new e.RequestManager(t.transformRequest,t.accessToken,t.testMode),this._silenceAuthErrors=!!t.testMode,\"string\"==typeof t.container){if(this._container=e.window.document.getElementById(t.container),!this._container)throw new Error(`Container '${t.container}' not found.`)}else {if(!(t.container instanceof e.window.HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=t.container;}if(this._container.childNodes.length>0&&e.warnOnce(\"The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead.\"),t.maxBounds&&this.setMaxBounds(t.maxBounds),e.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onVisibilityChange\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(()=>this._update(!1))),this.on(\"moveend\",(()=>this._update(!1))),this.on(\"zoom\",(()=>this._update(!0))),void 0!==e.window&&(e.window.addEventListener(\"online\",this._onWindowOnline,!1),e.window.addEventListener(\"resize\",this._onWindowResize,!1),e.window.addEventListener(\"orientationchange\",this._onWindowResize,!1),e.window.addEventListener(\"webkitfullscreenchange\",this._onWindowResize,!1),e.window.addEventListener(\"visibilitychange\",this._onVisibilityChange,!1)),this.handlers=new Xr(this,t),this._localFontFamily=t.localFontFamily,this._localIdeographFontFamily=t.localIdeographFontFamily,t.style&&this.setStyle(t.style,{localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),t.projection&&this.setProjection(t.projection),this._hash=t.hash&&new Ko(\"string\"==typeof t.hash&&t.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.extend({},t.fitBoundsOptions,{duration:0})))),this.resize(),t.attributionControl&&this.addControl(new Hr({customAttribution:t.customAttribution})),this._logoControl=new Yr,this.addControl(this._logoControl,t.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(t=>{this._update(\"style\"===t.dataType),this.fire(new e.Event(`${t.dataType}data`,t));})),this.on(\"dataloading\",(t=>{this.fire(new e.Event(`${t.dataType}dataloading`,t));}));}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():\"top-right\"),!t||!t.onAdd)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const o=t.onAdd(this);this._controls.push(t);const r=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?r.insertBefore(o,r.firstChild):r.appendChild(o),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(t){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new e.Event(\"movestart\",t)).fire(new e.Event(\"move\",t)),this.fire(new e.Event(\"resize\",t)),i&&this.fire(new e.Event(\"moveend\",t)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t?this.setZoom(t):this.fire(new e.Event(\"zoomstart\")).fire(new e.Event(\"zoom\")).fire(new e.Event(\"zoomend\")),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t?this.setPitch(t):this.fire(new e.Event(\"pitchstart\")).fire(new e.Event(\"pitch\")).fire(new e.Event(\"pitchend\")),this;throw new Error(\"maxPitch must be greater than or equal to minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(t){return \"auto\"===t?e.window.navigator.language:Array.isArray(t)?0===t.length?void 0:t.map((t=>\"auto\"===t?e.window.navigator.language:t)):t}setLanguage(e){const t=this._parseLanguage(e);if(!this.style||t===this._language)return this;this._language=t,this.style._reloadSources();for(const e of this._controls)e._setLanguage&&e._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(e){return this.style&&e!==this._worldview?(this._worldview=e,this.style._reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:\"globe\",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return \"globe\"===this.transform.projection.name}setProjection(e){return this._lazyInitEmptyStyle(),e?\"string\"==typeof e&&(e={name:e}):e=null,this._useExplicitProjection=!!e,this._prioritizeAndUpdateProjection(e,this.style.stylesheet?this.style.stylesheet.projection:null)}_updateProjectionTransition(){if(\"globe\"!==this.getProjection().name)return;const t=this.transform,i=t.projection.name;let o;\"globe\"===i&&t.zoom>=e.GLOBE_ZOOM_THRESHOLD_MAX?(t.setMercatorFromTransition(),o=!0):\"mercator\"===i&&t.zoom=e.GLOBE_ZOOM_THRESHOLD_MAX?this.transform.setMercatorFromTransition():this.transform.setProjection(t),this.style.applyProjectionUpdate(),i){this.painter.clearBackgroundTiles();for(const e in this.style._sourceCaches)this.style._sourceCaches[e].clearTiles();this._update(!0),this._forceMarkerAndPopupUpdate(!0);}return this}project(t){return this.transform.locationPoint3D(e.LngLat.convert(t))}unproject(t){return this.transform.pointLocation3D(e.Point.convert(t))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(e,t,i){if(\"mouseenter\"===e||\"mouseover\"===e){let o=!1;const r=r=>{const n=t.filter((e=>this.getLayer(e))),s=n.length?this.queryRenderedFeatures(r.point,{layers:n}):[];s.length?o||(o=!0,i.call(this,new ar(e,this,r.originalEvent,{features:s}))):o=!1;},n=()=>{o=!1;};return {layers:new Set(t),listener:i,delegates:{mousemove:r,mouseout:n}}}if(\"mouseleave\"===e||\"mouseout\"===e){let o=!1;const r=r=>{const n=t.filter((e=>this.getLayer(e)));(n.length?this.queryRenderedFeatures(r.point,{layers:n}):[]).length?o=!0:o&&(o=!1,i.call(this,new ar(e,this,r.originalEvent)));},n=t=>{o&&(o=!1,i.call(this,new ar(e,this,t.originalEvent)));};return {layers:new Set(t),listener:i,delegates:{mousemove:r,mouseout:n}}}{const o=e=>{const o=t.filter((e=>this.getLayer(e))),r=o.length?this.queryRenderedFeatures(e.point,{layers:o}):[];r.length&&(e.features=r,i.call(this,e),delete e.features);};return {layers:new Set(t),listener:i,delegates:{[e]:o}}}}on(e,t,i){if(void 0===i)return super.on(e,t);Array.isArray(t)||(t=[t]);const o=this._createDelegatedListener(e,t,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(o);for(const e in o.delegates)this.on(e,o.delegates[e]);return this}once(e,t,i){if(void 0===i)return super.once(e,t);Array.isArray(t)||(t=[t]);const o=this._createDelegatedListener(e,t,i);for(const e in o.delegates)this.once(e,o.delegates[e]);return this}off(e,t,i){if(void 0===i)return super.off(e,t);t=new Set(Array.isArray(t)?t:[t]);const o=(e,t)=>{if(e.size!==t.size)return !1;for(const i of e)if(!t.has(i))return !1;return !0},r=this._delegatedListeners?this._delegatedListeners[e]:void 0;return r&&(e=>{for(let r=0;r{t?this.fire(new e.ErrorEvent(t)):o&&this._updateDiff(o,i);}));}else \"object\"==typeof t&&this._updateDiff(t,i);}_updateDiff(t,i){try{this.style.setState(t)&&this._update(!0);}catch(o){e.warnOnce(`Unable to perform style diff: ${o.message||o.error||o}. Rebuilding the style from scratch.`),this._updateStyle(t,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(e.warnOnce(\"There is no style added to the map.\"),!1)}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){return !!this.style&&this.style._isSourceCacheLoaded(e)}areTilesLoaded(){const e=this.style&&this.style._sourceCaches;for(const t in e){const i=e[t]._tiles;for(const e in i){const t=i[e];if(\"loaded\"!==t.state&&\"errored\"!==t.state)return !1}}return !0}addSourceType(e,t,i){this._lazyInitEmptyStyle(),this.style.addSourceType(e,t,i);}removeSource(e){return this.style.removeSource(e),this._updateTerrain(),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(t,i,{pixelRatio:o=1,sdf:r=!1,stretchX:n,stretchY:s,content:a}={}){if(this._lazyInitEmptyStyle(),i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap){const{width:l,height:c,data:h}=e.exported.getImageData(i);this.style.addImage(t,{data:new e.RGBAImage({width:l,height:c},h),pixelRatio:o,stretchX:n,stretchY:s,content:a,sdf:r,version:0});}else if(void 0===i.width||void 0===i.height)this.fire(new e.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));else {const{width:l,height:c}=i,h=i;this.style.addImage(t,{data:new e.RGBAImage({width:l,height:c},new Uint8Array(h.data)),pixelRatio:o,stretchX:n,stretchY:s,content:a,sdf:r,version:0,userImage:h}),h.onAdd&&h.onAdd(this,t);}}updateImage(t,i){const o=this.style.getImage(t);if(!o)return void this.fire(new e.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const r=i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap?e.exported.getImageData(i):i,{width:n,height:s}=r;void 0!==n&&void 0!==s?n===o.data.width&&s===o.data.height?(o.data.replace(r.data,!(i instanceof e.window.HTMLImageElement||e.window.ImageBitmap&&i instanceof e.window.ImageBitmap)),this.style.updateImage(t,o)):this.fire(new e.ErrorEvent(new Error(`The width and height of the updated image (${n}, ${s})\\n must be that same as the previous version of the image\\n (${o.data.width}, ${o.data.height})`))):this.fire(new e.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.ErrorEvent(new Error(\"Missing required image id\"))),!1)}removeImage(e){this.style.removeImage(e);}loadImage(t,i){e.getImage(this._requestManager.transformRequest(t,e.ResourceType.Image),((t,o)=>{i(t,o instanceof e.window.HTMLImageElement?e.exported.getImageData(o):o);}));}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}setLayerZoomRange(e,t,i){return this.style.setLayerZoomRange(e,t,i),this._update(!0)}setFilter(e,t,i={}){return this.style.setFilter(e,t,i),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,i,o={}){return this.style.setPaintProperty(e,t,i,o),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,i,o={}){return this.style.setLayoutProperty(e,t,i,o),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setTerrain(e){return this._lazyInitEmptyStyle(),!e&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(e),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(e){return this._lazyInitEmptyStyle(),this.style.setFog(e),this._update(!0)}getFog(){return this.style?this.style.getFog():null}_queryFogOpacity(t){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(e.LngLat.convert(t),this.transform):0}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}_updateContainerDimensions(){if(!this._container)return;const t=this._container.getBoundingClientRect().width||400,i=this._container.getBoundingClientRect().height||300;let o,r,n,s=this._container;for(;s&&(!r||!n);){const t=e.window.getComputedStyle(s).transform;t&&\"none\"!==t&&(o=t.match(/matrix.*\\((.+)\\)/)[1].split(\", \"),o[0]&&\"0\"!==o[0]&&\"1\"!==o[0]&&(r=o[0]),o[3]&&\"0\"!==o[3]&&\"1\"!==o[3]&&(n=o[3])),s=s.parentElement;}this._containerWidth=r?Math.abs(t/r):t,this._containerHeight=n?Math.abs(i/n):i;}_detectMissingCSS(){\"rgb(250, 128, 114)\"!==e.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&e.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\");}_setupContainer(){const e=this._container;e.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=n(\"div\",\"mapboxgl-canary\",e)).style.visibility=\"hidden\",this._detectMissingCSS();const t=this._canvasContainer=n(\"div\",\"mapboxgl-canvas-container\",e);this._interactive&&t.classList.add(\"mapboxgl-interactive\"),this._canvas=n(\"canvas\",\"mapboxgl-canvas\",t),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=n(\"div\",\"mapboxgl-control-container\",e),o=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((e=>{o[e]=n(\"div\",`mapboxgl-ctrl-${e}`,i);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_resizeCanvas(t,i){const o=e.exported.devicePixelRatio||1;this._canvas.width=o*Math.ceil(t),this._canvas.height=o*Math.ceil(i),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${i}px`;}_addMarker(e){this._markers.push(e);}_removeMarker(e){const t=this._markers.indexOf(e);-1!==t&&this._markers.splice(t,1);}_addPopup(e){this._popups.push(e);}_removePopup(e){const t=this._popups.indexOf(e);-1!==t&&this._popups.splice(t,1);}_setupPainter(){const t=e.extend({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),o=this._useWebGL2&&this._canvas.getContext(\"webgl2\",t),r=o||this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);r?(this._useWebGL2&&!o&&e.warnOnce(\"Failed to create WebGL 2 context. Using WebGL 1.\"),e.storeAuthState(r,!0),this.painter=new Bo(r,this.transform,!!o),this.on(\"data\",(e=>{\"source\"===e.dataType&&this.painter.setTileLoadedFlag(!0);})),e.exported$1.testSupport(r)):this.fire(new e.ErrorEvent(new Error(\"Failed to initialize WebGL\")));}_contextLost(t){t.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new e.Event(\"webglcontextlost\",{originalEvent:t}));}_contextRestored(t){this._setupPainter(),this.resize(),this._update(),this.fire(new e.Event(\"webglcontextrestored\",{originalEvent:t}));}_onMapScroll(e){if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e);}_requestDomTask(e){!this.loaded()||this.loaded()&&!this.isMoving()?e():this._domRenderTaskQueue.add(e);}_render(t){let i;const o=this.painter.context.extTimerQuery,r=e.exported.now();if(this.listens(\"gpu-timing-frame\")&&(i=o.createQueryEXT(),o.beginQueryEXT(o.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],e.window.performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],e.window.performance.now())),this._renderTaskQueue.run(t),this._domRenderTaskQueue.run(t),this._removed)return;this._updateProjectionTransition();const n=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=this.transform.pitch,o=e.exported.now(),r=new e.EvaluationParameters(t,{now:o,fadeDuration:n,pitch:i,transition:this.style.getTransition()});this.style.update(r);}this.style&&this.style.fog&&this.style.fog.hasTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let s=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),s=this._updateAverageElevation(r),this.style._updateSources(this.transform),this._forceMarkerAndPopupUpdate()):s=this._updateAverageElevation(r),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,n,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showTerrainWireframe:this.showTerrainWireframe,showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:n,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\"),gpuTimingDeferredRender:!!this.listens(\"gpu-timing-deferred-render\"),speedIndexTiming:this.speedIndexTiming}),this.fire(new e.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new e.Event(\"load\"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const t=e.exported.now()-r;o.endQueryEXT(o.TIME_ELAPSED_EXT,i),setTimeout((()=>{const n=o.getQueryObjectEXT(i,o.QUERY_RESULT_EXT)/1e6;o.deleteQueryEXT(i),this.fire(new e.Event(\"gpu-timing-frame\",{cpuTime:t,gpuTime:n})),e.window.performance.mark(\"frame-gpu\",{startTime:r,detail:{gpuTime:n}});}),50);}if(this.listens(\"gpu-timing-layer\")){const t=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(t);this.fire(new e.Event(\"gpu-timing-layer\",{layerTimes:i}));}),50);}if(this.listens(\"gpu-timing-deferred-render\")){const t=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(t);this.fire(new e.Event(\"gpu-timing-deferred-render\",{gpuTime:i}));}),50);}const a=this._sourcesDirty||this._styleDirty||this._placementDirty||s;if(a||this._repaint)this.triggerRepaint();else {const t=!this.isMoving()&&this.loaded();if(t&&(s=this._updateAverageElevation(r,!0)),s)this.triggerRepaint();else if(this._triggerFrame(!1),t&&(this.fire(new e.Event(\"idle\")),this._isInitialLoad=!1,this.speedIndexTiming)){const t=this._calculateSpeedIndex();this.fire(new e.Event(\"speedindexcompleted\",{speedIndex:t})),this.speedIndexTiming=!1;}}!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,e.LivePerformanceUtils.mark(e.PerformanceMarkers.fullLoad),this._performanceMetricsCollection&&e.postPerformanceEvent(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate());}_forceMarkerAndPopupUpdate(e){for(const t of this._markers)e&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!e||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update();}_updateAverageElevation(e,t=!1){const i=e=>(this.transform.averageElevation=e,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);if((t||e-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(e)){const t=this.transform.averageElevation;let o=this.transform.sampleAverageElevation(),r=!1;this.transform.elevation&&(r=this.transform.elevation.exaggeration()!==this._averageElevationExaggeration,this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(o)?o=0:this._averageElevationLastSampledAt=e;const n=Math.abs(t-o);if(n>1){if(this._isInitialLoad||r)return this._averageElevation.jumpTo(o),i(o);this._averageElevation.easeTo(o,e,300);}else if(n>1e-4)return this._averageElevation.jumpTo(o),i(o)}return !!this._averageElevation.isEasing(e)&&i(this._averageElevation.getValue(e))}_authenticate(){e.getMapSessionAPI(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(t=>{if(t&&(t.message===e.AUTH_ERR_MSG||401===t.status)){const t=this.painter.context.gl;e.storeAuthState(t,!1),this._logoControl instanceof Yr&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new e.ErrorEvent(new Error(\"A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/\")));}})),e.postMapLoadEvent(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}));}_updateTerrain(){const e=this._isDragging();this.painter.updateTerrain(this.style,e);}_calculateSpeedIndex(){const e=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const i=this.painter.context.gl,o=i.createFramebuffer();function r(e){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,e,0);const t=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,t),t}return i.bindFramebuffer(i.FRAMEBUFFER,o),this._canvasPixelComparison(r(e),t.canvasCopies.map(r),t.timeStamps)}_canvasPixelComparison(e,t,i){let o=i[1]-i[0];const r=e.length/4;for(let n=0;n{const t=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,t&&this._render(e);})));}_preloadTiles(t){const i=this.style?Object.values(this.style._sourceCaches):[];return e.asyncAll(i,((e,i)=>e._preloadTiles(t,i)),(()=>{this.triggerRepaint();})),this}_onWindowOnline(){this._update();}_onWindowResize(e){this._trackResize&&this.resize({originalEvent:e})._update();}_onVisibilityChange(){\"hidden\"===e.window.document.visibilityState&&this._visibilityHidden++;}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update());}get showTerrainWireframe(){return !!this._showTerrainWireframe}set showTerrainWireframe(e){this._showTerrainWireframe!==e&&(this._showTerrainWireframe=e,this._update());}get speedIndexTiming(){return !!this._speedIndexTiming}set speedIndexTiming(e){this._speedIndexTiming!==e&&(this._speedIndexTiming=e,this._update());}get showPadding(){return !!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update());}get repaint(){return !!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(e){this._vertices=e,this._update();}get showTileAABBs(){return !!this._showTileAABBs}set showTileAABBs(e){this._showTileAABBs!==e&&(this._showTileAABBs=e,e&&this._update());}_setCacheLimits(t,i){e.setCacheLimits(t,i);}get version(){return e.version}},NavigationControl:class{constructor(t){this.options=e.extend({},ln,t),this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(e=>e.preventDefault())),this.options.showZoom&&(e.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(e=>{this._map&&this._map.zoomIn({},{originalEvent:e});})),n(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(e=>{this._map&&this._map.zoomOut({},{originalEvent:e});})),n(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(e.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(e=>{const t=this._map;t&&(this.options.visualizePitch?t.resetNorthPitch({},{originalEvent:e}):t.resetNorth({},{originalEvent:e}));})),this._compassIcon=n(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}_updateZoomButtons(){const e=this._map;if(!e)return;const t=e.getZoom(),i=t===e.getMaxZoom(),o=t===e.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=o,this._zoomInButton.setAttribute(\"aria-disabled\",i.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",o.toString());}_rotateCompassArrow(){const e=this._map;if(!e)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(e.transform.pitch*(Math.PI/180)),.5)}) rotateX(${e.transform.pitch}deg) rotateZ(${e.transform.angle*(180/Math.PI)}deg)`:`rotate(${e.transform.angle*(180/Math.PI)}deg)`;e._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=t);}));}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),e.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&e.on(\"pitch\",this._rotateCompassArrow),e.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new cn(e,this._compass,this.options.visualizePitch)),this._container}onRemove(){const e=this._map;e&&(this._container.remove(),this.options.showZoom&&e.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&e.off(\"pitch\",this._rotateCompassArrow),e.off(\"rotate\",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0);}_createButton(e,t){const i=n(\"button\",e,this._container);return i.type=\"button\",i.addEventListener(\"click\",t),i}_setButtonTitle(e,t){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${t}`);e.setAttribute(\"aria-label\",i),e.firstElementChild&&e.firstElementChild.setAttribute(\"title\",i);}},GeolocateControl:class extends e.Evented{constructor(t){super(),this.options=e.extend({geolocation:e.window.navigator.geolocation},hn,t),e.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\",\"_updateMarkerRotation\",\"_onDeviceOrientation\"],this),this._updateMarkerRotationThrottled=Yo(this._updateMarkerRotation,20),this._numberOfWatches=0;}onAdd(e){return this._map=e,this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off(\"zoom\",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1;}_checkGeolocationSupport(t){const i=(e=!!this.options.geolocation)=>{this._supportsGeolocation=e,t(e);};void 0!==this._supportsGeolocation?t(this._supportsGeolocation):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:\"geolocation\"}).then((e=>i(\"denied\"!==e.state))).catch((()=>i())):i();}_isOutOfMapMaxBounds(e){const t=this._map.getMaxBounds(),i=e.coords;return !!t&&(i.longitudet.getEast()||i.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");}}_onSuccess(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.Event(\"outofmaxbounds\",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"geolocate\",t)),this._finish();}}_updateCamera(t){const i=new e.LngLat(t.coords.longitude,t.coords.latitude),o=t.coords.accuracy,r=this._map.getBearing(),n=e.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),n,{geolocateSource:!0});}_updateMarker(t){if(t){const i=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();}_updateCircleRadius(){const t=this._map.transform,i=e.mercatorZfromAltitude(1,t._center.lat)*t.worldSize,o=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${o}px`,this._circleElement.style.height=`${o}px`;}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}_updateMarkerRotation(){this._userLocationDotMarker&&\"number\"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._dotElement.classList.add(\"mapboxgl-user-location-show-heading\")):(this._dotElement.classList.remove(\"mapboxgl-user-location-show-heading\"),this._userLocationDotMarker.setRotation(0));}_onError(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const e=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.setAttribute(\"aria-label\",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute(\"title\",e),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===t.code&&this._noTimeout)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"error\",t)),this._finish();}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;}_setupUI(t){if(void 0!==this._map){if(this._container.addEventListener(\"contextmenu\",(e=>e.preventDefault())),this._geolocateButton=n(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),n(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===t){e.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute(\"aria-label\",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute(\"title\",t);}else {const e=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.setAttribute(\"aria-label\",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute(\"title\",e);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=n(\"div\",\"mapboxgl-user-location\"),this._dotElement.appendChild(n(\"div\",\"mapboxgl-user-location-dot\")),this._dotElement.appendChild(n(\"div\",\"mapboxgl-user-location-heading\")),this._userLocationDotMarker=new en({element:this._dotElement,rotationAlignment:\"map\",pitchAlignment:\"map\"}),this._circleElement=n(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new en({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(t=>{t.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||t.originalEvent&&\"resize\"===t.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this.fire(new e.Event(\"trackuserlocationend\")));}));}}_onDeviceOrientation(e){this._userLocationDotMarker&&(e.webkitCompassHeading?this._heading=e.webkitCompassHeading:!0===e.absolute&&(this._heading=-1*e.alpha),this._updateMarkerRotationThrottled());}trigger(){if(!this._setup)return e.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new e.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._numberOfWatches--,this._noTimeout=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new e.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.Event(\"trackuserlocationstart\"));}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\");}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._numberOfWatches++,this._numberOfWatches>1?(e={maximumAge:6e5,timeout:0},this._noTimeout=!0):(e=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,e),this.options.showUserHeading&&this._addDeviceOrientationListener();}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_addDeviceOrientationListener(){const t=()=>{e.window.addEventListener(\"ondeviceorientationabsolute\"in e.window?\"deviceorientationabsolute\":\"deviceorientation\",this._onDeviceOrientation);};void 0!==e.window.DeviceMotionEvent&&\"function\"==typeof e.window.DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((e=>{\"granted\"===e&&t();})).catch(console.error):t();}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),e.window.removeEventListener(\"deviceorientation\",this._onDeviceOrientation),e.window.removeEventListener(\"deviceorientationabsolute\",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},AttributionControl:Hr,ScaleControl:class{constructor(t){this.options=e.extend({},un,t),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat(\"en\",{style:\"unit\",unitDisplay:\"short\",unit:\"meter\"}),!0}catch(e){return !1}}(),e.bindAll([\"_update\",\"_setScale\",\"setUnit\"],this);}getDefaultPosition(){return \"bottom-left\"}_update(){const e=this.options.maxWidth||100,t=this._map,i=t._containerHeight/2,o=t._containerWidth/2-e/2,r=t.unproject([o,i]),n=t.unproject([o+e,i]),s=r.distanceTo(n);if(\"imperial\"===this.options.unit){const t=3.2808*s;t>5280?this._setScale(e,t/5280,\"mile\"):this._setScale(e,t,\"foot\");}else \"nautical\"===this.options.unit?this._setScale(e,s/1852,\"nautical-mile\"):s>=1e3?this._setScale(e,s/1e3,\"kilometer\"):this._setScale(e,s,\"meter\");}_setScale(e,t,i){this._map._requestDomTask((()=>{const o=function(e){const t=Math.pow(10,`${Math.floor(e)}`.length-1);let i=e/t;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(e){const t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(i),t*i}(t),r=o/t;this._container.innerHTML=this._isNumberFormatSupported&&\"nautical-mile\"!==i?new Intl.NumberFormat(this._language,{style:\"unit\",unitDisplay:\"short\",unit:i}).format(o):`${o} ${_n[i]}`,this._container.style.width=e*r+\"px\";}));}onAdd(e){return this._map=e,this._language=e.getLanguage(),this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",e.getContainer()),this._container.dir=\"auto\",this._map.on(\"move\",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off(\"move\",this._update),this._map=void 0;}_setLanguage(e){this._language=e,this._update();}setUnit(e){this.options.unit=e,this._update();}},FullscreenControl:class{constructor(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.container:e.warnOnce(\"Full screen control 'container' must be a DOM element.\")),e.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in e.window.document?this._fullscreenchange=\"fullscreenchange\":\"onwebkitfullscreenchange\"in e.window.document&&(this._fullscreenchange=\"webkitfullscreenchange\");}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",e.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon);}_checkFullscreenSupport(){return !(!e.window.document.fullscreenEnabled&&!e.window.document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=n(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);n(\"span\",\"mapboxgl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon);}_updateTitle(){const e=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",e),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute(\"title\",e);}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_changeIcon(){(e.window.document.fullscreenElement||e.window.document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle());}_onClickFullscreen(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.webkitCancelFullScreen&&e.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();}},Popup:class extends e.Evented{constructor(t){super(),this.options=e.extend(Object.create(tn),t),e.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseEvent\"],this),this._classList=new Set(t&&t.className?t.className.trim().split(/\\s+/):[]);}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&t.on(\"preclick\",this._onClose),this.options.closeOnMove&&t.on(\"move\",this._onClose),t.on(\"remove\",this.remove),this._update(),t._addPopup(this),this._focusFirstElement(),this._trackPointer?(t.on(\"mousemove\",this._onMouseEvent),t.on(\"mouseup\",this._onMouseEvent),t._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):t.on(\"move\",this._update),this.fire(new e.Event(\"open\")),this}isOpen(){return !!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const t=this._map;return t&&(t.off(\"move\",this._update),t.off(\"move\",this._onClose),t.off(\"preclick\",this._onClose),t.off(\"click\",this._onClose),t.off(\"remove\",this.remove),t.off(\"mousemove\",this._onMouseEvent),t.off(\"mouseup\",this._onMouseEvent),t.off(\"drag\",this._onMouseEvent),t._canvasContainer&&t._canvasContainer.classList.remove(\"mapboxgl-track-pointer\"),t._removePopup(this),this._map=void 0),this.fire(new e.Event(\"close\")),this}getLngLat(){return this._lngLat}setLngLat(t){this._lngLat=e.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on(\"move\",this._update),i.off(\"mousemove\",this._onMouseEvent),i._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const e=this._map;return e&&(e.off(\"move\",this._update),e.on(\"mousemove\",this._onMouseEvent),e.on(\"drag\",this._onMouseEvent),e._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(e.window.document.createTextNode(t))}setHTML(t){const i=e.window.document.createDocumentFragment(),o=e.window.document.createElement(\"body\");let r;for(o.innerHTML=t;r=o.firstChild,r;)i.appendChild(r);return this.setDOMContent(i)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=n(\"div\",\"mapboxgl-popup-content\",this._container||void 0);if(t.appendChild(e),this.options.closeButton){const e=this._closeButton=n(\"button\",\"mapboxgl-popup-close-button\",t);e.type=\"button\",e.setAttribute(\"aria-label\",\"Close popup\"),e.setAttribute(\"aria-hidden\",\"true\"),e.innerHTML=\"×\",e.addEventListener(\"click\",this._onClose);}return this._update(),this._focusFirstElement(),this}addClassName(e){return this._classList.add(e),this._updateClassList(),this}removeClassName(e){return this._classList.delete(e),this._updateClassList(),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){let t;return this._classList.delete(e)?t=!1:(this._classList.add(e),t=!0),this._updateClassList(),t}_onMouseEvent(e){this._update(e.point);}_getAnchor(e){if(this.options.anchor)return this.options.anchor;const t=this._map,i=this._container,o=this._pos;if(!t||!i||!o)return \"bottom\";const r=i.offsetWidth,n=i.offsetHeight,s=o.xt.transform.width-r/2;if(o.y+et.transform.height-n){if(s)return \"bottom-left\";if(a)return \"bottom-right\"}return s?\"left\":a?\"right\":\"bottom\"}_updateClassList(){const e=this._container;if(!e)return;const t=[...this._classList];t.push(\"mapboxgl-popup\"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push(\"mapboxgl-popup-track-pointer\"),e.className=t.join(\" \");}_update(t){const i=this._map,o=this._content;if(!i||!this._lngLat&&!this._trackPointer||!o)return;let r=this._container;if(r||(r=this._container=n(\"div\",\"mapboxgl-popup\",i.getContainer()),this._tip=n(\"div\",\"mapboxgl-popup-tip\",r),r.appendChild(o)),this.options.maxWidth&&r.style.maxWidth!==this.options.maxWidth&&(r.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Jr(this._lngLat,this._pos,i.transform)),!this._trackPointer||t){const e=this._pos=this._trackPointer&&t?t:i.project(this._lngLat),o=rn(this.options.offset),r=this._anchor=this._getAnchor(o.y),n=rn(this.options.offset,r),s=e.add(n).round();i._requestDomTask((()=>{this._container&&r&&(this._container.style.transform=`${Qr[r]} translate(${s.x}px,${s.y}px)`);}));}if(!this._marker&&i._showingGlobe()){const t=e.isLngLatBehindGlobe(i.transform,this._lngLat)?0:1;this._setOpacity(t);}this._updateClassList();}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const e=this._container.querySelector(on);e&&e.focus();}_onClose(){this.remove();}_setOpacity(e){this._container&&(this._container.style.opacity=`${e}`),this._content&&(this._content.style.pointerEvents=e?\"auto\":\"none\");}},Marker:en,Style:Kt,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,FreeCameraOptions:jo,Evented:e.Evented,config:e.config,prewarm:function(){Ue().acquire(Be);},clearPrewarmedResources:function(){const e=Fe;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(Be),Fe=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(t){e.config.ACCESS_TOKEN=t;},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(t){e.config.API_URL=t;},get workerCount(){return ke.workerCount},set workerCount(e){ke.workerCount=e;},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.config.MAX_PARALLEL_IMAGE_REQUESTS=t;},clearStorage(t){e.clearTileCache(t);},workerUrl:\"\",workerClass:null,setNow:e.exported.setNow,restoreNow:e.exported.restoreNow};return dn}));\n\n//\n// Our custom intro provides a specialized \"define()\" function, called by the\n// AMD modules below, that sets up the worker blob URL and then executes the\n// main module, storing its exported value as 'mapboxgl'\n\n\nvar mapboxgl$1 = mapboxgl;\n\nreturn mapboxgl$1;\n\n}));\n//# sourceMappingURL=mapbox-gl.js.map\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bind/callBound');\nvar toObject = Object;\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = toObject(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = toObject(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind.apply(getPolyfill());\n// eslint-disable-next-line no-unused-vars\nvar bound = function assign(target, source1) {\n\treturn polyfill(Object, arguments);\n};\n\ndefineProperties(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar setFunctionName = require('set-function-name');\nvar $TypeError = require('es-errors/type');\n\nvar $Object = Object;\n\nmodule.exports = setFunctionName(function flags() {\n\tif (this == null || this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.hasIndices) {\n\t\tresult += 'd';\n\t}\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.unicodeSets) {\n\t\tresult += 'v';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n}, 'get flags', true);\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(getPolyfill());\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& typeof RegExp.prototype.dotAll === 'boolean'\n\t\t\t&& typeof RegExp.prototype.hasIndices === 'boolean'\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar getPolyfill = require('./polyfill');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\nvar getProto = Object.getPrototypeOf;\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n\tif (!supportsDescriptors || !getProto) {\n\t\tthrow new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tvar polyfill = getPolyfill();\n\tvar proto = getProto(regex);\n\tvar descriptor = gOPD(proto, 'flags');\n\tif (!descriptor || descriptor.get !== polyfill) {\n\t\tdefineProperty(proto, 'flags', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: polyfill\n\t\t});\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionName(fn, name) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\tif (!loose || functionsHaveConfigurableNames) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'name', name, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'name', name);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap} */ var $wm;\n\t/** @type {Map} */ var $m;\n\t/** @type {import('.').RootNode} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar SLOT = require('internal-slot');\n\nvar $SyntaxError = SyntaxError;\nvar $StopIteration = typeof StopIteration === 'object' ? StopIteration : null;\n\nmodule.exports = function getStopIterationIterator(origIterator) {\n\tif (!$StopIteration) {\n\t\tthrow new $SyntaxError('this environment lacks StopIteration');\n\t}\n\n\tSLOT.set(origIterator, '[[Done]]', false);\n\n\tvar siIterator = {\n\t\tnext: function next() {\n\t\t\tvar iterator = SLOT.get(this, '[[Iterator]]');\n\t\t\tvar done = SLOT.get(iterator, '[[Done]]');\n\t\t\ttry {\n\t\t\t\treturn {\n\t\t\t\t\tdone: done,\n\t\t\t\t\tvalue: done ? void undefined : iterator.next()\n\t\t\t\t};\n\t\t\t} catch (e) {\n\t\t\t\tSLOT.set(iterator, '[[Done]]', true);\n\t\t\t\tif (e !== $StopIteration) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tdone: true,\n\t\t\t\t\tvalue: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t};\n\n\tSLOT.set(siIterator, '[[Iterator]]', origIterator);\n\n\treturn siIterator;\n};\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of