@maptiler/geocoding-control 3.0.0-rc.8 → 3.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -517,7 +517,7 @@ let n = class extends F {
517
517
  h(this, l, Ge).call(this, t);
518
518
  }}
519
519
  .missingIconsCache=${w(this, ae)}
520
- .iconsBaseUrl=${this.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.8/icons/"}
520
+ .iconsBaseUrl=${this.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.9/icons/"}
521
521
  />
522
522
  `
523
523
  )}
@@ -897,7 +897,7 @@ ne.styles = I`
897
897
  ne = bt([
898
898
  O("maptiler-geocode-marker")
899
899
  ], ne);
900
- const wt = "@maptiler/geocoding-control", kt = "3.0.0-rc.8";
900
+ const wt = "@maptiler/geocoding-control", kt = "3.0.0-rc.9";
901
901
  function we(t) {
902
902
  const e = Ye(
903
903
  D([
@@ -256,7 +256,7 @@
256
256
  @pointerenter=${()=>{I(this,C,Ki).call(this,t)}}
257
257
  @select=${()=>{I(this,C,Zi).call(this,e)}}
258
258
  .missingIconsCache=${le(this,Ht)}
259
- .iconsBaseUrl=${this.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.8/icons/"}
259
+ .iconsBaseUrl=${this.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.9/icons/"}
260
260
  />
261
261
  `)}
262
262
  </ul>
@@ -277,5 +277,5 @@
277
277
  </svg>
278
278
  `}},$.MaptilerGeocodeMarkerElement.styles=Se`
279
279
  ${at(Tr)}
280
- `,$.MaptilerGeocodeMarkerElement=Cr([$e("maptiler-geocode-marker")],$.MaptilerGeocodeMarkerElement);const kr="@maptiler/geocoding-control",Or="3.0.0-rc.8";function Je(i,e,t={}){const s={type:"Feature"};return(t.id===0||t.id)&&(s.id=t.id),t.bbox&&(s.bbox=t.bbox),s.properties=e||{},s.geometry=i,s}function Qt(i,e,t={}){for(const r of i){if(r.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(r[r.length-1].length!==r[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<r[r.length-1].length;n++)if(r[r.length-1][n]!==r[0][n])throw new Error("First and last Position are not equivalent.")}return Je({type:"Polygon",coordinates:i},e,t)}function et(i,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=i,t}function es(i,e,t={}){return Je({type:"MultiPolygon",coordinates:i},e,t)}var Ir=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,Jt=Math.ceil,ae=Math.floor,se="[BigNumber Error] ",ts=se+"Number primitive has more than 15 significant digits: ",fe=1e14,P=14,ei=9007199254740991,ti=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Te=1e7,X=1e9;function is(i){var e,t,s,r=S.prototype={constructor:S,toString:null,valueOf:null},n=new S(1),o=20,l=4,u=-7,f=21,x=-1e7,w=1e7,_=!1,M=1,T=0,R={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},U="0123456789abcdefghijklmnopqrstuvwxyz",G=!0;function S(a,c){var h,y,p,g,E,d,m,b,v=this;if(!(v instanceof S))return new S(a,c);if(c==null){if(a&&a._isBigNumber===!0){v.s=a.s,!a.c||a.e>w?v.c=v.e=null:a.e<x?v.c=[v.e=0]:(v.e=a.e,v.c=a.c.slice());return}if((d=typeof a=="number")&&a*0==0){if(v.s=1/a<0?(a=-a,-1):1,a===~~a){for(g=0,E=a;E>=10;E/=10,g++);g>w?v.c=v.e=null:(v.e=g,v.c=[a]);return}b=String(a)}else{if(!Ir.test(b=String(a)))return s(v,b,d);v.s=b.charCodeAt(0)==45?(b=b.slice(1),-1):1}(g=b.indexOf("."))>-1&&(b=b.replace(".","")),(E=b.search(/e/i))>0?(g<0&&(g=E),g+=+b.slice(E+1),b=b.substring(0,E)):g<0&&(g=b.length)}else{if(q(c,2,U.length,"Base"),c==10&&G)return v=new S(a),ue(v,o+v.e+1,l);if(b=String(a),d=typeof a=="number"){if(a*0!=0)return s(v,b,d,c);if(v.s=1/a<0?(b=b.slice(1),-1):1,S.DEBUG&&b.replace(/^0\.0*|\./,"").length>15)throw Error(ts+a)}else v.s=b.charCodeAt(0)===45?(b=b.slice(1),-1):1;for(h=U.slice(0,c),g=E=0,m=b.length;E<m;E++)if(h.indexOf(y=b.charAt(E))<0){if(y=="."){if(E>g){g=m;continue}}else if(!p&&(b==b.toUpperCase()&&(b=b.toLowerCase())||b==b.toLowerCase()&&(b=b.toUpperCase()))){p=!0,E=-1,g=0;continue}return s(v,String(a),d,c)}d=!1,b=t(b,c,10,v.s),(g=b.indexOf("."))>-1?b=b.replace(".",""):g=b.length}for(E=0;b.charCodeAt(E)===48;E++);for(m=b.length;b.charCodeAt(--m)===48;);if(b=b.slice(E,++m)){if(m-=E,d&&S.DEBUG&&m>15&&(a>ei||a!==ae(a)))throw Error(ts+v.s*a);if((g=g-E-1)>w)v.c=v.e=null;else if(g<x)v.c=[v.e=0];else{if(v.e=g,v.c=[],E=(g+1)%P,g<0&&(E+=P),E<m){for(E&&v.c.push(+b.slice(0,E)),m-=P;E<m;)v.c.push(+b.slice(E,E+=P));E=P-(b=b.slice(E)).length}else E-=m;for(;E--;b+="0");v.c.push(+b)}}else v.c=[v.e=0]}S.clone=is,S.ROUND_UP=0,S.ROUND_DOWN=1,S.ROUND_CEIL=2,S.ROUND_FLOOR=3,S.ROUND_HALF_UP=4,S.ROUND_HALF_DOWN=5,S.ROUND_HALF_EVEN=6,S.ROUND_HALF_CEIL=7,S.ROUND_HALF_FLOOR=8,S.EUCLID=9,S.config=S.set=function(a){var c,h;if(a!=null)if(typeof a=="object"){if(a.hasOwnProperty(c="DECIMAL_PLACES")&&(h=a[c],q(h,0,X,c),o=h),a.hasOwnProperty(c="ROUNDING_MODE")&&(h=a[c],q(h,0,8,c),l=h),a.hasOwnProperty(c="EXPONENTIAL_AT")&&(h=a[c],h&&h.pop?(q(h[0],-X,0,c),q(h[1],0,X,c),u=h[0],f=h[1]):(q(h,-X,X,c),u=-(f=h<0?-h:h))),a.hasOwnProperty(c="RANGE"))if(h=a[c],h&&h.pop)q(h[0],-X,-1,c),q(h[1],1,X,c),x=h[0],w=h[1];else if(q(h,-X,X,c),h)x=-(w=h<0?-h:h);else throw Error(se+c+" cannot be zero: "+h);if(a.hasOwnProperty(c="CRYPTO"))if(h=a[c],h===!!h)if(h)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))_=h;else throw _=!h,Error(se+"crypto unavailable");else _=h;else throw Error(se+c+" not true or false: "+h);if(a.hasOwnProperty(c="MODULO_MODE")&&(h=a[c],q(h,0,9,c),M=h),a.hasOwnProperty(c="POW_PRECISION")&&(h=a[c],q(h,0,X,c),T=h),a.hasOwnProperty(c="FORMAT"))if(h=a[c],typeof h=="object")R=h;else throw Error(se+c+" not an object: "+h);if(a.hasOwnProperty(c="ALPHABET"))if(h=a[c],typeof h=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(h))G=h.slice(0,10)=="0123456789",U=h;else throw Error(se+c+" invalid: "+h)}else throw Error(se+"Object expected: "+a);return{DECIMAL_PLACES:o,ROUNDING_MODE:l,EXPONENTIAL_AT:[u,f],RANGE:[x,w],CRYPTO:_,MODULO_MODE:M,POW_PRECISION:T,FORMAT:R,ALPHABET:U}},S.isBigNumber=function(a){if(!a||a._isBigNumber!==!0)return!1;if(!S.DEBUG)return!0;var c,h,y=a.c,p=a.e,g=a.s;e:if({}.toString.call(y)=="[object Array]"){if((g===1||g===-1)&&p>=-X&&p<=X&&p===ae(p)){if(y[0]===0){if(p===0&&y.length===1)return!0;break e}if(c=(p+1)%P,c<1&&(c+=P),String(y[0]).length==c){for(c=0;c<y.length;c++)if(h=y[c],h<0||h>=fe||h!==ae(h))break e;if(h!==0)return!0}}}else if(y===null&&p===null&&(g===null||g===1||g===-1))return!0;throw Error(se+"Invalid BigNumber: "+a)},S.maximum=S.max=function(){return re(arguments,-1)},S.minimum=S.min=function(){return re(arguments,1)},S.random=(function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return ae(Math.random()*a)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(h){var y,p,g,E,d,m=0,b=[],v=new S(n);if(h==null?h=o:q(h,0,X),E=Jt(h/P),_)if(crypto.getRandomValues){for(y=crypto.getRandomValues(new Uint32Array(E*=2));m<E;)d=y[m]*131072+(y[m+1]>>>11),d>=9e15?(p=crypto.getRandomValues(new Uint32Array(2)),y[m]=p[0],y[m+1]=p[1]):(b.push(d%1e14),m+=2);m=E/2}else if(crypto.randomBytes){for(y=crypto.randomBytes(E*=7);m<E;)d=(y[m]&31)*281474976710656+y[m+1]*1099511627776+y[m+2]*4294967296+y[m+3]*16777216+(y[m+4]<<16)+(y[m+5]<<8)+y[m+6],d>=9e15?crypto.randomBytes(7).copy(y,m):(b.push(d%1e14),m+=7);m=E/7}else throw _=!1,Error(se+"crypto unavailable");if(!_)for(;m<E;)d=c(),d<9e15&&(b[m++]=d%1e14);for(E=b[--m],h%=P,E&&h&&(d=ti[P-h],b[m]=ae(E/d)*d);b[m]===0;b.pop(),m--);if(m<0)b=[g=0];else{for(g=-1;b[0]===0;b.splice(0,1),g-=P);for(m=1,d=b[0];d>=10;d/=10,m++);m<P&&(g-=P-m)}return v.e=g,v.c=b,v}})(),S.sum=function(){for(var a=1,c=arguments,h=new S(c[0]);a<c.length;)h=h.plus(c[a++]);return h},t=(function(){var a="0123456789";function c(h,y,p,g){for(var E,d=[0],m,b=0,v=h.length;b<v;){for(m=d.length;m--;d[m]*=y);for(d[0]+=g.indexOf(h.charAt(b++)),E=0;E<d.length;E++)d[E]>p-1&&(d[E+1]==null&&(d[E+1]=0),d[E+1]+=d[E]/p|0,d[E]%=p)}return d.reverse()}return function(h,y,p,g,E){var d,m,b,v,L,A,k,D,H=h.indexOf("."),K=o,F=l;for(H>=0&&(v=T,T=0,h=h.replace(".",""),D=new S(y),A=D.pow(h.length-H),T=v,D.c=c(Ee(he(A.c),A.e,"0"),10,p,a),D.e=D.c.length),k=c(h,y,p,E?(d=U,a):(d=a,U)),b=v=k.length;k[--v]==0;k.pop());if(!k[0])return d.charAt(0);if(H<0?--b:(A.c=k,A.e=b,A.s=g,A=e(A,D,K,F,p),k=A.c,L=A.r,b=A.e),m=b+K+1,H=k[m],v=p/2,L=L||m<0||k[m+1]!=null,L=F<4?(H!=null||L)&&(F==0||F==(A.s<0?3:2)):H>v||H==v&&(F==4||L||F==6&&k[m-1]&1||F==(A.s<0?8:7)),m<1||!k[0])h=L?Ee(d.charAt(1),-K,d.charAt(0)):d.charAt(0);else{if(k.length=m,L)for(--p;++k[--m]>p;)k[m]=0,m||(++b,k=[1].concat(k));for(v=k.length;!k[--v];);for(H=0,h="";H<=v;h+=d.charAt(k[H++]));h=Ee(h,b,d.charAt(0))}return h}})(),e=(function(){function a(y,p,g){var E,d,m,b,v=0,L=y.length,A=p%Te,k=p/Te|0;for(y=y.slice();L--;)m=y[L]%Te,b=y[L]/Te|0,E=k*m+b*A,d=A*m+E%Te*Te+v,v=(d/g|0)+(E/Te|0)+k*b,y[L]=d%g;return v&&(y=[v].concat(y)),y}function c(y,p,g,E){var d,m;if(g!=E)m=g>E?1:-1;else for(d=m=0;d<g;d++)if(y[d]!=p[d]){m=y[d]>p[d]?1:-1;break}return m}function h(y,p,g,E){for(var d=0;g--;)y[g]-=d,d=y[g]<p[g]?1:0,y[g]=d*E+y[g]-p[g];for(;!y[0]&&y.length>1;y.splice(0,1));}return function(y,p,g,E,d){var m,b,v,L,A,k,D,H,K,F,W,J,Mt,ai,ci,ye,nt,de=y.s==p.s?1:-1,ie=y.c,j=p.c;if(!ie||!ie[0]||!j||!j[0])return new S(!y.s||!p.s||(ie?j&&ie[0]==j[0]:!j)?NaN:ie&&ie[0]==0||!j?de*0:de/0);for(H=new S(de),K=H.c=[],b=y.e-p.e,de=g+b+1,d||(d=fe,b=ce(y.e/P)-ce(p.e/P),de=de/P|0),v=0;j[v]==(ie[v]||0);v++);if(j[v]>(ie[v]||0)&&b--,de<0)K.push(1),L=!0;else{for(ai=ie.length,ye=j.length,v=0,de+=2,A=ae(d/(j[0]+1)),A>1&&(j=a(j,A,d),ie=a(ie,A,d),ye=j.length,ai=ie.length),Mt=ye,F=ie.slice(0,ye),W=F.length;W<ye;F[W++]=0);nt=j.slice(),nt=[0].concat(nt),ci=j[0],j[1]>=d/2&&ci++;do{if(A=0,m=c(j,F,ye,W),m<0){if(J=F[0],ye!=W&&(J=J*d+(F[1]||0)),A=ae(J/ci),A>1)for(A>=d&&(A=d-1),k=a(j,A,d),D=k.length,W=F.length;c(k,F,D,W)==1;)A--,h(k,ye<D?nt:j,D,d),D=k.length,m=1;else A==0&&(m=A=1),k=j.slice(),D=k.length;if(D<W&&(k=[0].concat(k)),h(F,k,W,d),W=F.length,m==-1)for(;c(j,F,ye,W)<1;)A++,h(F,ye<W?nt:j,W,d),W=F.length}else m===0&&(A++,F=[0]);K[v++]=A,F[0]?F[W++]=ie[Mt]||0:(F=[ie[Mt]],W=1)}while((Mt++<ai||F[0]!=null)&&de--);L=F[0]!=null,K[0]||K.splice(0,1)}if(d==fe){for(v=1,de=K[0];de>=10;de/=10,v++);ue(H,g+(H.e=v+b*P-1)+1,E,L)}else H.e=b,H.r=+L;return H}})();function Q(a,c,h,y){var p,g,E,d,m;if(h==null?h=l:q(h,0,8),!a.c)return a.toString();if(p=a.c[0],E=a.e,c==null)m=he(a.c),m=y==1||y==2&&(E<=u||E>=f)?wt(m,E):Ee(m,E,"0");else if(a=ue(new S(a),c,h),g=a.e,m=he(a.c),d=m.length,y==1||y==2&&(c<=g||g<=u)){for(;d<c;m+="0",d++);m=wt(m,g)}else if(c-=E+(y===2&&g>E),m=Ee(m,g,"0"),g+1>d){if(--c>0)for(m+=".";c--;m+="0");}else if(c+=g-d,c>0)for(g+1==d&&(m+=".");c--;m+="0");return a.s<0&&p?"-"+m:m}function re(a,c){for(var h,y,p=1,g=new S(a[0]);p<a.length;p++)y=new S(a[p]),(!y.s||(h=Ne(g,y))===c||h===0&&g.s===c)&&(g=y);return g}function ve(a,c,h){for(var y=1,p=c.length;!c[--p];c.pop());for(p=c[0];p>=10;p/=10,y++);return(h=y+h*P-1)>w?a.c=a.e=null:h<x?a.c=[a.e=0]:(a.e=h,a.c=c),a}s=(function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,h=/^\.([^.]+)$/,y=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,d,m){var b,v=d?E:E.replace(p,"");if(y.test(v))g.s=isNaN(v)?null:v<0?-1:1;else{if(!d&&(v=v.replace(a,function(L,A,k){return b=(k=k.toLowerCase())=="x"?16:k=="b"?2:8,!m||m==b?A:L}),m&&(b=m,v=v.replace(c,"$1").replace(h,"0.$1")),E!=v))return new S(v,b);if(S.DEBUG)throw Error(se+"Not a"+(m?" base "+m:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function ue(a,c,h,y){var p,g,E,d,m,b,v,L=a.c,A=ti;if(L){e:{for(p=1,d=L[0];d>=10;d/=10,p++);if(g=c-p,g<0)g+=P,E=c,m=L[b=0],v=ae(m/A[p-E-1]%10);else if(b=Jt((g+1)/P),b>=L.length)if(y){for(;L.length<=b;L.push(0));m=v=0,p=1,g%=P,E=g-P+1}else break e;else{for(m=d=L[b],p=1;d>=10;d/=10,p++);g%=P,E=g-P+p,v=E<0?0:ae(m/A[p-E-1]%10)}if(y=y||c<0||L[b+1]!=null||(E<0?m:m%A[p-E-1]),y=h<4?(v||y)&&(h==0||h==(a.s<0?3:2)):v>5||v==5&&(h==4||y||h==6&&(g>0?E>0?m/A[p-E]:0:L[b-1])%10&1||h==(a.s<0?8:7)),c<1||!L[0])return L.length=0,y?(c-=a.e+1,L[0]=A[(P-c%P)%P],a.e=-c||0):L[0]=a.e=0,a;if(g==0?(L.length=b,d=1,b--):(L.length=b+1,d=A[P-g],L[b]=E>0?ae(m/A[p-E]%A[E])*d:0),y)for(;;)if(b==0){for(g=1,E=L[0];E>=10;E/=10,g++);for(E=L[0]+=d,d=1;E>=10;E/=10,d++);g!=d&&(a.e++,L[0]==fe&&(L[0]=1));break}else{if(L[b]+=d,L[b]!=fe)break;L[b--]=0,d=1}for(g=L.length;L[--g]===0;L.pop());}a.e>w?a.c=a.e=null:a.e<x&&(a.c=[a.e=0])}return a}function xe(a){var c,h=a.e;return h===null?a.toString():(c=he(a.c),c=h<=u||h>=f?wt(c,h):Ee(c,h,"0"),a.s<0?"-"+c:c)}return r.absoluteValue=r.abs=function(){var a=new S(this);return a.s<0&&(a.s=1),a},r.comparedTo=function(a,c){return Ne(this,new S(a,c))},r.decimalPlaces=r.dp=function(a,c){var h,y,p,g=this;if(a!=null)return q(a,0,X),c==null?c=l:q(c,0,8),ue(new S(g),a+g.e+1,c);if(!(h=g.c))return null;if(y=((p=h.length-1)-ce(this.e/P))*P,p=h[p])for(;p%10==0;p/=10,y--);return y<0&&(y=0),y},r.dividedBy=r.div=function(a,c){return e(this,new S(a,c),o,l)},r.dividedToIntegerBy=r.idiv=function(a,c){return e(this,new S(a,c),0,1)},r.exponentiatedBy=r.pow=function(a,c){var h,y,p,g,E,d,m,b,v,L=this;if(a=new S(a),a.c&&!a.isInteger())throw Error(se+"Exponent not an integer: "+xe(a));if(c!=null&&(c=new S(c)),d=a.e>14,!L.c||!L.c[0]||L.c[0]==1&&!L.e&&L.c.length==1||!a.c||!a.c[0])return v=new S(Math.pow(+xe(L),d?a.s*(2-Et(a)):+xe(a))),c?v.mod(c):v;if(m=a.s<0,c){if(c.c?!c.c[0]:!c.s)return new S(NaN);y=!m&&L.isInteger()&&c.isInteger(),y&&(L=L.mod(c))}else{if(a.e>9&&(L.e>0||L.e<-1||(L.e==0?L.c[0]>1||d&&L.c[1]>=24e7:L.c[0]<8e13||d&&L.c[0]<=9999975e7)))return g=L.s<0&&Et(a)?-0:0,L.e>-1&&(g=1/g),new S(m?1/g:g);T&&(g=Jt(T/P+2))}for(d?(h=new S(.5),m&&(a.s=1),b=Et(a)):(p=Math.abs(+xe(a)),b=p%2),v=new S(n);;){if(b){if(v=v.times(L),!v.c)break;g?v.c.length>g&&(v.c.length=g):y&&(v=v.mod(c))}if(p){if(p=ae(p/2),p===0)break;b=p%2}else if(a=a.times(h),ue(a,a.e+1,1),a.e>14)b=Et(a);else{if(p=+xe(a),p===0)break;b=p%2}L=L.times(L),g?L.c&&L.c.length>g&&(L.c.length=g):y&&(L=L.mod(c))}return y?v:(m&&(v=n.div(v)),c?v.mod(c):g?ue(v,T,l,E):v)},r.integerValue=function(a){var c=new S(this);return a==null?a=l:q(a,0,8),ue(c,c.e+1,a)},r.isEqualTo=r.eq=function(a,c){return Ne(this,new S(a,c))===0},r.isFinite=function(){return!!this.c},r.isGreaterThan=r.gt=function(a,c){return Ne(this,new S(a,c))>0},r.isGreaterThanOrEqualTo=r.gte=function(a,c){return(c=Ne(this,new S(a,c)))===1||c===0},r.isInteger=function(){return!!this.c&&ce(this.e/P)>this.c.length-2},r.isLessThan=r.lt=function(a,c){return Ne(this,new S(a,c))<0},r.isLessThanOrEqualTo=r.lte=function(a,c){return(c=Ne(this,new S(a,c)))===-1||c===0},r.isNaN=function(){return!this.s},r.isNegative=function(){return this.s<0},r.isPositive=function(){return this.s>0},r.isZero=function(){return!!this.c&&this.c[0]==0},r.minus=function(a,c){var h,y,p,g,E=this,d=E.s;if(a=new S(a,c),c=a.s,!d||!c)return new S(NaN);if(d!=c)return a.s=-c,E.plus(a);var m=E.e/P,b=a.e/P,v=E.c,L=a.c;if(!m||!b){if(!v||!L)return v?(a.s=-c,a):new S(L?E:NaN);if(!v[0]||!L[0])return L[0]?(a.s=-c,a):new S(v[0]?E:l==3?-0:0)}if(m=ce(m),b=ce(b),v=v.slice(),d=m-b){for((g=d<0)?(d=-d,p=v):(b=m,p=L),p.reverse(),c=d;c--;p.push(0));p.reverse()}else for(y=(g=(d=v.length)<(c=L.length))?d:c,d=c=0;c<y;c++)if(v[c]!=L[c]){g=v[c]<L[c];break}if(g&&(p=v,v=L,L=p,a.s=-a.s),c=(y=L.length)-(h=v.length),c>0)for(;c--;v[h++]=0);for(c=fe-1;y>d;){if(v[--y]<L[y]){for(h=y;h&&!v[--h];v[h]=c);--v[h],v[y]+=fe}v[y]-=L[y]}for(;v[0]==0;v.splice(0,1),--b);return v[0]?ve(a,v,b):(a.s=l==3?-1:1,a.c=[a.e=0],a)},r.modulo=r.mod=function(a,c){var h,y,p=this;return a=new S(a,c),!p.c||!a.s||a.c&&!a.c[0]?new S(NaN):!a.c||p.c&&!p.c[0]?new S(p):(M==9?(y=a.s,a.s=1,h=e(p,a,0,3),a.s=y,h.s*=y):h=e(p,a,0,M),a=p.minus(h.times(a)),!a.c[0]&&M==1&&(a.s=p.s),a)},r.multipliedBy=r.times=function(a,c){var h,y,p,g,E,d,m,b,v,L,A,k,D,H,K,F=this,W=F.c,J=(a=new S(a,c)).c;if(!W||!J||!W[0]||!J[0])return!F.s||!a.s||W&&!W[0]&&!J||J&&!J[0]&&!W?a.c=a.e=a.s=null:(a.s*=F.s,!W||!J?a.c=a.e=null:(a.c=[0],a.e=0)),a;for(y=ce(F.e/P)+ce(a.e/P),a.s*=F.s,m=W.length,L=J.length,m<L&&(D=W,W=J,J=D,p=m,m=L,L=p),p=m+L,D=[];p--;D.push(0));for(H=fe,K=Te,p=L;--p>=0;){for(h=0,A=J[p]%K,k=J[p]/K|0,E=m,g=p+E;g>p;)b=W[--E]%K,v=W[E]/K|0,d=k*b+v*A,b=A*b+d%K*K+D[g]+h,h=(b/H|0)+(d/K|0)+k*v,D[g--]=b%H;D[g]=h}return h?++y:D.splice(0,1),ve(a,D,y)},r.negated=function(){var a=new S(this);return a.s=-a.s||null,a},r.plus=function(a,c){var h,y=this,p=y.s;if(a=new S(a,c),c=a.s,!p||!c)return new S(NaN);if(p!=c)return a.s=-c,y.minus(a);var g=y.e/P,E=a.e/P,d=y.c,m=a.c;if(!g||!E){if(!d||!m)return new S(p/0);if(!d[0]||!m[0])return m[0]?a:new S(d[0]?y:p*0)}if(g=ce(g),E=ce(E),d=d.slice(),p=g-E){for(p>0?(E=g,h=m):(p=-p,h=d),h.reverse();p--;h.push(0));h.reverse()}for(p=d.length,c=m.length,p-c<0&&(h=m,m=d,d=h,c=p),p=0;c;)p=(d[--c]=d[c]+m[c]+p)/fe|0,d[c]=fe===d[c]?0:d[c]%fe;return p&&(d=[p].concat(d),++E),ve(a,d,E)},r.precision=r.sd=function(a,c){var h,y,p,g=this;if(a!=null&&a!==!!a)return q(a,1,X),c==null?c=l:q(c,0,8),ue(new S(g),a,c);if(!(h=g.c))return null;if(p=h.length-1,y=p*P+1,p=h[p]){for(;p%10==0;p/=10,y--);for(p=h[0];p>=10;p/=10,y++);}return a&&g.e+1>y&&(y=g.e+1),y},r.shiftedBy=function(a){return q(a,-ei,ei),this.times("1e"+a)},r.squareRoot=r.sqrt=function(){var a,c,h,y,p,g=this,E=g.c,d=g.s,m=g.e,b=o+4,v=new S("0.5");if(d!==1||!E||!E[0])return new S(!d||d<0&&(!E||E[0])?NaN:E?g:1/0);if(d=Math.sqrt(+xe(g)),d==0||d==1/0?(c=he(E),(c.length+m)%2==0&&(c+="0"),d=Math.sqrt(+c),m=ce((m+1)/2)-(m<0||m%2),d==1/0?c="5e"+m:(c=d.toExponential(),c=c.slice(0,c.indexOf("e")+1)+m),h=new S(c)):h=new S(d+""),h.c[0]){for(m=h.e,d=m+b,d<3&&(d=0);;)if(p=h,h=v.times(p.plus(e(g,p,b,1))),he(p.c).slice(0,d)===(c=he(h.c)).slice(0,d))if(h.e<m&&--d,c=c.slice(d-3,d+1),c=="9999"||!y&&c=="4999"){if(!y&&(ue(p,p.e+o+2,0),p.times(p).eq(g))){h=p;break}b+=4,d+=4,y=1}else{(!+c||!+c.slice(1)&&c.charAt(0)=="5")&&(ue(h,h.e+o+2,1),a=!h.times(h).eq(g));break}}return ue(h,h.e+o+1,l,a)},r.toExponential=function(a,c){return a!=null&&(q(a,0,X),a++),Q(this,a,c,1)},r.toFixed=function(a,c){return a!=null&&(q(a,0,X),a=a+this.e+1),Q(this,a,c)},r.toFormat=function(a,c,h){var y,p=this;if(h==null)a!=null&&c&&typeof c=="object"?(h=c,c=null):a&&typeof a=="object"?(h=a,a=c=null):h=R;else if(typeof h!="object")throw Error(se+"Argument not an object: "+h);if(y=p.toFixed(a,c),p.c){var g,E=y.split("."),d=+h.groupSize,m=+h.secondaryGroupSize,b=h.groupSeparator||"",v=E[0],L=E[1],A=p.s<0,k=A?v.slice(1):v,D=k.length;if(m&&(g=d,d=m,m=g,D-=g),d>0&&D>0){for(g=D%d||d,v=k.substr(0,g);g<D;g+=d)v+=b+k.substr(g,d);m>0&&(v+=b+k.slice(g)),A&&(v="-"+v)}y=L?v+(h.decimalSeparator||"")+((m=+h.fractionGroupSize)?L.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(h.fractionGroupSeparator||"")):L):v}return(h.prefix||"")+y+(h.suffix||"")},r.toFraction=function(a){var c,h,y,p,g,E,d,m,b,v,L,A,k=this,D=k.c;if(a!=null&&(d=new S(a),!d.isInteger()&&(d.c||d.s!==1)||d.lt(n)))throw Error(se+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+xe(d));if(!D)return new S(k);for(c=new S(n),b=h=new S(n),y=m=new S(n),A=he(D),g=c.e=A.length-k.e-1,c.c[0]=ti[(E=g%P)<0?P+E:E],a=!a||d.comparedTo(c)>0?g>0?c:b:d,E=w,w=1/0,d=new S(A),m.c[0]=0;v=e(d,c,0,1),p=h.plus(v.times(y)),p.comparedTo(a)!=1;)h=y,y=p,b=m.plus(v.times(p=b)),m=p,c=d.minus(v.times(p=c)),d=p;return p=e(a.minus(h),y,0,1),m=m.plus(p.times(b)),h=h.plus(p.times(y)),m.s=b.s=k.s,g=g*2,L=e(b,y,g,l).minus(k).abs().comparedTo(e(m,h,g,l).minus(k).abs())<1?[b,y]:[m,h],w=E,L},r.toNumber=function(){return+xe(this)},r.toPrecision=function(a,c){return a!=null&&q(a,1,X),Q(this,a,c,2)},r.toString=function(a){var c,h=this,y=h.s,p=h.e;return p===null?y?(c="Infinity",y<0&&(c="-"+c)):c="NaN":(a==null?c=p<=u||p>=f?wt(he(h.c),p):Ee(he(h.c),p,"0"):a===10&&G?(h=ue(new S(h),o+p+1,l),c=Ee(he(h.c),h.e,"0")):(q(a,2,U.length,"Base"),c=t(Ee(he(h.c),p,"0"),10,a,y,!0)),y<0&&h.c[0]&&(c="-"+c)),c},r.valueOf=r.toJSON=function(){return xe(this)},r._isBigNumber=!0,r[Symbol.toStringTag]="BigNumber",r[Symbol.for("nodejs.util.inspect.custom")]=r.valueOf,i!=null&&S.set(i),S}function ce(i){var e=i|0;return i>0||i===e?e:e-1}function he(i){for(var e,t,s=1,r=i.length,n=i[0]+"";s<r;){for(e=i[s++]+"",t=P-e.length;t--;e="0"+e);n+=e}for(r=n.length;n.charCodeAt(--r)===48;);return n.slice(0,r+1||1)}function Ne(i,e){var t,s,r=i.c,n=e.c,o=i.s,l=e.s,u=i.e,f=e.e;if(!o||!l)return null;if(t=r&&!r[0],s=n&&!n[0],t||s)return t?s?0:-l:o;if(o!=l)return o;if(t=o<0,s=u==f,!r||!n)return s?0:!r^t?1:-1;if(!s)return u>f^t?1:-1;for(l=(u=r.length)<(f=n.length)?u:f,o=0;o<l;o++)if(r[o]!=n[o])return r[o]>n[o]^t?1:-1;return u==f?0:u>f^t?1:-1}function q(i,e,t,s){if(i<e||i>t||i!==ae(i))throw Error(se+(s||"Argument")+(typeof i=="number"?i<e||i>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(i))}function Et(i){var e=i.c.length-1;return ce(i.e/P)==e&&i.c[e]%2!=0}function wt(i,e){return(i.length>1?i.charAt(0)+"."+i.slice(1):i)+(e<0?"e":"e+")+e}function Ee(i,e,t){var s,r;if(e<0){for(r=t+".";++e;r+=t);i=r+i}else if(s=i.length,++e>s){for(r=t,e-=s;--e;r+=t);i+=r}else e<s&&(i=i.slice(0,e)+"."+i.slice(e));return i}var me=is(),Nr=class{key;left=null;right=null;constructor(i){this.key=i}},tt=class extends Nr{constructor(i){super(i)}},Pr=class{size=0;modificationCount=0;splayCount=0;splay(i){const e=this.root;if(e==null)return this.compare(i,i),-1;let t=null,s=null,r=null,n=null,o=e;const l=this.compare;let u;for(;;)if(u=l(o.key,i),u>0){let f=o.left;if(f==null||(u=l(f.key,i),u>0&&(o.left=f.right,f.right=o,o=f,f=o.left,f==null)))break;t==null?s=o:t.left=o,t=o,o=f}else if(u<0){let f=o.right;if(f==null||(u=l(f.key,i),u<0&&(o.right=f.left,f.left=o,o=f,f=o.right,f==null)))break;r==null?n=o:r.right=o,r=o,o=f}else break;return r!=null&&(r.right=o.left,o.left=n),t!=null&&(t.left=o.right,o.right=s),this.root!==o&&(this.root=o,this.splayCount++),u}splayMin(i){let e=i,t=e.left;for(;t!=null;){const s=t;e.left=s.right,s.right=e,e=s,t=e.left}return e}splayMax(i){let e=i,t=e.right;for(;t!=null;){const s=t;e.right=s.left,s.left=e,e=s,t=e.right}return e}_delete(i){if(this.root==null||this.splay(i)!=0)return null;let t=this.root;const s=t,r=t.left;if(this.size--,r==null)this.root=t.right;else{const n=t.right;t=this.splayMax(r),t.right=n,this.root=t}return this.modificationCount++,s}addNewRoot(i,e){this.size++,this.modificationCount++;const t=this.root;if(t==null){this.root=i;return}e<0?(i.left=t,i.right=t.right,t.right=null):(i.right=t,i.left=t.left,t.left=null),this.root=i}_first(){const i=this.root;return i==null?null:(this.root=this.splayMin(i),this.root)}_last(){const i=this.root;return i==null?null:(this.root=this.splayMax(i),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(i){return this.validKey(i)&&this.splay(i)==0}defaultCompare(){return(i,e)=>i<e?-1:i>e?1:0}wrap(){return{getRoot:()=>this.root,setRoot:i=>{this.root=i},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:i=>{this.splayCount=i},splay:i=>this.splay(i),has:i=>this.has(i)}}},xt=class ot extends Pr{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(s=>s!=null&&s!=null)}delete(e){return this.validKey(e)?this._delete(e)!=null:!1}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let s;for(;s=t.next(),!s.done;)e(s.value,s.value,this)}add(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this}addAndReturn(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)<0)return this.root.key;let s=this.root.left;if(s==null)return null;let r=s.right;for(;r!=null;)s=r,r=s.right;return s.key}firstAfter(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)>0)return this.root.key;let s=this.root.right;if(s==null)return null;let r=s.left;for(;r!=null;)s=r,r=s.left;return s.key}retainAll(e){const t=new ot(this.compare,this.validKey),s=this.modificationCount;for(const r of e){if(s!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(r)&&this.splay(r)==0&&t.add(this.root.key)}t.size!=this.size&&(this.root=t.root,this.size=t.size,this.modificationCount++)}lookup(e){return!this.validKey(e)||this.splay(e)!=0?null:this.root.key}intersection(e){const t=new ot(this.compare,this.validKey);for(const s of this)e.has(s)&&t.add(s);return t}difference(e){const t=new ot(this.compare,this.validKey);for(const s of this)e.has(s)||t.add(s);return t}union(e){const t=this.clone();return t.addAll(e),t}clone(){const e=new ot(this.compare,this.validKey);return e.size=this.size,e.root=this.copyNode(this.root),e}copyNode(e){if(e==null)return null;function t(r,n){let o,l;do{if(o=r.left,l=r.right,o!=null){const u=new tt(o.key);n.left=u,t(o,u)}if(l!=null){const u=new tt(l.key);n.right=u,r=l,n=u}}while(l!=null)}const s=new tt(e.key);return t(e,s),s}toSet(){return this.clone()}entries(){return new Gr(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[Symbol.iterator](){return new Rr(this.wrap())}[Symbol.toStringTag]="[object Set]"},ss=class{tree;path=new Array;modificationCount=null;splayCount;constructor(i){this.tree=i,this.splayCount=i.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const i=this.path[this.path.length-1];return this.getValue(i)}rebuildPath(i){this.path.splice(0,this.path.length),this.tree.splay(i),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(i){for(;i!=null;)this.path.push(i),i=i.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let t=this.tree.getRoot();for(;t!=null;)this.path.push(t),t=t.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let i=this.path[this.path.length-1],e=i.right;if(e!=null){for(;e!=null;)this.path.push(e),e=e.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===i;)i=this.path.pop();return this.path.length>0}},Rr=class extends ss{getValue(i){return i.key}},Gr=class extends ss{getValue(i){return[i.key,i.key]}},rs=i=>()=>i,ii=i=>{const e=i?(t,s)=>s.minus(t).abs().isLessThanOrEqualTo(i):rs(!1);return(t,s)=>e(t,s)?0:t.comparedTo(s)};function Ur(i){const e=i?(t,s,r,n,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(n.minus(s).exponentiatedBy(2).plus(o.minus(r).exponentiatedBy(2)).times(i)):rs(!1);return(t,s,r)=>{const n=t.x,o=t.y,l=r.x,u=r.y,f=o.minus(u).times(s.x.minus(l)).minus(n.minus(l).times(s.y.minus(u)));return e(f,n,o,l,u)?0:f.comparedTo(0)}}var Fr=i=>i,Br=i=>{if(i){const e=new xt(ii(i)),t=new xt(ii(i)),s=(n,o)=>o.addAndReturn(n),r=n=>({x:s(n.x,e),y:s(n.y,t)});return r({x:new me(0),y:new me(0)}),r}return Fr},si=i=>({set:e=>{we=si(e)},reset:()=>si(i),compare:ii(i),snap:Br(i),orient:Ur(i)}),we=si(),it=(i,e)=>i.ll.x.isLessThanOrEqualTo(e.x)&&e.x.isLessThanOrEqualTo(i.ur.x)&&i.ll.y.isLessThanOrEqualTo(e.y)&&e.y.isLessThanOrEqualTo(i.ur.y),ri=(i,e)=>{if(e.ur.x.isLessThan(i.ll.x)||i.ur.x.isLessThan(e.ll.x)||e.ur.y.isLessThan(i.ll.y)||i.ur.y.isLessThan(e.ll.y))return null;const t=i.ll.x.isLessThan(e.ll.x)?e.ll.x:i.ll.x,s=i.ur.x.isLessThan(e.ur.x)?i.ur.x:e.ur.x,r=i.ll.y.isLessThan(e.ll.y)?e.ll.y:i.ll.y,n=i.ur.y.isLessThan(e.ur.y)?i.ur.y:e.ur.y;return{ll:{x:t,y:r},ur:{x:s,y:n}}},Lt=(i,e)=>i.x.times(e.y).minus(i.y.times(e.x)),ns=(i,e)=>i.x.times(e.x).plus(i.y.times(e.y)),St=i=>ns(i,i).sqrt(),Dr=(i,e,t)=>{const s={x:e.x.minus(i.x),y:e.y.minus(i.y)},r={x:t.x.minus(i.x),y:t.y.minus(i.y)};return Lt(r,s).div(St(r)).div(St(s))},Wr=(i,e,t)=>{const s={x:e.x.minus(i.x),y:e.y.minus(i.y)},r={x:t.x.minus(i.x),y:t.y.minus(i.y)};return ns(r,s).div(St(r)).div(St(s))},os=(i,e,t)=>e.y.isZero()?null:{x:i.x.plus(e.x.div(e.y).times(t.minus(i.y))),y:t},ls=(i,e,t)=>e.x.isZero()?null:{x:t,y:i.y.plus(e.y.div(e.x).times(t.minus(i.x)))},zr=(i,e,t,s)=>{if(e.x.isZero())return ls(t,s,i.x);if(s.x.isZero())return ls(i,e,t.x);if(e.y.isZero())return os(t,s,i.y);if(s.y.isZero())return os(i,e,t.y);const r=Lt(e,s);if(r.isZero())return null;const n={x:t.x.minus(i.x),y:t.y.minus(i.y)},o=Lt(n,e).div(r),l=Lt(n,s).div(r),u=i.x.plus(l.times(e.x)),f=t.x.plus(o.times(s.x)),x=i.y.plus(l.times(e.y)),w=t.y.plus(o.times(s.y)),_=u.plus(f).div(2),M=x.plus(w).div(2);return{x:_,y:M}},ge=class ys{point;isLeft;segment;otherSE;consumedBy;static compare(e,t){const s=ys.comparePoints(e.point,t.point);return s!==0?s:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:$t.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let s=0,r=t.length;s<r;s++){const n=t[s];this.point.events.push(n),n.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const s=this.point.events[t];if(s.segment.consumedBy===void 0)for(let r=t+1;r<e;r++){const n=this.point.events[r];n.consumedBy===void 0&&s.otherSE.point.events===n.otherSE.point.events&&s.segment.consume(n.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,s=this.point.events.length;t<s;t++){const r=this.point.events[t];r!==this&&!r.segment.ringOut&&r.segment.isInResult()&&e.push(r)}return e}getLeftmostComparator(e){const t=new Map,s=r=>{const n=r.otherSE;t.set(r,{sine:Dr(this.point,e.point,n.point),cosine:Wr(this.point,e.point,n.point)})};return(r,n)=>{t.has(r)||s(r),t.has(n)||s(n);const{sine:o,cosine:l}=t.get(r),{sine:u,cosine:f}=t.get(n);return o.isGreaterThanOrEqualTo(0)&&u.isGreaterThanOrEqualTo(0)?l.isLessThan(f)?1:l.isGreaterThan(f)?-1:0:o.isLessThan(0)&&u.isLessThan(0)?l.isLessThan(f)?-1:l.isGreaterThan(f)?1:0:u.isLessThan(o)?-1:u.isGreaterThan(o)?1:0}}},qr=class hi{events;poly;_isExteriorRing;_enclosingRing;static factory(e){const t=[];for(let s=0,r=e.length;s<r;s++){const n=e[s];if(!n.isInResult()||n.ringOut)continue;let o=null,l=n.leftSE,u=n.rightSE;const f=[l],x=l.point,w=[];for(;o=l,l=u,f.push(l),l.point!==x;)for(;;){const _=l.getAvailableLinkedEvents();if(_.length===0){const R=f[0].point,U=f[f.length-1].point;throw new Error(`Unable to complete output ring starting at [${R.x}, ${R.y}]. Last matching segment found ends at [${U.x}, ${U.y}].`)}if(_.length===1){u=_[0].otherSE;break}let M=null;for(let R=0,U=w.length;R<U;R++)if(w[R].point===l.point){M=R;break}if(M!==null){const R=w.splice(M)[0],U=f.splice(R.index);U.unshift(U[0].otherSE),t.push(new hi(U.reverse()));continue}w.push({index:f.length,point:l.point});const T=l.getLeftmostComparator(o);u=_.sort(T)[0].otherSE;break}t.push(new hi(f))}return t}constructor(e){this.events=e;for(let t=0,s=e.length;t<s;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let f=1,x=this.events.length-1;f<x;f++){const w=this.events[f].point,_=this.events[f+1].point;we.orient(w,e,_)!==0&&(t.push(w),e=w)}if(t.length===1)return null;const s=t[0],r=t[1];we.orient(s,e,r)===0&&t.shift(),t.push(t[0]);const n=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,l=this.isExteriorRing()?t.length:-1,u=[];for(let f=o;f!=l;f+=n)u.push([t[f].x.toNumber(),t[f].y.toNumber()]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let r=1,n=this.events.length;r<n;r++){const o=this.events[r];ge.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),s=t?t.prevInResult():null;for(;;){if(!t)return null;if(!s)return t.ringOut;if(s.ringOut!==t.ringOut)return s.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=s.prevInResult(),s=t?t.prevInResult():null}}},as=class{exteriorRing;interiorRings;constructor(i){this.exteriorRing=i,i.poly=this,this.interiorRings=[]}addInterior(i){this.interiorRings.push(i),i.poly=this}getGeom(){const i=this.exteriorRing.getGeom();if(i===null)return null;const e=[i];for(let t=0,s=this.interiorRings.length;t<s;t++){const r=this.interiorRings[t].getGeom();r!==null&&e.push(r)}return e}},Hr=class{rings;polys;constructor(i){this.rings=i,this.polys=this._composePolys(i)}getGeom(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const s=this.polys[e].getGeom();s!==null&&i.push(s)}return i}_composePolys(i){const e=[];for(let t=0,s=i.length;t<s;t++){const r=i[t];if(!r.poly)if(r.isExteriorRing())e.push(new as(r));else{const n=r.enclosingRing();n?.poly||e.push(new as(n)),n?.poly?.addInterior(r)}}return e}},jr=class{queue;tree;segments;constructor(i,e=$t.compare){this.queue=i,this.tree=new xt(e),this.segments=[]}process(i){const e=i.segment,t=[];if(i.consumedBy)return i.isLeft?this.queue.delete(i.otherSE):this.tree.delete(e),t;i.isLeft&&this.tree.add(e);let s=e,r=e;do s=this.tree.lastBefore(s);while(s!=null&&s.consumedBy!=null);do r=this.tree.firstAfter(r);while(r!=null&&r.consumedBy!=null);if(i.isLeft){let n=null;if(s){const l=s.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(n=l),!s.isAnEndpoint(l))){const u=this._splitSafely(s,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}let o=null;if(r){const l=r.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(o=l),!r.isAnEndpoint(l))){const u=this._splitSafely(r,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}if(n!==null||o!==null){let l=null;n===null?l=o:o===null?l=n:l=ge.comparePoints(n,o)<=0?n:o,this.queue.delete(e.rightSE),t.push(e.rightSE);const u=e.split(l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}t.length>0?(this.tree.delete(e),t.push(i)):(this.segments.push(e),e.prev=s)}else{if(s&&r){const n=s.getIntersection(r);if(n!==null){if(!s.isAnEndpoint(n)){const o=this._splitSafely(s,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}if(!r.isAnEndpoint(n)){const o=this._splitSafely(r,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}}}this.tree.delete(e)}return t}_splitSafely(i,e){this.tree.delete(i);const t=i.rightSE;this.queue.delete(t);const s=i.split(e);return s.push(t),i.consumedBy===void 0&&this.tree.add(i),s}},Vr=class{type;numMultiPolys;run(i,e,t){st.type=i;const s=[new hs(e,!0)];for(let f=0,x=t.length;f<x;f++)s.push(new hs(t[f],!1));if(st.numMultiPolys=s.length,st.type==="difference"){const f=s[0];let x=1;for(;x<s.length;)ri(s[x].bbox,f.bbox)!==null?x++:s.splice(x,1)}if(st.type==="intersection")for(let f=0,x=s.length;f<x;f++){const w=s[f];for(let _=f+1,M=s.length;_<M;_++)if(ri(w.bbox,s[_].bbox)===null)return[]}const r=new xt(ge.compare);for(let f=0,x=s.length;f<x;f++){const w=s[f].getSweepEvents();for(let _=0,M=w.length;_<M;_++)r.add(w[_])}const n=new jr(r);let o=null;for(r.size!=0&&(o=r.first(),r.delete(o));o;){const f=n.process(o);for(let x=0,w=f.length;x<w;x++){const _=f[x];_.consumedBy===void 0&&r.add(_)}r.size!=0?(o=r.first(),r.delete(o)):o=null}we.reset();const l=qr.factory(n.segments);return new Hr(l).getGeom()}},st=new Vr,_t=st,Zr=0,$t=class Tt{id;leftSE;rightSE;rings;windings;ringOut;consumedBy;prev;_prevInResult;_beforeState;_afterState;_isInResult;static compare(e,t){const s=e.leftSE.point.x,r=t.leftSE.point.x,n=e.rightSE.point.x,o=t.rightSE.point.x;if(o.isLessThan(s))return 1;if(n.isLessThan(r))return-1;const l=e.leftSE.point.y,u=t.leftSE.point.y,f=e.rightSE.point.y,x=t.rightSE.point.y;if(s.isLessThan(r)){if(u.isLessThan(l)&&u.isLessThan(f))return 1;if(u.isGreaterThan(l)&&u.isGreaterThan(f))return-1;const w=e.comparePoint(t.leftSE.point);if(w<0)return 1;if(w>0)return-1;const _=t.comparePoint(e.rightSE.point);return _!==0?_:-1}if(s.isGreaterThan(r)){if(l.isLessThan(u)&&l.isLessThan(x))return-1;if(l.isGreaterThan(u)&&l.isGreaterThan(x))return 1;const w=t.comparePoint(e.leftSE.point);if(w!==0)return w;const _=e.comparePoint(t.rightSE.point);return _<0?1:_>0?-1:1}if(l.isLessThan(u))return-1;if(l.isGreaterThan(u))return 1;if(n.isLessThan(o)){const w=t.comparePoint(e.rightSE.point);if(w!==0)return w}if(n.isGreaterThan(o)){const w=e.comparePoint(t.rightSE.point);if(w<0)return 1;if(w>0)return-1}if(!n.eq(o)){const w=f.minus(l),_=n.minus(s),M=x.minus(u),T=o.minus(r);if(w.isGreaterThan(_)&&M.isLessThan(T))return 1;if(w.isLessThan(_)&&M.isGreaterThan(T))return-1}return n.isGreaterThan(o)?1:n.isLessThan(o)||f.isLessThan(x)?-1:f.isGreaterThan(x)?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,s,r){this.id=++Zr,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=s,this.windings=r}static fromRing(e,t,s){let r,n,o;const l=ge.comparePoints(e,t);if(l<0)r=e,n=t,o=1;else if(l>0)r=t,n=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new ge(r,!0),f=new ge(n,!1);return new Tt(u,f,[s],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return we.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),s=e.bbox(),r=ri(t,s);if(r===null)return null;const n=this.leftSE.point,o=this.rightSE.point,l=e.leftSE.point,u=e.rightSE.point,f=it(t,l)&&this.comparePoint(l)===0,x=it(s,n)&&e.comparePoint(n)===0,w=it(t,u)&&this.comparePoint(u)===0,_=it(s,o)&&e.comparePoint(o)===0;if(x&&f)return _&&!w?o:!_&&w?u:null;if(x)return w&&n.x.eq(u.x)&&n.y.eq(u.y)?null:n;if(f)return _&&o.x.eq(l.x)&&o.y.eq(l.y)?null:l;if(_&&w)return null;if(_)return o;if(w)return u;const M=zr(n,this.vector(),l,e.vector());return M===null||!it(r,M)?null:we.snap(M)}split(e){const t=[],s=e.events!==void 0,r=new ge(e,!0),n=new ge(e,!1),o=this.rightSE;this.replaceRightSE(n),t.push(n),t.push(r);const l=new Tt(r,o,this.rings.slice(),this.windings.slice());return ge.comparePoints(l.leftSE.point,l.rightSE.point)>0&&l.swapEvents(),ge.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),s&&(r.checkForConsuming(),n.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,s=this.windings.length;t<s;t++)this.windings[t]*=-1}consume(e){let t=this,s=e;for(;t.consumedBy;)t=t.consumedBy;for(;s.consumedBy;)s=s.consumedBy;const r=Tt.compare(t,s);if(r!==0){if(r>0){const n=t;t=s,s=n}if(t.prev===s){const n=t;t=s,s=n}for(let n=0,o=s.rings.length;n<o;n++){const l=s.rings[n],u=s.windings[n],f=t.rings.indexOf(l);f===-1?(t.rings.push(l),t.windings.push(u)):t.windings[f]+=u}s.rings=null,s.windings=null,s.consumedBy=t,s.leftSE.consumedBy=t.leftSE,s.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,s=this._afterState.windings,r=this._afterState.multiPolys;for(let l=0,u=this.rings.length;l<u;l++){const f=this.rings[l],x=this.windings[l],w=t.indexOf(f);w===-1?(t.push(f),s.push(x)):s[w]+=x}const n=[],o=[];for(let l=0,u=t.length;l<u;l++){if(s[l]===0)continue;const f=t[l],x=f.poly;if(o.indexOf(x)===-1)if(f.isExterior)n.push(x);else{o.indexOf(x)===-1&&o.push(x);const w=n.indexOf(f.poly);w!==-1&&n.splice(w,1)}}for(let l=0,u=n.length;l<u;l++){const f=n[l].multiPoly;r.indexOf(f)===-1&&r.push(f)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(_t.type){case"union":{const s=e.length===0,r=t.length===0;this._isInResult=s!==r;break}case"intersection":{let s,r;e.length<t.length?(s=e.length,r=t.length):(s=t.length,r=e.length),this._isInResult=r===_t.numMultiPolys&&s<r;break}case"xor":{const s=Math.abs(e.length-t.length);this._isInResult=s%2===1;break}case"difference":{const s=r=>r.length===1&&r[0].isSubject;this._isInResult=s(e)!==s(t);break}}return this._isInResult}},cs=class{poly;isExterior;segments;bbox;constructor(i,e,t){if(!Array.isArray(i)||i.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=t,this.segments=[],typeof i[0][0]!="number"||typeof i[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const s=we.snap({x:new me(i[0][0]),y:new me(i[0][1])});this.bbox={ll:{x:s.x,y:s.y},ur:{x:s.x,y:s.y}};let r=s;for(let n=1,o=i.length;n<o;n++){if(typeof i[n][0]!="number"||typeof i[n][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const l=we.snap({x:new me(i[n][0]),y:new me(i[n][1])});l.x.eq(r.x)&&l.y.eq(r.y)||(this.segments.push($t.fromRing(r,l,this)),l.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=l.x),l.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=l.y),l.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=l.x),l.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=l.y),r=l)}(!s.x.eq(r.x)||!s.y.eq(r.y))&&this.segments.push($t.fromRing(r,s,this))}getSweepEvents(){const i=[];for(let e=0,t=this.segments.length;e<t;e++){const s=this.segments[e];i.push(s.leftSE),i.push(s.rightSE)}return i}},Kr=class{multiPoly;exteriorRing;interiorRings;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new cs(i[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let t=1,s=i.length;t<s;t++){const r=new cs(i[t],this,!1);r.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=r.bbox.ur.y),this.interiorRings.push(r)}this.multiPoly=e}getSweepEvents(){const i=this.exteriorRing.getSweepEvents();for(let e=0,t=this.interiorRings.length;e<t;e++){const s=this.interiorRings[e].getSweepEvents();for(let r=0,n=s.length;r<n;r++)i.push(s[r])}return i}},hs=class{isSubject;polys;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof i[0][0][0]=="number"&&(i=[i])}catch{}this.polys=[],this.bbox={ll:{x:new me(Number.POSITIVE_INFINITY),y:new me(Number.POSITIVE_INFINITY)},ur:{x:new me(Number.NEGATIVE_INFINITY),y:new me(Number.NEGATIVE_INFINITY)}};for(let t=0,s=i.length;t<s;t++){const r=new Kr(i[t],this);r.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=r.bbox.ur.y),this.polys.push(r)}this.isSubject=e}getSweepEvents(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const s=this.polys[e].getSweepEvents();for(let r=0,n=s.length;r<n;r++)i.push(s[r])}return i}},Yr=(i,...e)=>_t.run("union",i,e),Xr=(i,...e)=>_t.run("difference",i,e);we.set;function us(i,e,t){if(i!==null)for(var s,r,n,o,l,u,f,x=0,w=0,_,M=i.type,T=M==="FeatureCollection",R=M==="Feature",U=T?i.features.length:1,G=0;G<U;G++){f=T?i.features[G].geometry:R?i.geometry:i,_=f?f.type==="GeometryCollection":!1,l=_?f.geometries.length:1;for(var S=0;S<l;S++){var Q=0,re=0;if(o=_?f.geometries[S]:f,o!==null){u=o.coordinates;var ve=o.type;switch(x=0,ve){case null:break;case"Point":if(e(u,w,G,Q,re)===!1)return!1;w++,Q++;break;case"LineString":case"MultiPoint":for(s=0;s<u.length;s++){if(e(u[s],w,G,Q,re)===!1)return!1;w++,ve==="MultiPoint"&&Q++}ve==="LineString"&&Q++;break;case"Polygon":case"MultiLineString":for(s=0;s<u.length;s++){for(r=0;r<u[s].length-x;r++){if(e(u[s][r],w,G,Q,re)===!1)return!1;w++}ve==="MultiLineString"&&Q++,ve==="Polygon"&&re++}ve==="Polygon"&&Q++;break;case"MultiPolygon":for(s=0;s<u.length;s++){for(re=0,r=0;r<u[s].length;r++){for(n=0;n<u[s][r].length-x;n++){if(e(u[s][r][n],w,G,Q,re)===!1)return!1;w++}re++}Q++}break;case"GeometryCollection":for(s=0;s<o.geometries.length;s++)if(us(o.geometries[s],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function ni(i,e){var t,s,r,n,o,l,u,f,x,w,_=0,M=i.type==="FeatureCollection",T=i.type==="Feature",R=M?i.features.length:1;for(t=0;t<R;t++){for(l=M?i.features[t].geometry:T?i.geometry:i,f=M?i.features[t].properties:T?i.properties:{},x=M?i.features[t].bbox:T?i.bbox:void 0,w=M?i.features[t].id:T?i.id:void 0,u=l?l.type==="GeometryCollection":!1,o=u?l.geometries.length:1,r=0;r<o;r++){if(n=u?l.geometries[r]:l,n===null){if(e(null,_,f,x,w)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,_,f,x,w)===!1)return!1;break}case"GeometryCollection":{for(s=0;s<n.geometries.length;s++)if(e(n.geometries[s],_,f,x,w)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}_++}}function Qr(i,e){ni(i,function(t,s,r,n,o){var l=t===null?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return e(Je(t,r,{bbox:n,id:o}),s,0)===!1?!1:void 0}var u;switch(l){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var f=0;f<t.coordinates.length;f++){var x=t.coordinates[f],w={type:u,coordinates:x};if(e(Je(w,r),s,f)===!1)return!1}})}function Jr(i,e={}){const t=[];if(ni(i,r=>{t.push(r.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const s=Yr(t[0],...t.slice(1));return s.length===0?null:s.length===1?Qt(s[0],e.properties):es(s,e.properties)}var ds=Jr;function en(i,e={}){if(i.bbox!=null&&e.recompute!==!0)return i.bbox;const t=[1/0,1/0,-1/0,-1/0];return us(i,s=>{t[0]>s[0]&&(t[0]=s[0]),t[1]>s[1]&&(t[1]=s[1]),t[2]<s[0]&&(t[2]=s[0]),t[3]<s[1]&&(t[3]=s[1])}),t}var fs=en;function tn(i){const e=[];if(ni(i,r=>{e.push(r.coordinates)}),e.length<2)throw new Error("Must have at least two features");const t=i.features[0].properties||{},s=Xr(e[0],...e.slice(1));return s.length===0?null:s.length===1?Qt(s[0],t):es(s,t)}var sn=tn;function rn(i){if(!i)throw new Error("geojson is required");var e=[];return Qr(i,function(t){e.push(t)}),et(e)}var nn=rn;function ps(i){const e=sn(et([Qt([[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]]),i]));if(!e)return;e.properties={isMask:!0};const t=pt(fs(i)),s=(t[2]-t[0])/360/1e3,r=t[0]<-180,n=t[2]>180,o=nn(i);if(o.features.length>1&&(r||n))for(const l of o.features){const u=pt(fs(l));if(n&&u[0]<-180+s)for(const f of l.geometry.coordinates)for(const x of f)x[0]+=360-s;if(r&&u[2]>180-s)for(const f of l.geometry.coordinates)for(const x of f)x[0]-=360-s}return et([o.features.length<2?i:ds(o)??i,e])}const ms={continental_marine:4,country:4,major_landform:8,region:5,subregion:6,county:7,joint_municipality:8,joint_submunicipality:9,municipality:10,municipal_district:11,locality:12,neighbourhood:13,place:14,postal_code:14,road:16,poi:17,address:18,"poi.peak":15,"poi.shop":18,"poi.cafe":18,"poi.restaurant":18,"poi.aerodrome":13},gs={fill:{paint:{"fill-color":"#000","fill-opacity":.1},filter:["all",["==",["geometry-type"],"Polygon"],["has","isMask"]]},line:{layout:{"line-cap":"square"},paint:{"line-width":["case",["==",["geometry-type"],"Polygon"],2,3],"line-dasharray":[1,1],"line-color":"#3170fe"},filter:["!",["has","isMask"]]}},rt="mtlr-gc-full-geom",oi="mtlr-gc-full-geom-fill",li="mtlr-gc-full-geom-line";class on extends Le.Evented{#e={};#t;#i;constructor(e={}){super(),this.setOptions(e)}onAdd(e){this.#t=e,this.#i=e._container.ownerDocument.createElement("maptiler-geocoder"),this.#i.classList.add("maplibregl-geocoder"),this.#y(),this.#x();const t=e._container.ownerDocument.createElement("div");return t.classList.add("maplibregl-ctrl-geocoder","maplibregl-ctrl","maplibregl-ctrl-group"),t.style.position="relative",t.style.zIndex="3",t.appendChild(this.#i),setTimeout(()=>this.#i?.setOptions({openListOnTop:t.matches(".maplibregl-ctrl-bottom-left *, .maplibregl-ctrl-bottom-right *")})),t}onRemove(){this.#L(),this.#t=void 0,this.#i=void 0}getOptions(){return{...this.#e}}setOptions(e){Object.assign(this.#e,e),this.#y()}setQuery(e){this.#i?.setQuery(e)}submitQuery(e){this.#i?.submitQuery(e)}clearMap(){this.#n=[],this.#u(void 0,void 0)}clearList(){this.#i?.clearList()}setReverseMode(e){this.setOptions({reverseActive:e})}focus(e){this.#i?.focus(e)}blur(){this.#i?.blur()}#l=new Map;#c;#r;#n;#o;#m;#g={reversetoggle:e=>{const t=this.#t?.getCanvasContainer();t&&(t.style.cursor=e.detail.reverse?"crosshair":""),this.#s("reversetoggle",e.detail)},querychange:e=>{const t=e.detail.reverseCoords;this.#w(t?[t.decimalLongitude,t.decimalLatitude]:void 0),this.#s("querychange",e.detail)},queryclear:()=>{this.#w(void 0),this.#s("queryclear")},request:e=>{this.#s("request",e.detail)},response:e=>{this.#s("response",e.detail)},select:e=>{const t=e.detail.feature;t&&this.#d&&this.#e.flyToSelected&&this.#b(t.center,this.#h(t)),this.#n&&t&&this.#T(t),this.#s("select",e.detail)},pick:e=>{const t=e.detail.feature;t&&t.id!==this.#m&&this.#d&&(this.#S(t),this.#u(this.#n,t)),this.#m=t?.id,this.#s("pick",e.detail)},featuresshow:()=>{this.#s("featuresshow")},featureshide:()=>{this.#s("featureshide")},featureslisted:e=>{const t=e.detail.features;this.#n=t,this.#u(this.#n,void 0),this.#_(e),this.#s("featureslisted",e.detail)},featuresclear:()=>{this.#n=void 0,this.#u(void 0,void 0),this.#s("featuresclear")},focusin:()=>{this.#s("focusin")},focusout:()=>{this.#s("focusout")}};#v={render:()=>{const e=this.#t?.getZoom(),t=this.#t?.getCenter();this.#i?.handleMapChange(e&&t?[e,t.lng,t.lat]:void 0)},click:e=>{this.#i?.handleMapClick([e.lngLat.lng,e.lngLat.lat])},styledata:()=>{setTimeout(()=>{this.#o&&this.#f()})}};#y(){this.#i&&(this.#i.setOptions(this.#e),this.#i.fetchFullGeometryOnPick=this.#e.pickedResultStyle!=="marker-only")}#x(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.addEventListener(e,t);for(const[e,t]of Object.entries(this.#v))this.#t.on(e,t)}}#L(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.removeEventListener(e,t);for(const[e,t]of Object.entries(this.#v))this.#t.off(e,t)}}#s(e,t){return super.fire({type:e,...t??{}})}#S(e){e.bbox[0]===e.bbox[2]&&e.bbox[1]===e.bbox[3]?this.#b(e.center,this.#h(e)):this.#E(pt(e.bbox),50,this.#h(e))}#_({detail:{features:e,external:t}}){if(!e||e.length===0||!this.#d||this.#e.flyToFeatures===!1||this.#e.flyToFeatures==="never"||!t&&(this.#e.flyToFeatures===void 0||this.#e.flyToFeatures==="external"))return;const s=e.every(o=>o.matching_text),r=e.reduce((o,l)=>s||!l.matching_text?[Math.min(o[0],l.bbox[0]),Math.min(o[1],l.bbox[1]),Math.max(o[2],l.bbox[2]),Math.max(o[3],l.bbox[3])]:o,[180,90,-180,-90]),n=e.map(o=>this.#h(o)).filter(o=>o!==void 0).reduce((o,l)=>o===void 0?l:Math.max(o,l),void 0);this.#E(pt(r),50,n)}#h(e){if(e.bbox[0]!==e.bbox[2]||e.bbox[1]!==e.bbox[3])return;const t=e.id.replace(/\..*/,""),s=this.#e.zoom??ms;return(Array.isArray(e.properties?.categories)?e.properties.categories.reduce((r,n)=>{const o=s[t+"."+n];return r===void 0?o:o===void 0?r:Math.max(r,o)},void 0):void 0)??s[t]}get#d(){return!!this.#e.flyTo||this.#e.flyTo===void 0}get#$(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}get#M(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}#b(e,t){this.#t?.flyTo({center:e,...t?{zoom:t}:{},...this.#$})}#E(e,t,s){this.#t?.fitBounds([[e[0],e[1]],[e[2],e[3]]],{padding:t,...s?{maxZoom:s}:{},...this.#M})}#w(e){if(!(this.#e.marker===!1||this.#e.marker===null||!this.#t)){if(!e){this.#r?.remove(),this.#r=void 0;return}this.#r||(this.#e.marker instanceof Function?this.#r=this.#e.marker(this.#t)??void 0:(this.#r=this.#p(this.#e.marker).setLngLat(e).addTo(this.#t),this.#r.getElement().classList.add("marker-reverse"))),this.#r?.setLngLat(e)}}#u(e,t){if(!this.#t)return;for(const r of this.#l.values())r.remove();this.#l=new Map,this.#a(void 0);const s=()=>{if(!t||!this.#t||this.#e.marker===!1||this.#e.marker===null)return;const r=this.#e.marker instanceof Function?this.#e.marker(this.#t,t):this.#p(this.#e.marker).setLngLat(t.center).addTo(this.#t);r&&this.#l.set(t,r)};if(t?.geometry.type==="GeometryCollection"){const r=t.geometry.geometries.filter(n=>n.type==="Polygon"||n.type==="MultiPolygon");if(r.length>0){const n=ds(et(r.map(o=>Je(o))));if(n){const o=ps({...t,geometry:n.geometry});o&&this.#a(o)}}else{const n=t.geometry.geometries.filter(o=>o.type==="LineString"||o.type==="MultiLineString");n.length>0&&this.#a({...t,geometry:{type:"GeometryCollection",geometries:n}})}}else if(t?.geometry.type.endsWith("Polygon")){const r=ps(t);r&&this.#a(r),this.#e.pickedResultStyle==="full-geometry-including-polygon-center-marker"&&s()}else t?.geometry.type.endsWith("LineString")?this.#a(t):t?.geometry.type.endsWith("Point")&&s();if(this.#e.showResultMarkers!==!1&&this.#e.showResultMarkers!==null)for(const r of e??[]){if(r.id===t?.id||r.place_type.includes("reverse"))continue;let n;if(this.#e.showResultMarkers instanceof Function){if(n=this.#e.showResultMarkers(this.#t,r),!n)continue}else n=this.#p(this.#e.showResultMarkers).setLngLat(r.center).setPopup(new Le.Popup({offset:[1,-27],closeButton:!1,closeOnMove:!0,className:"maptiler-gc-popup"}).setText(r.place_type[0]==="reverse"?r.place_name:r.place_name.replace(/,.*/,""))).addTo(this.#t),n.getElement().classList.add("marker-interactive");const o=n.getElement();o.addEventListener("click",l=>{l.stopPropagation(),this.#s("markerclick",{feature:r,marker:n})}),o.addEventListener("mouseenter",()=>{this.#s("markermouseenter",{feature:r,marker:n}),n.togglePopup()}),o.addEventListener("mouseleave",()=>{this.#s("markermouseleave",{feature:r,marker:n}),n.togglePopup()}),o.classList.toggle("marker-fuzzy",!!r.matching_text),this.#l.set(r,n)}}#T(e){this.#c?.getElement().classList.toggle("marker-selected",!1),this.#c=void 0,this.#e.markerOnSelected!==!1&&(this.#c=this.#l.get(e),this.#c?.getElement().classList.toggle("marker-selected",!0))}#f(){if(!this.#t?.loaded){this.#t?.once("load",()=>{this.#f()});return}const e=this.#A(),t=this.#t.getSource(rt);!e?.fill&&!e?.line||!t&&!this.#o||(t?t.setData(this.#o??et([])):this.#o&&this.#t.addSource(rt,{type:"geojson",data:this.#o}),!this.#t.getLayer(oi)&&e.fill&&this.#t.addLayer({...e.fill,id:oi,type:"fill",source:rt}),!this.#t.getLayer(li)&&e.line&&this.#t.addLayer({...e.line,id:li,type:"line",source:rt}))}#a(e){this.#o=e,this.#f()}#p(e){return typeof e!="object"&&(e={element:this.#t?._container.ownerDocument.createElement("maptiler-geocode-marker"),offset:[1,-13]}),new Le.Marker(e)}#A(){const{fullGeometryStyle:e}=this.#e;if(e===!0||e===void 0)return gs;if(!(e===!1||e===null))return e}}class vs extends on{#e;constructor(e={}){super(e)}onAdd(e){this.#e=e,e.telemetry.registerModule(kr,Or);const t=this.getOptions(),{primaryLanguage:s,apiKey:r}=e.getSdkConfig();if(t.apiKey===void 0&&this.setOptions({apiKey:r}),t.language===void 0){const o=s.code?.match(/^([a-z]{2,3})($|_|-)/);o&&this.setOptions({language:o[1]})}const n=super.onAdd(e);return n.classList.add("maptiler-ctrl-geocoder"),n.querySelector("maptiler-geocoder")?.classList.add("maptiler-geocoder"),n}onRemove(){super.onRemove(),this.#e=void 0}setOptions(e){const t=e.adjustUrl;super.setOptions({...e,adjustUrl:s=>{t?.(s);const r=this.getOptions();(Le.config.session?e.session!==!1:e.session===!0)&&this.#e&&(!r.apiUrl||new URL(r.apiUrl).host===new URL("https://api.maptiler.com/geocoding").host)&&s.searchParams.append("mtsid",this.#e.getMaptilerSessionId())}})}}$.DEFAULT_GEOMETRY_STYLE=gs,$.GeocodingControl=vs,$.MaptilerGeocodingControl=vs,$.RESULT_LAYER_FILL=oi,$.RESULT_LAYER_LINE=li,$.RESULT_SOURCE=rt,$.ZOOM_DEFAULTS=ms,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
280
+ `,$.MaptilerGeocodeMarkerElement=Cr([$e("maptiler-geocode-marker")],$.MaptilerGeocodeMarkerElement);const kr="@maptiler/geocoding-control",Or="3.0.0-rc.9";function Je(i,e,t={}){const s={type:"Feature"};return(t.id===0||t.id)&&(s.id=t.id),t.bbox&&(s.bbox=t.bbox),s.properties=e||{},s.geometry=i,s}function Qt(i,e,t={}){for(const r of i){if(r.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(r[r.length-1].length!==r[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<r[r.length-1].length;n++)if(r[r.length-1][n]!==r[0][n])throw new Error("First and last Position are not equivalent.")}return Je({type:"Polygon",coordinates:i},e,t)}function et(i,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=i,t}function es(i,e,t={}){return Je({type:"MultiPolygon",coordinates:i},e,t)}var Ir=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,Jt=Math.ceil,ae=Math.floor,se="[BigNumber Error] ",ts=se+"Number primitive has more than 15 significant digits: ",fe=1e14,P=14,ei=9007199254740991,ti=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Te=1e7,X=1e9;function is(i){var e,t,s,r=S.prototype={constructor:S,toString:null,valueOf:null},n=new S(1),o=20,l=4,u=-7,f=21,x=-1e7,w=1e7,_=!1,M=1,T=0,R={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},U="0123456789abcdefghijklmnopqrstuvwxyz",G=!0;function S(a,c){var h,y,p,g,E,d,m,b,v=this;if(!(v instanceof S))return new S(a,c);if(c==null){if(a&&a._isBigNumber===!0){v.s=a.s,!a.c||a.e>w?v.c=v.e=null:a.e<x?v.c=[v.e=0]:(v.e=a.e,v.c=a.c.slice());return}if((d=typeof a=="number")&&a*0==0){if(v.s=1/a<0?(a=-a,-1):1,a===~~a){for(g=0,E=a;E>=10;E/=10,g++);g>w?v.c=v.e=null:(v.e=g,v.c=[a]);return}b=String(a)}else{if(!Ir.test(b=String(a)))return s(v,b,d);v.s=b.charCodeAt(0)==45?(b=b.slice(1),-1):1}(g=b.indexOf("."))>-1&&(b=b.replace(".","")),(E=b.search(/e/i))>0?(g<0&&(g=E),g+=+b.slice(E+1),b=b.substring(0,E)):g<0&&(g=b.length)}else{if(q(c,2,U.length,"Base"),c==10&&G)return v=new S(a),ue(v,o+v.e+1,l);if(b=String(a),d=typeof a=="number"){if(a*0!=0)return s(v,b,d,c);if(v.s=1/a<0?(b=b.slice(1),-1):1,S.DEBUG&&b.replace(/^0\.0*|\./,"").length>15)throw Error(ts+a)}else v.s=b.charCodeAt(0)===45?(b=b.slice(1),-1):1;for(h=U.slice(0,c),g=E=0,m=b.length;E<m;E++)if(h.indexOf(y=b.charAt(E))<0){if(y=="."){if(E>g){g=m;continue}}else if(!p&&(b==b.toUpperCase()&&(b=b.toLowerCase())||b==b.toLowerCase()&&(b=b.toUpperCase()))){p=!0,E=-1,g=0;continue}return s(v,String(a),d,c)}d=!1,b=t(b,c,10,v.s),(g=b.indexOf("."))>-1?b=b.replace(".",""):g=b.length}for(E=0;b.charCodeAt(E)===48;E++);for(m=b.length;b.charCodeAt(--m)===48;);if(b=b.slice(E,++m)){if(m-=E,d&&S.DEBUG&&m>15&&(a>ei||a!==ae(a)))throw Error(ts+v.s*a);if((g=g-E-1)>w)v.c=v.e=null;else if(g<x)v.c=[v.e=0];else{if(v.e=g,v.c=[],E=(g+1)%P,g<0&&(E+=P),E<m){for(E&&v.c.push(+b.slice(0,E)),m-=P;E<m;)v.c.push(+b.slice(E,E+=P));E=P-(b=b.slice(E)).length}else E-=m;for(;E--;b+="0");v.c.push(+b)}}else v.c=[v.e=0]}S.clone=is,S.ROUND_UP=0,S.ROUND_DOWN=1,S.ROUND_CEIL=2,S.ROUND_FLOOR=3,S.ROUND_HALF_UP=4,S.ROUND_HALF_DOWN=5,S.ROUND_HALF_EVEN=6,S.ROUND_HALF_CEIL=7,S.ROUND_HALF_FLOOR=8,S.EUCLID=9,S.config=S.set=function(a){var c,h;if(a!=null)if(typeof a=="object"){if(a.hasOwnProperty(c="DECIMAL_PLACES")&&(h=a[c],q(h,0,X,c),o=h),a.hasOwnProperty(c="ROUNDING_MODE")&&(h=a[c],q(h,0,8,c),l=h),a.hasOwnProperty(c="EXPONENTIAL_AT")&&(h=a[c],h&&h.pop?(q(h[0],-X,0,c),q(h[1],0,X,c),u=h[0],f=h[1]):(q(h,-X,X,c),u=-(f=h<0?-h:h))),a.hasOwnProperty(c="RANGE"))if(h=a[c],h&&h.pop)q(h[0],-X,-1,c),q(h[1],1,X,c),x=h[0],w=h[1];else if(q(h,-X,X,c),h)x=-(w=h<0?-h:h);else throw Error(se+c+" cannot be zero: "+h);if(a.hasOwnProperty(c="CRYPTO"))if(h=a[c],h===!!h)if(h)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))_=h;else throw _=!h,Error(se+"crypto unavailable");else _=h;else throw Error(se+c+" not true or false: "+h);if(a.hasOwnProperty(c="MODULO_MODE")&&(h=a[c],q(h,0,9,c),M=h),a.hasOwnProperty(c="POW_PRECISION")&&(h=a[c],q(h,0,X,c),T=h),a.hasOwnProperty(c="FORMAT"))if(h=a[c],typeof h=="object")R=h;else throw Error(se+c+" not an object: "+h);if(a.hasOwnProperty(c="ALPHABET"))if(h=a[c],typeof h=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(h))G=h.slice(0,10)=="0123456789",U=h;else throw Error(se+c+" invalid: "+h)}else throw Error(se+"Object expected: "+a);return{DECIMAL_PLACES:o,ROUNDING_MODE:l,EXPONENTIAL_AT:[u,f],RANGE:[x,w],CRYPTO:_,MODULO_MODE:M,POW_PRECISION:T,FORMAT:R,ALPHABET:U}},S.isBigNumber=function(a){if(!a||a._isBigNumber!==!0)return!1;if(!S.DEBUG)return!0;var c,h,y=a.c,p=a.e,g=a.s;e:if({}.toString.call(y)=="[object Array]"){if((g===1||g===-1)&&p>=-X&&p<=X&&p===ae(p)){if(y[0]===0){if(p===0&&y.length===1)return!0;break e}if(c=(p+1)%P,c<1&&(c+=P),String(y[0]).length==c){for(c=0;c<y.length;c++)if(h=y[c],h<0||h>=fe||h!==ae(h))break e;if(h!==0)return!0}}}else if(y===null&&p===null&&(g===null||g===1||g===-1))return!0;throw Error(se+"Invalid BigNumber: "+a)},S.maximum=S.max=function(){return re(arguments,-1)},S.minimum=S.min=function(){return re(arguments,1)},S.random=(function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return ae(Math.random()*a)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(h){var y,p,g,E,d,m=0,b=[],v=new S(n);if(h==null?h=o:q(h,0,X),E=Jt(h/P),_)if(crypto.getRandomValues){for(y=crypto.getRandomValues(new Uint32Array(E*=2));m<E;)d=y[m]*131072+(y[m+1]>>>11),d>=9e15?(p=crypto.getRandomValues(new Uint32Array(2)),y[m]=p[0],y[m+1]=p[1]):(b.push(d%1e14),m+=2);m=E/2}else if(crypto.randomBytes){for(y=crypto.randomBytes(E*=7);m<E;)d=(y[m]&31)*281474976710656+y[m+1]*1099511627776+y[m+2]*4294967296+y[m+3]*16777216+(y[m+4]<<16)+(y[m+5]<<8)+y[m+6],d>=9e15?crypto.randomBytes(7).copy(y,m):(b.push(d%1e14),m+=7);m=E/7}else throw _=!1,Error(se+"crypto unavailable");if(!_)for(;m<E;)d=c(),d<9e15&&(b[m++]=d%1e14);for(E=b[--m],h%=P,E&&h&&(d=ti[P-h],b[m]=ae(E/d)*d);b[m]===0;b.pop(),m--);if(m<0)b=[g=0];else{for(g=-1;b[0]===0;b.splice(0,1),g-=P);for(m=1,d=b[0];d>=10;d/=10,m++);m<P&&(g-=P-m)}return v.e=g,v.c=b,v}})(),S.sum=function(){for(var a=1,c=arguments,h=new S(c[0]);a<c.length;)h=h.plus(c[a++]);return h},t=(function(){var a="0123456789";function c(h,y,p,g){for(var E,d=[0],m,b=0,v=h.length;b<v;){for(m=d.length;m--;d[m]*=y);for(d[0]+=g.indexOf(h.charAt(b++)),E=0;E<d.length;E++)d[E]>p-1&&(d[E+1]==null&&(d[E+1]=0),d[E+1]+=d[E]/p|0,d[E]%=p)}return d.reverse()}return function(h,y,p,g,E){var d,m,b,v,L,A,k,D,H=h.indexOf("."),K=o,F=l;for(H>=0&&(v=T,T=0,h=h.replace(".",""),D=new S(y),A=D.pow(h.length-H),T=v,D.c=c(Ee(he(A.c),A.e,"0"),10,p,a),D.e=D.c.length),k=c(h,y,p,E?(d=U,a):(d=a,U)),b=v=k.length;k[--v]==0;k.pop());if(!k[0])return d.charAt(0);if(H<0?--b:(A.c=k,A.e=b,A.s=g,A=e(A,D,K,F,p),k=A.c,L=A.r,b=A.e),m=b+K+1,H=k[m],v=p/2,L=L||m<0||k[m+1]!=null,L=F<4?(H!=null||L)&&(F==0||F==(A.s<0?3:2)):H>v||H==v&&(F==4||L||F==6&&k[m-1]&1||F==(A.s<0?8:7)),m<1||!k[0])h=L?Ee(d.charAt(1),-K,d.charAt(0)):d.charAt(0);else{if(k.length=m,L)for(--p;++k[--m]>p;)k[m]=0,m||(++b,k=[1].concat(k));for(v=k.length;!k[--v];);for(H=0,h="";H<=v;h+=d.charAt(k[H++]));h=Ee(h,b,d.charAt(0))}return h}})(),e=(function(){function a(y,p,g){var E,d,m,b,v=0,L=y.length,A=p%Te,k=p/Te|0;for(y=y.slice();L--;)m=y[L]%Te,b=y[L]/Te|0,E=k*m+b*A,d=A*m+E%Te*Te+v,v=(d/g|0)+(E/Te|0)+k*b,y[L]=d%g;return v&&(y=[v].concat(y)),y}function c(y,p,g,E){var d,m;if(g!=E)m=g>E?1:-1;else for(d=m=0;d<g;d++)if(y[d]!=p[d]){m=y[d]>p[d]?1:-1;break}return m}function h(y,p,g,E){for(var d=0;g--;)y[g]-=d,d=y[g]<p[g]?1:0,y[g]=d*E+y[g]-p[g];for(;!y[0]&&y.length>1;y.splice(0,1));}return function(y,p,g,E,d){var m,b,v,L,A,k,D,H,K,F,W,J,Mt,ai,ci,ye,nt,de=y.s==p.s?1:-1,ie=y.c,j=p.c;if(!ie||!ie[0]||!j||!j[0])return new S(!y.s||!p.s||(ie?j&&ie[0]==j[0]:!j)?NaN:ie&&ie[0]==0||!j?de*0:de/0);for(H=new S(de),K=H.c=[],b=y.e-p.e,de=g+b+1,d||(d=fe,b=ce(y.e/P)-ce(p.e/P),de=de/P|0),v=0;j[v]==(ie[v]||0);v++);if(j[v]>(ie[v]||0)&&b--,de<0)K.push(1),L=!0;else{for(ai=ie.length,ye=j.length,v=0,de+=2,A=ae(d/(j[0]+1)),A>1&&(j=a(j,A,d),ie=a(ie,A,d),ye=j.length,ai=ie.length),Mt=ye,F=ie.slice(0,ye),W=F.length;W<ye;F[W++]=0);nt=j.slice(),nt=[0].concat(nt),ci=j[0],j[1]>=d/2&&ci++;do{if(A=0,m=c(j,F,ye,W),m<0){if(J=F[0],ye!=W&&(J=J*d+(F[1]||0)),A=ae(J/ci),A>1)for(A>=d&&(A=d-1),k=a(j,A,d),D=k.length,W=F.length;c(k,F,D,W)==1;)A--,h(k,ye<D?nt:j,D,d),D=k.length,m=1;else A==0&&(m=A=1),k=j.slice(),D=k.length;if(D<W&&(k=[0].concat(k)),h(F,k,W,d),W=F.length,m==-1)for(;c(j,F,ye,W)<1;)A++,h(F,ye<W?nt:j,W,d),W=F.length}else m===0&&(A++,F=[0]);K[v++]=A,F[0]?F[W++]=ie[Mt]||0:(F=[ie[Mt]],W=1)}while((Mt++<ai||F[0]!=null)&&de--);L=F[0]!=null,K[0]||K.splice(0,1)}if(d==fe){for(v=1,de=K[0];de>=10;de/=10,v++);ue(H,g+(H.e=v+b*P-1)+1,E,L)}else H.e=b,H.r=+L;return H}})();function Q(a,c,h,y){var p,g,E,d,m;if(h==null?h=l:q(h,0,8),!a.c)return a.toString();if(p=a.c[0],E=a.e,c==null)m=he(a.c),m=y==1||y==2&&(E<=u||E>=f)?wt(m,E):Ee(m,E,"0");else if(a=ue(new S(a),c,h),g=a.e,m=he(a.c),d=m.length,y==1||y==2&&(c<=g||g<=u)){for(;d<c;m+="0",d++);m=wt(m,g)}else if(c-=E+(y===2&&g>E),m=Ee(m,g,"0"),g+1>d){if(--c>0)for(m+=".";c--;m+="0");}else if(c+=g-d,c>0)for(g+1==d&&(m+=".");c--;m+="0");return a.s<0&&p?"-"+m:m}function re(a,c){for(var h,y,p=1,g=new S(a[0]);p<a.length;p++)y=new S(a[p]),(!y.s||(h=Ne(g,y))===c||h===0&&g.s===c)&&(g=y);return g}function ve(a,c,h){for(var y=1,p=c.length;!c[--p];c.pop());for(p=c[0];p>=10;p/=10,y++);return(h=y+h*P-1)>w?a.c=a.e=null:h<x?a.c=[a.e=0]:(a.e=h,a.c=c),a}s=(function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,h=/^\.([^.]+)$/,y=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,d,m){var b,v=d?E:E.replace(p,"");if(y.test(v))g.s=isNaN(v)?null:v<0?-1:1;else{if(!d&&(v=v.replace(a,function(L,A,k){return b=(k=k.toLowerCase())=="x"?16:k=="b"?2:8,!m||m==b?A:L}),m&&(b=m,v=v.replace(c,"$1").replace(h,"0.$1")),E!=v))return new S(v,b);if(S.DEBUG)throw Error(se+"Not a"+(m?" base "+m:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function ue(a,c,h,y){var p,g,E,d,m,b,v,L=a.c,A=ti;if(L){e:{for(p=1,d=L[0];d>=10;d/=10,p++);if(g=c-p,g<0)g+=P,E=c,m=L[b=0],v=ae(m/A[p-E-1]%10);else if(b=Jt((g+1)/P),b>=L.length)if(y){for(;L.length<=b;L.push(0));m=v=0,p=1,g%=P,E=g-P+1}else break e;else{for(m=d=L[b],p=1;d>=10;d/=10,p++);g%=P,E=g-P+p,v=E<0?0:ae(m/A[p-E-1]%10)}if(y=y||c<0||L[b+1]!=null||(E<0?m:m%A[p-E-1]),y=h<4?(v||y)&&(h==0||h==(a.s<0?3:2)):v>5||v==5&&(h==4||y||h==6&&(g>0?E>0?m/A[p-E]:0:L[b-1])%10&1||h==(a.s<0?8:7)),c<1||!L[0])return L.length=0,y?(c-=a.e+1,L[0]=A[(P-c%P)%P],a.e=-c||0):L[0]=a.e=0,a;if(g==0?(L.length=b,d=1,b--):(L.length=b+1,d=A[P-g],L[b]=E>0?ae(m/A[p-E]%A[E])*d:0),y)for(;;)if(b==0){for(g=1,E=L[0];E>=10;E/=10,g++);for(E=L[0]+=d,d=1;E>=10;E/=10,d++);g!=d&&(a.e++,L[0]==fe&&(L[0]=1));break}else{if(L[b]+=d,L[b]!=fe)break;L[b--]=0,d=1}for(g=L.length;L[--g]===0;L.pop());}a.e>w?a.c=a.e=null:a.e<x&&(a.c=[a.e=0])}return a}function xe(a){var c,h=a.e;return h===null?a.toString():(c=he(a.c),c=h<=u||h>=f?wt(c,h):Ee(c,h,"0"),a.s<0?"-"+c:c)}return r.absoluteValue=r.abs=function(){var a=new S(this);return a.s<0&&(a.s=1),a},r.comparedTo=function(a,c){return Ne(this,new S(a,c))},r.decimalPlaces=r.dp=function(a,c){var h,y,p,g=this;if(a!=null)return q(a,0,X),c==null?c=l:q(c,0,8),ue(new S(g),a+g.e+1,c);if(!(h=g.c))return null;if(y=((p=h.length-1)-ce(this.e/P))*P,p=h[p])for(;p%10==0;p/=10,y--);return y<0&&(y=0),y},r.dividedBy=r.div=function(a,c){return e(this,new S(a,c),o,l)},r.dividedToIntegerBy=r.idiv=function(a,c){return e(this,new S(a,c),0,1)},r.exponentiatedBy=r.pow=function(a,c){var h,y,p,g,E,d,m,b,v,L=this;if(a=new S(a),a.c&&!a.isInteger())throw Error(se+"Exponent not an integer: "+xe(a));if(c!=null&&(c=new S(c)),d=a.e>14,!L.c||!L.c[0]||L.c[0]==1&&!L.e&&L.c.length==1||!a.c||!a.c[0])return v=new S(Math.pow(+xe(L),d?a.s*(2-Et(a)):+xe(a))),c?v.mod(c):v;if(m=a.s<0,c){if(c.c?!c.c[0]:!c.s)return new S(NaN);y=!m&&L.isInteger()&&c.isInteger(),y&&(L=L.mod(c))}else{if(a.e>9&&(L.e>0||L.e<-1||(L.e==0?L.c[0]>1||d&&L.c[1]>=24e7:L.c[0]<8e13||d&&L.c[0]<=9999975e7)))return g=L.s<0&&Et(a)?-0:0,L.e>-1&&(g=1/g),new S(m?1/g:g);T&&(g=Jt(T/P+2))}for(d?(h=new S(.5),m&&(a.s=1),b=Et(a)):(p=Math.abs(+xe(a)),b=p%2),v=new S(n);;){if(b){if(v=v.times(L),!v.c)break;g?v.c.length>g&&(v.c.length=g):y&&(v=v.mod(c))}if(p){if(p=ae(p/2),p===0)break;b=p%2}else if(a=a.times(h),ue(a,a.e+1,1),a.e>14)b=Et(a);else{if(p=+xe(a),p===0)break;b=p%2}L=L.times(L),g?L.c&&L.c.length>g&&(L.c.length=g):y&&(L=L.mod(c))}return y?v:(m&&(v=n.div(v)),c?v.mod(c):g?ue(v,T,l,E):v)},r.integerValue=function(a){var c=new S(this);return a==null?a=l:q(a,0,8),ue(c,c.e+1,a)},r.isEqualTo=r.eq=function(a,c){return Ne(this,new S(a,c))===0},r.isFinite=function(){return!!this.c},r.isGreaterThan=r.gt=function(a,c){return Ne(this,new S(a,c))>0},r.isGreaterThanOrEqualTo=r.gte=function(a,c){return(c=Ne(this,new S(a,c)))===1||c===0},r.isInteger=function(){return!!this.c&&ce(this.e/P)>this.c.length-2},r.isLessThan=r.lt=function(a,c){return Ne(this,new S(a,c))<0},r.isLessThanOrEqualTo=r.lte=function(a,c){return(c=Ne(this,new S(a,c)))===-1||c===0},r.isNaN=function(){return!this.s},r.isNegative=function(){return this.s<0},r.isPositive=function(){return this.s>0},r.isZero=function(){return!!this.c&&this.c[0]==0},r.minus=function(a,c){var h,y,p,g,E=this,d=E.s;if(a=new S(a,c),c=a.s,!d||!c)return new S(NaN);if(d!=c)return a.s=-c,E.plus(a);var m=E.e/P,b=a.e/P,v=E.c,L=a.c;if(!m||!b){if(!v||!L)return v?(a.s=-c,a):new S(L?E:NaN);if(!v[0]||!L[0])return L[0]?(a.s=-c,a):new S(v[0]?E:l==3?-0:0)}if(m=ce(m),b=ce(b),v=v.slice(),d=m-b){for((g=d<0)?(d=-d,p=v):(b=m,p=L),p.reverse(),c=d;c--;p.push(0));p.reverse()}else for(y=(g=(d=v.length)<(c=L.length))?d:c,d=c=0;c<y;c++)if(v[c]!=L[c]){g=v[c]<L[c];break}if(g&&(p=v,v=L,L=p,a.s=-a.s),c=(y=L.length)-(h=v.length),c>0)for(;c--;v[h++]=0);for(c=fe-1;y>d;){if(v[--y]<L[y]){for(h=y;h&&!v[--h];v[h]=c);--v[h],v[y]+=fe}v[y]-=L[y]}for(;v[0]==0;v.splice(0,1),--b);return v[0]?ve(a,v,b):(a.s=l==3?-1:1,a.c=[a.e=0],a)},r.modulo=r.mod=function(a,c){var h,y,p=this;return a=new S(a,c),!p.c||!a.s||a.c&&!a.c[0]?new S(NaN):!a.c||p.c&&!p.c[0]?new S(p):(M==9?(y=a.s,a.s=1,h=e(p,a,0,3),a.s=y,h.s*=y):h=e(p,a,0,M),a=p.minus(h.times(a)),!a.c[0]&&M==1&&(a.s=p.s),a)},r.multipliedBy=r.times=function(a,c){var h,y,p,g,E,d,m,b,v,L,A,k,D,H,K,F=this,W=F.c,J=(a=new S(a,c)).c;if(!W||!J||!W[0]||!J[0])return!F.s||!a.s||W&&!W[0]&&!J||J&&!J[0]&&!W?a.c=a.e=a.s=null:(a.s*=F.s,!W||!J?a.c=a.e=null:(a.c=[0],a.e=0)),a;for(y=ce(F.e/P)+ce(a.e/P),a.s*=F.s,m=W.length,L=J.length,m<L&&(D=W,W=J,J=D,p=m,m=L,L=p),p=m+L,D=[];p--;D.push(0));for(H=fe,K=Te,p=L;--p>=0;){for(h=0,A=J[p]%K,k=J[p]/K|0,E=m,g=p+E;g>p;)b=W[--E]%K,v=W[E]/K|0,d=k*b+v*A,b=A*b+d%K*K+D[g]+h,h=(b/H|0)+(d/K|0)+k*v,D[g--]=b%H;D[g]=h}return h?++y:D.splice(0,1),ve(a,D,y)},r.negated=function(){var a=new S(this);return a.s=-a.s||null,a},r.plus=function(a,c){var h,y=this,p=y.s;if(a=new S(a,c),c=a.s,!p||!c)return new S(NaN);if(p!=c)return a.s=-c,y.minus(a);var g=y.e/P,E=a.e/P,d=y.c,m=a.c;if(!g||!E){if(!d||!m)return new S(p/0);if(!d[0]||!m[0])return m[0]?a:new S(d[0]?y:p*0)}if(g=ce(g),E=ce(E),d=d.slice(),p=g-E){for(p>0?(E=g,h=m):(p=-p,h=d),h.reverse();p--;h.push(0));h.reverse()}for(p=d.length,c=m.length,p-c<0&&(h=m,m=d,d=h,c=p),p=0;c;)p=(d[--c]=d[c]+m[c]+p)/fe|0,d[c]=fe===d[c]?0:d[c]%fe;return p&&(d=[p].concat(d),++E),ve(a,d,E)},r.precision=r.sd=function(a,c){var h,y,p,g=this;if(a!=null&&a!==!!a)return q(a,1,X),c==null?c=l:q(c,0,8),ue(new S(g),a,c);if(!(h=g.c))return null;if(p=h.length-1,y=p*P+1,p=h[p]){for(;p%10==0;p/=10,y--);for(p=h[0];p>=10;p/=10,y++);}return a&&g.e+1>y&&(y=g.e+1),y},r.shiftedBy=function(a){return q(a,-ei,ei),this.times("1e"+a)},r.squareRoot=r.sqrt=function(){var a,c,h,y,p,g=this,E=g.c,d=g.s,m=g.e,b=o+4,v=new S("0.5");if(d!==1||!E||!E[0])return new S(!d||d<0&&(!E||E[0])?NaN:E?g:1/0);if(d=Math.sqrt(+xe(g)),d==0||d==1/0?(c=he(E),(c.length+m)%2==0&&(c+="0"),d=Math.sqrt(+c),m=ce((m+1)/2)-(m<0||m%2),d==1/0?c="5e"+m:(c=d.toExponential(),c=c.slice(0,c.indexOf("e")+1)+m),h=new S(c)):h=new S(d+""),h.c[0]){for(m=h.e,d=m+b,d<3&&(d=0);;)if(p=h,h=v.times(p.plus(e(g,p,b,1))),he(p.c).slice(0,d)===(c=he(h.c)).slice(0,d))if(h.e<m&&--d,c=c.slice(d-3,d+1),c=="9999"||!y&&c=="4999"){if(!y&&(ue(p,p.e+o+2,0),p.times(p).eq(g))){h=p;break}b+=4,d+=4,y=1}else{(!+c||!+c.slice(1)&&c.charAt(0)=="5")&&(ue(h,h.e+o+2,1),a=!h.times(h).eq(g));break}}return ue(h,h.e+o+1,l,a)},r.toExponential=function(a,c){return a!=null&&(q(a,0,X),a++),Q(this,a,c,1)},r.toFixed=function(a,c){return a!=null&&(q(a,0,X),a=a+this.e+1),Q(this,a,c)},r.toFormat=function(a,c,h){var y,p=this;if(h==null)a!=null&&c&&typeof c=="object"?(h=c,c=null):a&&typeof a=="object"?(h=a,a=c=null):h=R;else if(typeof h!="object")throw Error(se+"Argument not an object: "+h);if(y=p.toFixed(a,c),p.c){var g,E=y.split("."),d=+h.groupSize,m=+h.secondaryGroupSize,b=h.groupSeparator||"",v=E[0],L=E[1],A=p.s<0,k=A?v.slice(1):v,D=k.length;if(m&&(g=d,d=m,m=g,D-=g),d>0&&D>0){for(g=D%d||d,v=k.substr(0,g);g<D;g+=d)v+=b+k.substr(g,d);m>0&&(v+=b+k.slice(g)),A&&(v="-"+v)}y=L?v+(h.decimalSeparator||"")+((m=+h.fractionGroupSize)?L.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(h.fractionGroupSeparator||"")):L):v}return(h.prefix||"")+y+(h.suffix||"")},r.toFraction=function(a){var c,h,y,p,g,E,d,m,b,v,L,A,k=this,D=k.c;if(a!=null&&(d=new S(a),!d.isInteger()&&(d.c||d.s!==1)||d.lt(n)))throw Error(se+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+xe(d));if(!D)return new S(k);for(c=new S(n),b=h=new S(n),y=m=new S(n),A=he(D),g=c.e=A.length-k.e-1,c.c[0]=ti[(E=g%P)<0?P+E:E],a=!a||d.comparedTo(c)>0?g>0?c:b:d,E=w,w=1/0,d=new S(A),m.c[0]=0;v=e(d,c,0,1),p=h.plus(v.times(y)),p.comparedTo(a)!=1;)h=y,y=p,b=m.plus(v.times(p=b)),m=p,c=d.minus(v.times(p=c)),d=p;return p=e(a.minus(h),y,0,1),m=m.plus(p.times(b)),h=h.plus(p.times(y)),m.s=b.s=k.s,g=g*2,L=e(b,y,g,l).minus(k).abs().comparedTo(e(m,h,g,l).minus(k).abs())<1?[b,y]:[m,h],w=E,L},r.toNumber=function(){return+xe(this)},r.toPrecision=function(a,c){return a!=null&&q(a,1,X),Q(this,a,c,2)},r.toString=function(a){var c,h=this,y=h.s,p=h.e;return p===null?y?(c="Infinity",y<0&&(c="-"+c)):c="NaN":(a==null?c=p<=u||p>=f?wt(he(h.c),p):Ee(he(h.c),p,"0"):a===10&&G?(h=ue(new S(h),o+p+1,l),c=Ee(he(h.c),h.e,"0")):(q(a,2,U.length,"Base"),c=t(Ee(he(h.c),p,"0"),10,a,y,!0)),y<0&&h.c[0]&&(c="-"+c)),c},r.valueOf=r.toJSON=function(){return xe(this)},r._isBigNumber=!0,r[Symbol.toStringTag]="BigNumber",r[Symbol.for("nodejs.util.inspect.custom")]=r.valueOf,i!=null&&S.set(i),S}function ce(i){var e=i|0;return i>0||i===e?e:e-1}function he(i){for(var e,t,s=1,r=i.length,n=i[0]+"";s<r;){for(e=i[s++]+"",t=P-e.length;t--;e="0"+e);n+=e}for(r=n.length;n.charCodeAt(--r)===48;);return n.slice(0,r+1||1)}function Ne(i,e){var t,s,r=i.c,n=e.c,o=i.s,l=e.s,u=i.e,f=e.e;if(!o||!l)return null;if(t=r&&!r[0],s=n&&!n[0],t||s)return t?s?0:-l:o;if(o!=l)return o;if(t=o<0,s=u==f,!r||!n)return s?0:!r^t?1:-1;if(!s)return u>f^t?1:-1;for(l=(u=r.length)<(f=n.length)?u:f,o=0;o<l;o++)if(r[o]!=n[o])return r[o]>n[o]^t?1:-1;return u==f?0:u>f^t?1:-1}function q(i,e,t,s){if(i<e||i>t||i!==ae(i))throw Error(se+(s||"Argument")+(typeof i=="number"?i<e||i>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(i))}function Et(i){var e=i.c.length-1;return ce(i.e/P)==e&&i.c[e]%2!=0}function wt(i,e){return(i.length>1?i.charAt(0)+"."+i.slice(1):i)+(e<0?"e":"e+")+e}function Ee(i,e,t){var s,r;if(e<0){for(r=t+".";++e;r+=t);i=r+i}else if(s=i.length,++e>s){for(r=t,e-=s;--e;r+=t);i+=r}else e<s&&(i=i.slice(0,e)+"."+i.slice(e));return i}var me=is(),Nr=class{key;left=null;right=null;constructor(i){this.key=i}},tt=class extends Nr{constructor(i){super(i)}},Pr=class{size=0;modificationCount=0;splayCount=0;splay(i){const e=this.root;if(e==null)return this.compare(i,i),-1;let t=null,s=null,r=null,n=null,o=e;const l=this.compare;let u;for(;;)if(u=l(o.key,i),u>0){let f=o.left;if(f==null||(u=l(f.key,i),u>0&&(o.left=f.right,f.right=o,o=f,f=o.left,f==null)))break;t==null?s=o:t.left=o,t=o,o=f}else if(u<0){let f=o.right;if(f==null||(u=l(f.key,i),u<0&&(o.right=f.left,f.left=o,o=f,f=o.right,f==null)))break;r==null?n=o:r.right=o,r=o,o=f}else break;return r!=null&&(r.right=o.left,o.left=n),t!=null&&(t.left=o.right,o.right=s),this.root!==o&&(this.root=o,this.splayCount++),u}splayMin(i){let e=i,t=e.left;for(;t!=null;){const s=t;e.left=s.right,s.right=e,e=s,t=e.left}return e}splayMax(i){let e=i,t=e.right;for(;t!=null;){const s=t;e.right=s.left,s.left=e,e=s,t=e.right}return e}_delete(i){if(this.root==null||this.splay(i)!=0)return null;let t=this.root;const s=t,r=t.left;if(this.size--,r==null)this.root=t.right;else{const n=t.right;t=this.splayMax(r),t.right=n,this.root=t}return this.modificationCount++,s}addNewRoot(i,e){this.size++,this.modificationCount++;const t=this.root;if(t==null){this.root=i;return}e<0?(i.left=t,i.right=t.right,t.right=null):(i.right=t,i.left=t.left,t.left=null),this.root=i}_first(){const i=this.root;return i==null?null:(this.root=this.splayMin(i),this.root)}_last(){const i=this.root;return i==null?null:(this.root=this.splayMax(i),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(i){return this.validKey(i)&&this.splay(i)==0}defaultCompare(){return(i,e)=>i<e?-1:i>e?1:0}wrap(){return{getRoot:()=>this.root,setRoot:i=>{this.root=i},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:i=>{this.splayCount=i},splay:i=>this.splay(i),has:i=>this.has(i)}}},xt=class ot extends Pr{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(s=>s!=null&&s!=null)}delete(e){return this.validKey(e)?this._delete(e)!=null:!1}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let s;for(;s=t.next(),!s.done;)e(s.value,s.value,this)}add(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this}addAndReturn(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)<0)return this.root.key;let s=this.root.left;if(s==null)return null;let r=s.right;for(;r!=null;)s=r,r=s.right;return s.key}firstAfter(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)>0)return this.root.key;let s=this.root.right;if(s==null)return null;let r=s.left;for(;r!=null;)s=r,r=s.left;return s.key}retainAll(e){const t=new ot(this.compare,this.validKey),s=this.modificationCount;for(const r of e){if(s!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(r)&&this.splay(r)==0&&t.add(this.root.key)}t.size!=this.size&&(this.root=t.root,this.size=t.size,this.modificationCount++)}lookup(e){return!this.validKey(e)||this.splay(e)!=0?null:this.root.key}intersection(e){const t=new ot(this.compare,this.validKey);for(const s of this)e.has(s)&&t.add(s);return t}difference(e){const t=new ot(this.compare,this.validKey);for(const s of this)e.has(s)||t.add(s);return t}union(e){const t=this.clone();return t.addAll(e),t}clone(){const e=new ot(this.compare,this.validKey);return e.size=this.size,e.root=this.copyNode(this.root),e}copyNode(e){if(e==null)return null;function t(r,n){let o,l;do{if(o=r.left,l=r.right,o!=null){const u=new tt(o.key);n.left=u,t(o,u)}if(l!=null){const u=new tt(l.key);n.right=u,r=l,n=u}}while(l!=null)}const s=new tt(e.key);return t(e,s),s}toSet(){return this.clone()}entries(){return new Gr(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[Symbol.iterator](){return new Rr(this.wrap())}[Symbol.toStringTag]="[object Set]"},ss=class{tree;path=new Array;modificationCount=null;splayCount;constructor(i){this.tree=i,this.splayCount=i.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const i=this.path[this.path.length-1];return this.getValue(i)}rebuildPath(i){this.path.splice(0,this.path.length),this.tree.splay(i),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(i){for(;i!=null;)this.path.push(i),i=i.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let t=this.tree.getRoot();for(;t!=null;)this.path.push(t),t=t.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let i=this.path[this.path.length-1],e=i.right;if(e!=null){for(;e!=null;)this.path.push(e),e=e.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===i;)i=this.path.pop();return this.path.length>0}},Rr=class extends ss{getValue(i){return i.key}},Gr=class extends ss{getValue(i){return[i.key,i.key]}},rs=i=>()=>i,ii=i=>{const e=i?(t,s)=>s.minus(t).abs().isLessThanOrEqualTo(i):rs(!1);return(t,s)=>e(t,s)?0:t.comparedTo(s)};function Ur(i){const e=i?(t,s,r,n,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(n.minus(s).exponentiatedBy(2).plus(o.minus(r).exponentiatedBy(2)).times(i)):rs(!1);return(t,s,r)=>{const n=t.x,o=t.y,l=r.x,u=r.y,f=o.minus(u).times(s.x.minus(l)).minus(n.minus(l).times(s.y.minus(u)));return e(f,n,o,l,u)?0:f.comparedTo(0)}}var Fr=i=>i,Br=i=>{if(i){const e=new xt(ii(i)),t=new xt(ii(i)),s=(n,o)=>o.addAndReturn(n),r=n=>({x:s(n.x,e),y:s(n.y,t)});return r({x:new me(0),y:new me(0)}),r}return Fr},si=i=>({set:e=>{we=si(e)},reset:()=>si(i),compare:ii(i),snap:Br(i),orient:Ur(i)}),we=si(),it=(i,e)=>i.ll.x.isLessThanOrEqualTo(e.x)&&e.x.isLessThanOrEqualTo(i.ur.x)&&i.ll.y.isLessThanOrEqualTo(e.y)&&e.y.isLessThanOrEqualTo(i.ur.y),ri=(i,e)=>{if(e.ur.x.isLessThan(i.ll.x)||i.ur.x.isLessThan(e.ll.x)||e.ur.y.isLessThan(i.ll.y)||i.ur.y.isLessThan(e.ll.y))return null;const t=i.ll.x.isLessThan(e.ll.x)?e.ll.x:i.ll.x,s=i.ur.x.isLessThan(e.ur.x)?i.ur.x:e.ur.x,r=i.ll.y.isLessThan(e.ll.y)?e.ll.y:i.ll.y,n=i.ur.y.isLessThan(e.ur.y)?i.ur.y:e.ur.y;return{ll:{x:t,y:r},ur:{x:s,y:n}}},Lt=(i,e)=>i.x.times(e.y).minus(i.y.times(e.x)),ns=(i,e)=>i.x.times(e.x).plus(i.y.times(e.y)),St=i=>ns(i,i).sqrt(),Dr=(i,e,t)=>{const s={x:e.x.minus(i.x),y:e.y.minus(i.y)},r={x:t.x.minus(i.x),y:t.y.minus(i.y)};return Lt(r,s).div(St(r)).div(St(s))},Wr=(i,e,t)=>{const s={x:e.x.minus(i.x),y:e.y.minus(i.y)},r={x:t.x.minus(i.x),y:t.y.minus(i.y)};return ns(r,s).div(St(r)).div(St(s))},os=(i,e,t)=>e.y.isZero()?null:{x:i.x.plus(e.x.div(e.y).times(t.minus(i.y))),y:t},ls=(i,e,t)=>e.x.isZero()?null:{x:t,y:i.y.plus(e.y.div(e.x).times(t.minus(i.x)))},zr=(i,e,t,s)=>{if(e.x.isZero())return ls(t,s,i.x);if(s.x.isZero())return ls(i,e,t.x);if(e.y.isZero())return os(t,s,i.y);if(s.y.isZero())return os(i,e,t.y);const r=Lt(e,s);if(r.isZero())return null;const n={x:t.x.minus(i.x),y:t.y.minus(i.y)},o=Lt(n,e).div(r),l=Lt(n,s).div(r),u=i.x.plus(l.times(e.x)),f=t.x.plus(o.times(s.x)),x=i.y.plus(l.times(e.y)),w=t.y.plus(o.times(s.y)),_=u.plus(f).div(2),M=x.plus(w).div(2);return{x:_,y:M}},ge=class ys{point;isLeft;segment;otherSE;consumedBy;static compare(e,t){const s=ys.comparePoints(e.point,t.point);return s!==0?s:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:$t.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let s=0,r=t.length;s<r;s++){const n=t[s];this.point.events.push(n),n.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const s=this.point.events[t];if(s.segment.consumedBy===void 0)for(let r=t+1;r<e;r++){const n=this.point.events[r];n.consumedBy===void 0&&s.otherSE.point.events===n.otherSE.point.events&&s.segment.consume(n.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,s=this.point.events.length;t<s;t++){const r=this.point.events[t];r!==this&&!r.segment.ringOut&&r.segment.isInResult()&&e.push(r)}return e}getLeftmostComparator(e){const t=new Map,s=r=>{const n=r.otherSE;t.set(r,{sine:Dr(this.point,e.point,n.point),cosine:Wr(this.point,e.point,n.point)})};return(r,n)=>{t.has(r)||s(r),t.has(n)||s(n);const{sine:o,cosine:l}=t.get(r),{sine:u,cosine:f}=t.get(n);return o.isGreaterThanOrEqualTo(0)&&u.isGreaterThanOrEqualTo(0)?l.isLessThan(f)?1:l.isGreaterThan(f)?-1:0:o.isLessThan(0)&&u.isLessThan(0)?l.isLessThan(f)?-1:l.isGreaterThan(f)?1:0:u.isLessThan(o)?-1:u.isGreaterThan(o)?1:0}}},qr=class hi{events;poly;_isExteriorRing;_enclosingRing;static factory(e){const t=[];for(let s=0,r=e.length;s<r;s++){const n=e[s];if(!n.isInResult()||n.ringOut)continue;let o=null,l=n.leftSE,u=n.rightSE;const f=[l],x=l.point,w=[];for(;o=l,l=u,f.push(l),l.point!==x;)for(;;){const _=l.getAvailableLinkedEvents();if(_.length===0){const R=f[0].point,U=f[f.length-1].point;throw new Error(`Unable to complete output ring starting at [${R.x}, ${R.y}]. Last matching segment found ends at [${U.x}, ${U.y}].`)}if(_.length===1){u=_[0].otherSE;break}let M=null;for(let R=0,U=w.length;R<U;R++)if(w[R].point===l.point){M=R;break}if(M!==null){const R=w.splice(M)[0],U=f.splice(R.index);U.unshift(U[0].otherSE),t.push(new hi(U.reverse()));continue}w.push({index:f.length,point:l.point});const T=l.getLeftmostComparator(o);u=_.sort(T)[0].otherSE;break}t.push(new hi(f))}return t}constructor(e){this.events=e;for(let t=0,s=e.length;t<s;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let f=1,x=this.events.length-1;f<x;f++){const w=this.events[f].point,_=this.events[f+1].point;we.orient(w,e,_)!==0&&(t.push(w),e=w)}if(t.length===1)return null;const s=t[0],r=t[1];we.orient(s,e,r)===0&&t.shift(),t.push(t[0]);const n=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,l=this.isExteriorRing()?t.length:-1,u=[];for(let f=o;f!=l;f+=n)u.push([t[f].x.toNumber(),t[f].y.toNumber()]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let r=1,n=this.events.length;r<n;r++){const o=this.events[r];ge.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),s=t?t.prevInResult():null;for(;;){if(!t)return null;if(!s)return t.ringOut;if(s.ringOut!==t.ringOut)return s.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=s.prevInResult(),s=t?t.prevInResult():null}}},as=class{exteriorRing;interiorRings;constructor(i){this.exteriorRing=i,i.poly=this,this.interiorRings=[]}addInterior(i){this.interiorRings.push(i),i.poly=this}getGeom(){const i=this.exteriorRing.getGeom();if(i===null)return null;const e=[i];for(let t=0,s=this.interiorRings.length;t<s;t++){const r=this.interiorRings[t].getGeom();r!==null&&e.push(r)}return e}},Hr=class{rings;polys;constructor(i){this.rings=i,this.polys=this._composePolys(i)}getGeom(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const s=this.polys[e].getGeom();s!==null&&i.push(s)}return i}_composePolys(i){const e=[];for(let t=0,s=i.length;t<s;t++){const r=i[t];if(!r.poly)if(r.isExteriorRing())e.push(new as(r));else{const n=r.enclosingRing();n?.poly||e.push(new as(n)),n?.poly?.addInterior(r)}}return e}},jr=class{queue;tree;segments;constructor(i,e=$t.compare){this.queue=i,this.tree=new xt(e),this.segments=[]}process(i){const e=i.segment,t=[];if(i.consumedBy)return i.isLeft?this.queue.delete(i.otherSE):this.tree.delete(e),t;i.isLeft&&this.tree.add(e);let s=e,r=e;do s=this.tree.lastBefore(s);while(s!=null&&s.consumedBy!=null);do r=this.tree.firstAfter(r);while(r!=null&&r.consumedBy!=null);if(i.isLeft){let n=null;if(s){const l=s.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(n=l),!s.isAnEndpoint(l))){const u=this._splitSafely(s,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}let o=null;if(r){const l=r.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(o=l),!r.isAnEndpoint(l))){const u=this._splitSafely(r,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}if(n!==null||o!==null){let l=null;n===null?l=o:o===null?l=n:l=ge.comparePoints(n,o)<=0?n:o,this.queue.delete(e.rightSE),t.push(e.rightSE);const u=e.split(l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}t.length>0?(this.tree.delete(e),t.push(i)):(this.segments.push(e),e.prev=s)}else{if(s&&r){const n=s.getIntersection(r);if(n!==null){if(!s.isAnEndpoint(n)){const o=this._splitSafely(s,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}if(!r.isAnEndpoint(n)){const o=this._splitSafely(r,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}}}this.tree.delete(e)}return t}_splitSafely(i,e){this.tree.delete(i);const t=i.rightSE;this.queue.delete(t);const s=i.split(e);return s.push(t),i.consumedBy===void 0&&this.tree.add(i),s}},Vr=class{type;numMultiPolys;run(i,e,t){st.type=i;const s=[new hs(e,!0)];for(let f=0,x=t.length;f<x;f++)s.push(new hs(t[f],!1));if(st.numMultiPolys=s.length,st.type==="difference"){const f=s[0];let x=1;for(;x<s.length;)ri(s[x].bbox,f.bbox)!==null?x++:s.splice(x,1)}if(st.type==="intersection")for(let f=0,x=s.length;f<x;f++){const w=s[f];for(let _=f+1,M=s.length;_<M;_++)if(ri(w.bbox,s[_].bbox)===null)return[]}const r=new xt(ge.compare);for(let f=0,x=s.length;f<x;f++){const w=s[f].getSweepEvents();for(let _=0,M=w.length;_<M;_++)r.add(w[_])}const n=new jr(r);let o=null;for(r.size!=0&&(o=r.first(),r.delete(o));o;){const f=n.process(o);for(let x=0,w=f.length;x<w;x++){const _=f[x];_.consumedBy===void 0&&r.add(_)}r.size!=0?(o=r.first(),r.delete(o)):o=null}we.reset();const l=qr.factory(n.segments);return new Hr(l).getGeom()}},st=new Vr,_t=st,Zr=0,$t=class Tt{id;leftSE;rightSE;rings;windings;ringOut;consumedBy;prev;_prevInResult;_beforeState;_afterState;_isInResult;static compare(e,t){const s=e.leftSE.point.x,r=t.leftSE.point.x,n=e.rightSE.point.x,o=t.rightSE.point.x;if(o.isLessThan(s))return 1;if(n.isLessThan(r))return-1;const l=e.leftSE.point.y,u=t.leftSE.point.y,f=e.rightSE.point.y,x=t.rightSE.point.y;if(s.isLessThan(r)){if(u.isLessThan(l)&&u.isLessThan(f))return 1;if(u.isGreaterThan(l)&&u.isGreaterThan(f))return-1;const w=e.comparePoint(t.leftSE.point);if(w<0)return 1;if(w>0)return-1;const _=t.comparePoint(e.rightSE.point);return _!==0?_:-1}if(s.isGreaterThan(r)){if(l.isLessThan(u)&&l.isLessThan(x))return-1;if(l.isGreaterThan(u)&&l.isGreaterThan(x))return 1;const w=t.comparePoint(e.leftSE.point);if(w!==0)return w;const _=e.comparePoint(t.rightSE.point);return _<0?1:_>0?-1:1}if(l.isLessThan(u))return-1;if(l.isGreaterThan(u))return 1;if(n.isLessThan(o)){const w=t.comparePoint(e.rightSE.point);if(w!==0)return w}if(n.isGreaterThan(o)){const w=e.comparePoint(t.rightSE.point);if(w<0)return 1;if(w>0)return-1}if(!n.eq(o)){const w=f.minus(l),_=n.minus(s),M=x.minus(u),T=o.minus(r);if(w.isGreaterThan(_)&&M.isLessThan(T))return 1;if(w.isLessThan(_)&&M.isGreaterThan(T))return-1}return n.isGreaterThan(o)?1:n.isLessThan(o)||f.isLessThan(x)?-1:f.isGreaterThan(x)?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,s,r){this.id=++Zr,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=s,this.windings=r}static fromRing(e,t,s){let r,n,o;const l=ge.comparePoints(e,t);if(l<0)r=e,n=t,o=1;else if(l>0)r=t,n=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new ge(r,!0),f=new ge(n,!1);return new Tt(u,f,[s],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return we.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),s=e.bbox(),r=ri(t,s);if(r===null)return null;const n=this.leftSE.point,o=this.rightSE.point,l=e.leftSE.point,u=e.rightSE.point,f=it(t,l)&&this.comparePoint(l)===0,x=it(s,n)&&e.comparePoint(n)===0,w=it(t,u)&&this.comparePoint(u)===0,_=it(s,o)&&e.comparePoint(o)===0;if(x&&f)return _&&!w?o:!_&&w?u:null;if(x)return w&&n.x.eq(u.x)&&n.y.eq(u.y)?null:n;if(f)return _&&o.x.eq(l.x)&&o.y.eq(l.y)?null:l;if(_&&w)return null;if(_)return o;if(w)return u;const M=zr(n,this.vector(),l,e.vector());return M===null||!it(r,M)?null:we.snap(M)}split(e){const t=[],s=e.events!==void 0,r=new ge(e,!0),n=new ge(e,!1),o=this.rightSE;this.replaceRightSE(n),t.push(n),t.push(r);const l=new Tt(r,o,this.rings.slice(),this.windings.slice());return ge.comparePoints(l.leftSE.point,l.rightSE.point)>0&&l.swapEvents(),ge.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),s&&(r.checkForConsuming(),n.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,s=this.windings.length;t<s;t++)this.windings[t]*=-1}consume(e){let t=this,s=e;for(;t.consumedBy;)t=t.consumedBy;for(;s.consumedBy;)s=s.consumedBy;const r=Tt.compare(t,s);if(r!==0){if(r>0){const n=t;t=s,s=n}if(t.prev===s){const n=t;t=s,s=n}for(let n=0,o=s.rings.length;n<o;n++){const l=s.rings[n],u=s.windings[n],f=t.rings.indexOf(l);f===-1?(t.rings.push(l),t.windings.push(u)):t.windings[f]+=u}s.rings=null,s.windings=null,s.consumedBy=t,s.leftSE.consumedBy=t.leftSE,s.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,s=this._afterState.windings,r=this._afterState.multiPolys;for(let l=0,u=this.rings.length;l<u;l++){const f=this.rings[l],x=this.windings[l],w=t.indexOf(f);w===-1?(t.push(f),s.push(x)):s[w]+=x}const n=[],o=[];for(let l=0,u=t.length;l<u;l++){if(s[l]===0)continue;const f=t[l],x=f.poly;if(o.indexOf(x)===-1)if(f.isExterior)n.push(x);else{o.indexOf(x)===-1&&o.push(x);const w=n.indexOf(f.poly);w!==-1&&n.splice(w,1)}}for(let l=0,u=n.length;l<u;l++){const f=n[l].multiPoly;r.indexOf(f)===-1&&r.push(f)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(_t.type){case"union":{const s=e.length===0,r=t.length===0;this._isInResult=s!==r;break}case"intersection":{let s,r;e.length<t.length?(s=e.length,r=t.length):(s=t.length,r=e.length),this._isInResult=r===_t.numMultiPolys&&s<r;break}case"xor":{const s=Math.abs(e.length-t.length);this._isInResult=s%2===1;break}case"difference":{const s=r=>r.length===1&&r[0].isSubject;this._isInResult=s(e)!==s(t);break}}return this._isInResult}},cs=class{poly;isExterior;segments;bbox;constructor(i,e,t){if(!Array.isArray(i)||i.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=t,this.segments=[],typeof i[0][0]!="number"||typeof i[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const s=we.snap({x:new me(i[0][0]),y:new me(i[0][1])});this.bbox={ll:{x:s.x,y:s.y},ur:{x:s.x,y:s.y}};let r=s;for(let n=1,o=i.length;n<o;n++){if(typeof i[n][0]!="number"||typeof i[n][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const l=we.snap({x:new me(i[n][0]),y:new me(i[n][1])});l.x.eq(r.x)&&l.y.eq(r.y)||(this.segments.push($t.fromRing(r,l,this)),l.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=l.x),l.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=l.y),l.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=l.x),l.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=l.y),r=l)}(!s.x.eq(r.x)||!s.y.eq(r.y))&&this.segments.push($t.fromRing(r,s,this))}getSweepEvents(){const i=[];for(let e=0,t=this.segments.length;e<t;e++){const s=this.segments[e];i.push(s.leftSE),i.push(s.rightSE)}return i}},Kr=class{multiPoly;exteriorRing;interiorRings;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new cs(i[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let t=1,s=i.length;t<s;t++){const r=new cs(i[t],this,!1);r.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=r.bbox.ur.y),this.interiorRings.push(r)}this.multiPoly=e}getSweepEvents(){const i=this.exteriorRing.getSweepEvents();for(let e=0,t=this.interiorRings.length;e<t;e++){const s=this.interiorRings[e].getSweepEvents();for(let r=0,n=s.length;r<n;r++)i.push(s[r])}return i}},hs=class{isSubject;polys;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof i[0][0][0]=="number"&&(i=[i])}catch{}this.polys=[],this.bbox={ll:{x:new me(Number.POSITIVE_INFINITY),y:new me(Number.POSITIVE_INFINITY)},ur:{x:new me(Number.NEGATIVE_INFINITY),y:new me(Number.NEGATIVE_INFINITY)}};for(let t=0,s=i.length;t<s;t++){const r=new Kr(i[t],this);r.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=r.bbox.ur.y),this.polys.push(r)}this.isSubject=e}getSweepEvents(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const s=this.polys[e].getSweepEvents();for(let r=0,n=s.length;r<n;r++)i.push(s[r])}return i}},Yr=(i,...e)=>_t.run("union",i,e),Xr=(i,...e)=>_t.run("difference",i,e);we.set;function us(i,e,t){if(i!==null)for(var s,r,n,o,l,u,f,x=0,w=0,_,M=i.type,T=M==="FeatureCollection",R=M==="Feature",U=T?i.features.length:1,G=0;G<U;G++){f=T?i.features[G].geometry:R?i.geometry:i,_=f?f.type==="GeometryCollection":!1,l=_?f.geometries.length:1;for(var S=0;S<l;S++){var Q=0,re=0;if(o=_?f.geometries[S]:f,o!==null){u=o.coordinates;var ve=o.type;switch(x=0,ve){case null:break;case"Point":if(e(u,w,G,Q,re)===!1)return!1;w++,Q++;break;case"LineString":case"MultiPoint":for(s=0;s<u.length;s++){if(e(u[s],w,G,Q,re)===!1)return!1;w++,ve==="MultiPoint"&&Q++}ve==="LineString"&&Q++;break;case"Polygon":case"MultiLineString":for(s=0;s<u.length;s++){for(r=0;r<u[s].length-x;r++){if(e(u[s][r],w,G,Q,re)===!1)return!1;w++}ve==="MultiLineString"&&Q++,ve==="Polygon"&&re++}ve==="Polygon"&&Q++;break;case"MultiPolygon":for(s=0;s<u.length;s++){for(re=0,r=0;r<u[s].length;r++){for(n=0;n<u[s][r].length-x;n++){if(e(u[s][r][n],w,G,Q,re)===!1)return!1;w++}re++}Q++}break;case"GeometryCollection":for(s=0;s<o.geometries.length;s++)if(us(o.geometries[s],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function ni(i,e){var t,s,r,n,o,l,u,f,x,w,_=0,M=i.type==="FeatureCollection",T=i.type==="Feature",R=M?i.features.length:1;for(t=0;t<R;t++){for(l=M?i.features[t].geometry:T?i.geometry:i,f=M?i.features[t].properties:T?i.properties:{},x=M?i.features[t].bbox:T?i.bbox:void 0,w=M?i.features[t].id:T?i.id:void 0,u=l?l.type==="GeometryCollection":!1,o=u?l.geometries.length:1,r=0;r<o;r++){if(n=u?l.geometries[r]:l,n===null){if(e(null,_,f,x,w)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,_,f,x,w)===!1)return!1;break}case"GeometryCollection":{for(s=0;s<n.geometries.length;s++)if(e(n.geometries[s],_,f,x,w)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}_++}}function Qr(i,e){ni(i,function(t,s,r,n,o){var l=t===null?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return e(Je(t,r,{bbox:n,id:o}),s,0)===!1?!1:void 0}var u;switch(l){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var f=0;f<t.coordinates.length;f++){var x=t.coordinates[f],w={type:u,coordinates:x};if(e(Je(w,r),s,f)===!1)return!1}})}function Jr(i,e={}){const t=[];if(ni(i,r=>{t.push(r.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const s=Yr(t[0],...t.slice(1));return s.length===0?null:s.length===1?Qt(s[0],e.properties):es(s,e.properties)}var ds=Jr;function en(i,e={}){if(i.bbox!=null&&e.recompute!==!0)return i.bbox;const t=[1/0,1/0,-1/0,-1/0];return us(i,s=>{t[0]>s[0]&&(t[0]=s[0]),t[1]>s[1]&&(t[1]=s[1]),t[2]<s[0]&&(t[2]=s[0]),t[3]<s[1]&&(t[3]=s[1])}),t}var fs=en;function tn(i){const e=[];if(ni(i,r=>{e.push(r.coordinates)}),e.length<2)throw new Error("Must have at least two features");const t=i.features[0].properties||{},s=Xr(e[0],...e.slice(1));return s.length===0?null:s.length===1?Qt(s[0],t):es(s,t)}var sn=tn;function rn(i){if(!i)throw new Error("geojson is required");var e=[];return Qr(i,function(t){e.push(t)}),et(e)}var nn=rn;function ps(i){const e=sn(et([Qt([[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]]),i]));if(!e)return;e.properties={isMask:!0};const t=pt(fs(i)),s=(t[2]-t[0])/360/1e3,r=t[0]<-180,n=t[2]>180,o=nn(i);if(o.features.length>1&&(r||n))for(const l of o.features){const u=pt(fs(l));if(n&&u[0]<-180+s)for(const f of l.geometry.coordinates)for(const x of f)x[0]+=360-s;if(r&&u[2]>180-s)for(const f of l.geometry.coordinates)for(const x of f)x[0]-=360-s}return et([o.features.length<2?i:ds(o)??i,e])}const ms={continental_marine:4,country:4,major_landform:8,region:5,subregion:6,county:7,joint_municipality:8,joint_submunicipality:9,municipality:10,municipal_district:11,locality:12,neighbourhood:13,place:14,postal_code:14,road:16,poi:17,address:18,"poi.peak":15,"poi.shop":18,"poi.cafe":18,"poi.restaurant":18,"poi.aerodrome":13},gs={fill:{paint:{"fill-color":"#000","fill-opacity":.1},filter:["all",["==",["geometry-type"],"Polygon"],["has","isMask"]]},line:{layout:{"line-cap":"square"},paint:{"line-width":["case",["==",["geometry-type"],"Polygon"],2,3],"line-dasharray":[1,1],"line-color":"#3170fe"},filter:["!",["has","isMask"]]}},rt="mtlr-gc-full-geom",oi="mtlr-gc-full-geom-fill",li="mtlr-gc-full-geom-line";class on extends Le.Evented{#e={};#t;#i;constructor(e={}){super(),this.setOptions(e)}onAdd(e){this.#t=e,this.#i=e._container.ownerDocument.createElement("maptiler-geocoder"),this.#i.classList.add("maplibregl-geocoder"),this.#y(),this.#x();const t=e._container.ownerDocument.createElement("div");return t.classList.add("maplibregl-ctrl-geocoder","maplibregl-ctrl","maplibregl-ctrl-group"),t.style.position="relative",t.style.zIndex="3",t.appendChild(this.#i),setTimeout(()=>this.#i?.setOptions({openListOnTop:t.matches(".maplibregl-ctrl-bottom-left *, .maplibregl-ctrl-bottom-right *")})),t}onRemove(){this.#L(),this.#t=void 0,this.#i=void 0}getOptions(){return{...this.#e}}setOptions(e){Object.assign(this.#e,e),this.#y()}setQuery(e){this.#i?.setQuery(e)}submitQuery(e){this.#i?.submitQuery(e)}clearMap(){this.#n=[],this.#u(void 0,void 0)}clearList(){this.#i?.clearList()}setReverseMode(e){this.setOptions({reverseActive:e})}focus(e){this.#i?.focus(e)}blur(){this.#i?.blur()}#l=new Map;#c;#r;#n;#o;#m;#g={reversetoggle:e=>{const t=this.#t?.getCanvasContainer();t&&(t.style.cursor=e.detail.reverse?"crosshair":""),this.#s("reversetoggle",e.detail)},querychange:e=>{const t=e.detail.reverseCoords;this.#w(t?[t.decimalLongitude,t.decimalLatitude]:void 0),this.#s("querychange",e.detail)},queryclear:()=>{this.#w(void 0),this.#s("queryclear")},request:e=>{this.#s("request",e.detail)},response:e=>{this.#s("response",e.detail)},select:e=>{const t=e.detail.feature;t&&this.#d&&this.#e.flyToSelected&&this.#b(t.center,this.#h(t)),this.#n&&t&&this.#T(t),this.#s("select",e.detail)},pick:e=>{const t=e.detail.feature;t&&t.id!==this.#m&&this.#d&&(this.#S(t),this.#u(this.#n,t)),this.#m=t?.id,this.#s("pick",e.detail)},featuresshow:()=>{this.#s("featuresshow")},featureshide:()=>{this.#s("featureshide")},featureslisted:e=>{const t=e.detail.features;this.#n=t,this.#u(this.#n,void 0),this.#_(e),this.#s("featureslisted",e.detail)},featuresclear:()=>{this.#n=void 0,this.#u(void 0,void 0),this.#s("featuresclear")},focusin:()=>{this.#s("focusin")},focusout:()=>{this.#s("focusout")}};#v={render:()=>{const e=this.#t?.getZoom(),t=this.#t?.getCenter();this.#i?.handleMapChange(e&&t?[e,t.lng,t.lat]:void 0)},click:e=>{this.#i?.handleMapClick([e.lngLat.lng,e.lngLat.lat])},styledata:()=>{setTimeout(()=>{this.#o&&this.#f()})}};#y(){this.#i&&(this.#i.setOptions(this.#e),this.#i.fetchFullGeometryOnPick=this.#e.pickedResultStyle!=="marker-only")}#x(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.addEventListener(e,t);for(const[e,t]of Object.entries(this.#v))this.#t.on(e,t)}}#L(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.removeEventListener(e,t);for(const[e,t]of Object.entries(this.#v))this.#t.off(e,t)}}#s(e,t){return super.fire({type:e,...t??{}})}#S(e){e.bbox[0]===e.bbox[2]&&e.bbox[1]===e.bbox[3]?this.#b(e.center,this.#h(e)):this.#E(pt(e.bbox),50,this.#h(e))}#_({detail:{features:e,external:t}}){if(!e||e.length===0||!this.#d||this.#e.flyToFeatures===!1||this.#e.flyToFeatures==="never"||!t&&(this.#e.flyToFeatures===void 0||this.#e.flyToFeatures==="external"))return;const s=e.every(o=>o.matching_text),r=e.reduce((o,l)=>s||!l.matching_text?[Math.min(o[0],l.bbox[0]),Math.min(o[1],l.bbox[1]),Math.max(o[2],l.bbox[2]),Math.max(o[3],l.bbox[3])]:o,[180,90,-180,-90]),n=e.map(o=>this.#h(o)).filter(o=>o!==void 0).reduce((o,l)=>o===void 0?l:Math.max(o,l),void 0);this.#E(pt(r),50,n)}#h(e){if(e.bbox[0]!==e.bbox[2]||e.bbox[1]!==e.bbox[3])return;const t=e.id.replace(/\..*/,""),s=this.#e.zoom??ms;return(Array.isArray(e.properties?.categories)?e.properties.categories.reduce((r,n)=>{const o=s[t+"."+n];return r===void 0?o:o===void 0?r:Math.max(r,o)},void 0):void 0)??s[t]}get#d(){return!!this.#e.flyTo||this.#e.flyTo===void 0}get#$(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}get#M(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}#b(e,t){this.#t?.flyTo({center:e,...t?{zoom:t}:{},...this.#$})}#E(e,t,s){this.#t?.fitBounds([[e[0],e[1]],[e[2],e[3]]],{padding:t,...s?{maxZoom:s}:{},...this.#M})}#w(e){if(!(this.#e.marker===!1||this.#e.marker===null||!this.#t)){if(!e){this.#r?.remove(),this.#r=void 0;return}this.#r||(this.#e.marker instanceof Function?this.#r=this.#e.marker(this.#t)??void 0:(this.#r=this.#p(this.#e.marker).setLngLat(e).addTo(this.#t),this.#r.getElement().classList.add("marker-reverse"))),this.#r?.setLngLat(e)}}#u(e,t){if(!this.#t)return;for(const r of this.#l.values())r.remove();this.#l=new Map,this.#a(void 0);const s=()=>{if(!t||!this.#t||this.#e.marker===!1||this.#e.marker===null)return;const r=this.#e.marker instanceof Function?this.#e.marker(this.#t,t):this.#p(this.#e.marker).setLngLat(t.center).addTo(this.#t);r&&this.#l.set(t,r)};if(t?.geometry.type==="GeometryCollection"){const r=t.geometry.geometries.filter(n=>n.type==="Polygon"||n.type==="MultiPolygon");if(r.length>0){const n=ds(et(r.map(o=>Je(o))));if(n){const o=ps({...t,geometry:n.geometry});o&&this.#a(o)}}else{const n=t.geometry.geometries.filter(o=>o.type==="LineString"||o.type==="MultiLineString");n.length>0&&this.#a({...t,geometry:{type:"GeometryCollection",geometries:n}})}}else if(t?.geometry.type.endsWith("Polygon")){const r=ps(t);r&&this.#a(r),this.#e.pickedResultStyle==="full-geometry-including-polygon-center-marker"&&s()}else t?.geometry.type.endsWith("LineString")?this.#a(t):t?.geometry.type.endsWith("Point")&&s();if(this.#e.showResultMarkers!==!1&&this.#e.showResultMarkers!==null)for(const r of e??[]){if(r.id===t?.id||r.place_type.includes("reverse"))continue;let n;if(this.#e.showResultMarkers instanceof Function){if(n=this.#e.showResultMarkers(this.#t,r),!n)continue}else n=this.#p(this.#e.showResultMarkers).setLngLat(r.center).setPopup(new Le.Popup({offset:[1,-27],closeButton:!1,closeOnMove:!0,className:"maptiler-gc-popup"}).setText(r.place_type[0]==="reverse"?r.place_name:r.place_name.replace(/,.*/,""))).addTo(this.#t),n.getElement().classList.add("marker-interactive");const o=n.getElement();o.addEventListener("click",l=>{l.stopPropagation(),this.#s("markerclick",{feature:r,marker:n})}),o.addEventListener("mouseenter",()=>{this.#s("markermouseenter",{feature:r,marker:n}),n.togglePopup()}),o.addEventListener("mouseleave",()=>{this.#s("markermouseleave",{feature:r,marker:n}),n.togglePopup()}),o.classList.toggle("marker-fuzzy",!!r.matching_text),this.#l.set(r,n)}}#T(e){this.#c?.getElement().classList.toggle("marker-selected",!1),this.#c=void 0,this.#e.markerOnSelected!==!1&&(this.#c=this.#l.get(e),this.#c?.getElement().classList.toggle("marker-selected",!0))}#f(){if(!this.#t?.loaded){this.#t?.once("load",()=>{this.#f()});return}const e=this.#A(),t=this.#t.getSource(rt);!e?.fill&&!e?.line||!t&&!this.#o||(t?t.setData(this.#o??et([])):this.#o&&this.#t.addSource(rt,{type:"geojson",data:this.#o}),!this.#t.getLayer(oi)&&e.fill&&this.#t.addLayer({...e.fill,id:oi,type:"fill",source:rt}),!this.#t.getLayer(li)&&e.line&&this.#t.addLayer({...e.line,id:li,type:"line",source:rt}))}#a(e){this.#o=e,this.#f()}#p(e){return typeof e!="object"&&(e={element:this.#t?._container.ownerDocument.createElement("maptiler-geocode-marker"),offset:[1,-13]}),new Le.Marker(e)}#A(){const{fullGeometryStyle:e}=this.#e;if(e===!0||e===void 0)return gs;if(!(e===!1||e===null))return e}}class vs extends on{#e;constructor(e={}){super(e)}onAdd(e){this.#e=e,e.telemetry.registerModule(kr,Or);const t=this.getOptions(),{primaryLanguage:s,apiKey:r}=e.getSdkConfig();if(t.apiKey===void 0&&this.setOptions({apiKey:r}),t.language===void 0){const o=s.code?.match(/^([a-z]{2,3})($|_|-)/);o&&this.setOptions({language:o[1]})}const n=super.onAdd(e);return n.classList.add("maptiler-ctrl-geocoder"),n.querySelector("maptiler-geocoder")?.classList.add("maptiler-geocoder"),n}onRemove(){super.onRemove(),this.#e=void 0}setOptions(e){const t=e.adjustUrl;super.setOptions({...e,adjustUrl:s=>{t?.(s);const r=this.getOptions();(Le.config.session?e.session!==!1:e.session===!0)&&this.#e&&(!r.apiUrl||new URL(r.apiUrl).host===new URL("https://api.maptiler.com/geocoding").host)&&s.searchParams.append("mtsid",this.#e.getMaptilerSessionId())}})}}$.DEFAULT_GEOMETRY_STYLE=gs,$.GeocodingControl=vs,$.MaptilerGeocodingControl=vs,$.RESULT_LAYER_FILL=oi,$.RESULT_LAYER_LINE=li,$.RESULT_SOURCE=rt,$.ZOOM_DEFAULTS=ms,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
281
281
  //# sourceMappingURL=maptilersdk.umd.js.map
@@ -527,7 +527,7 @@ let l = class extends O {
527
527
  h(this, n, je).call(this, t);
528
528
  }}
529
529
  .missingIconsCache=${w(this, ae)}
530
- .iconsBaseUrl=${this.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.8/icons/"}
530
+ .iconsBaseUrl=${this.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.9/icons/"}
531
531
  />
532
532
  `
533
533
  )}
@@ -965,7 +965,7 @@ const Bt = {
965
965
  "poi.aerodrome": 13
966
966
  // TODO add many more
967
967
  }, Gt = (t) => (e) => {
968
- const i = t.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.8/icons/", o = e.getProperties(), s = e.getGeometry()?.getType(), r = o.isMask ? 0 : s === "LineString" || s === "MultiLineString" ? 3 : 2;
968
+ const i = t.iconsBaseUrl ?? "https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.9/icons/", o = e.getProperties(), s = e.getGeometry()?.getType(), r = o.isMask ? 0 : s === "LineString" || s === "MultiLineString" ? 3 : 2;
969
969
  return new ht({
970
970
  stroke: o.isMask ? void 0 : new Fe({
971
971
  color: "#3170fe",
@@ -1293,4 +1293,4 @@ export {
1293
1293
  li as OpenLayersGeocodingControl,
1294
1294
  Bt as ZOOM_DEFAULTS
1295
1295
  };
1296
- //# sourceMappingURL=openlayers.public.js.map
1296
+ //# sourceMappingURL=openlayers.js.map