google.maps.__gjsload__('geometry', function(_){var Npa=function(a,b){return Math.abs(_.sm(b-a,-180,180))},Opa=function(a,b,c,d,e){if(!d){c=Npa(a.lng(),c)/Npa(a.lng(),b.lng());if(!e)return e=Math.sin(_.ul(a.lat())),e=Math.log((1+e)/(1-e))/2,b=Math.sin(_.ul(b.lat())),_.vl(2*Math.atan(Math.exp(e+c*(Math.log((1+b)/(1-b))/2-e)))-Math.PI/2);a=e.fromLatLngToPoint(a);b=e.fromLatLngToPoint(b);return e.fromPointToLatLng(new _.Ho(a.x+c*(b.x-a.x),a.y+c*(b.y-a.y))).lat()}e=_.ul(a.lat());a=_.ul(a.lng());d=_.ul(b.lat());b=_.ul(b.lng());c=_.ul(c);return _.sm(_.vl(Math.atan2(Math.sin(e)*
Math.cos(d)*Math.sin(c-b)-Math.sin(d)*Math.cos(e)*Math.sin(c-a),Math.cos(e)*Math.cos(d)*Math.sin(a-b))),-90,90)},Ppa=function(a,b){a=new _.on(a,!1);b=new _.on(b,!1);return a.equals(b)},Qpa=function(a,b,c){a=_.un(a);c=c||1E-9;const d=_.sm(a.lng(),-180,180),e=b instanceof _.vu,f=!!b.get("geodesic"),g=b.get("latLngs");b=b.get("map");b=!f&&b?b.getProjection():null;for(let r=0,t=g.getLength();r<t;++r){const v=g.getAt(r),w=v.getLength(),y=e?w:w-1;for(let D=0;D<y;++D){var h=v.getAt(D);const G=v.getAt((D+
1)%w);if(Ppa(h,a)||Ppa(G,a))return!0;var k=_.sm(h.lng(),-180,180),m=_.sm(G.lng(),-180,180);const L=Math.max(k,m),I=Math.min(k,m);if(k=Math.abs(_.sm(k-m,-180,180))<=1E-9&&(Math.abs(_.sm(k-d,-180,180))<=c||Math.abs(_.sm(m-d,-180,180))<=c)){k=a.lat();m=Math.min(h.lat(),G.lat())-c;var p=Math.max(h.lat(),G.lat())+c;k=k>=m&&k<=p}if(k)return!0;if(L-I>180?d+c>=L||d-c<=I:d+c>=I&&d-c<=L)if(h=Opa(h,G,d,f,b),Math.abs(h-a.lat())<c)return!0}}return!1},Rpa=function(a,b){const c=_.qn(a);a=_.rn(a);const d=_.qn(b);
b=_.rn(b);return 2*Math.asin(Math.sqrt(Math.pow(Math.sin((c-d)/2),2)+Math.cos(c)*Math.cos(d)*Math.pow(Math.sin((a-b)/2),2)))},Spa=function(a,b,c){a=_.un(a);b=_.un(b);c=c||6378137;return Rpa(a,b)*c},Vpa=function(a,b){b=b||6378137;a instanceof _.zp&&(a=a.getArray());a=(0,_.ct)(a);if(a.length===0)return 0;const c=Array(4),d=Array(3),e=[1,0,0,0],f=Array(3);Tpa(a[a.length-1],f);for(let v=0;v<a.length;++v)Tpa(a[v],d),GC(f,d,c),Upa(c,e,e),[f[0],f[1],f[2]]=d;const [g,h,k]=f,[m,p,r,t]=e;return 2*Math.atan2(g*
p+h*r+k*t,m)*(b*b)},Wpa=function(a,b){if(isFinite(a)){var c=a%360;a=Math.round(c/90);c-=a*90;if(c===30||c===-30){c=Math.sign(c)*.5;var d=Math.sqrt(.75)}else c===45||c===-45?(c=Math.sign(c)*Math.SQRT1_2,d=Math.SQRT1_2):(d=c/180*Math.PI,c=Math.sin(d),d=Math.cos(d));switch(a&3){case 0:b[0]=c;b[1]=d;break;case 1:b[0]=d;b[1]=-c;break;case 2:b[0]=-c;b[1]=-d;break;default:b[0]=-d,b[1]=c}}else b[0]=NaN,b[1]=NaN},Tpa=function(a,b){const c=Array(2);Wpa(a.lat(),c);const [d,e]=c;Wpa(a.lng(),c);const [f,g]=c;
b[0]=e*g;b[1]=e*f;b[2]=d},Upa=function(a,b,c){const d=a[0]*b[1]+a[1]*b[0]+a[2]*b[3]-a[3]*b[2],e=a[0]*b[2]-a[1]*b[3]+a[2]*b[0]+a[3]*b[1],f=a[0]*b[3]+a[1]*b[2]-a[2]*b[1]+a[3]*b[0];c[0]=a[0]*b[0]-a[1]*b[1]-a[2]*b[2]-a[3]*b[3];c[1]=d;c[2]=e;c[3]=f},GC=function(a,b,c){var d=a[0]-b[0],e=a[1]-b[1],f=a[2]-b[2];const g=a[0]+b[0],h=a[1]+b[1],k=a[2]+b[2];var m=g*g+h*h+k*k,p=e*k-f*h;f=f*g-d*k;d=d*h-e*g;e=m*m+p*p+f*f+d*d;if(e!==0)b=Math.sqrt(e),c[0]=m/b,c[1]=p/b,c[2]=f/b,c[3]=d/b;else{a:for(m=[a[0]-b[0],a[1]-
b[1],a[2]-b[2]],p=0;p<3;++p)if(m[p]!==0){if(m[p]<0){m=[-m[0],-m[1],-m[2]];break a}break}p=0;for(f=1;f<m.length;++f)Math.abs(m[f])<Math.abs(m[p])&&(p=f);f=[0,0,0];f[p]=1;m=[m[1]*f[2]-m[2]*f[1],m[2]*f[0]-m[0]*f[2],m[0]*f[1]-m[1]*f[0]];p=Math.hypot(...m);m=[m[0]/p,m[1]/p,m[2]/p];p=Array(4);GC(a,m,p);a=Array(4);GC(m,b,a);Upa(a,p,c)}},HC=class{};HC.isLocationOnEdge=Qpa;
HC.containsLocation=function(a,b){a=_.un(a);const c=_.sm(a.lng(),-180,180),d=!!b.get("geodesic"),e=b.get("latLngs");var f=b.get("map");f=!d&&f?f.getProjection():null;let g=!1;for(let k=0,m=e.getLength();k<m;++k){const p=e.getAt(k);for(let r=0,t=p.getLength();r<t;++r){const v=p.getAt(r),w=p.getAt((r+1)%t);var h=_.sm(v.lng(),-180,180);const y=_.sm(w.lng(),-180,180),D=Math.max(h,y);h=Math.min(h,y);(D-h>180?c>=D||c<h:c<D&&c>=h)&&Opa(v,w,c,d,f)<a.lat()&&(g=!g)}}return g||Qpa(a,b)};var IC=class{};IC.computeSignedArea=Vpa;
IC.computeArea=function(a,b){if(!(a instanceof _.zp||Array.isArray(a)||a instanceof _.uo||a instanceof _.Gp))try{a=_.to(a)}catch(c){try{a=new _.Gp((0,_.Cea)(a))}catch(d){throw _.Qm("Invalid path passed to computeArea(): "+JSON.stringify(a));}}b=b||6378137;if(a instanceof _.Gp){if(a.getRadius()===void 0)throw _.Qm("Invalid path passed to computeArea(): Circle is missing radius.");if(a.getRadius()<0)throw _.Qm("Invalid path passed to computeArea(): Circle must have non-negative radius.");if(b<0)throw _.Qm("Invalid radiusOfSphere passed to computeArea(): radiusOfSphere must be non-negative.");
if(a.getRadius()>Math.PI*b)throw _.Qm("Invalid path passed to computeArea(): Circle must not cover more than 100% of the sphere.");return 2*Math.PI*b**2*(1-Math.cos(a.getRadius()/b))}if(a instanceof _.uo){if(b<0)throw _.Qm("Invalid radiusOfSphere passed to computeArea(): radiusOfSphere must be non-negative.");if(a.bj.lo>a.bj.hi)throw _.Qm("Invalid path passed to computeArea(): the southern LatLng of a LatLngBounds cannot be more north than the northern LatLng.");let c=2*Math.PI*b**2*(1-Math.cos((a.bj.lo-
90)*Math.PI/180));c-=2*Math.PI*b**2*(1-Math.cos((a.bj.hi-90)*Math.PI/180));return c*Math.abs(a.wi.hi-a.wi.lo)/360}return Math.abs(Vpa(a,b))};IC.computeLength=function(a,b){b=b||6378137;let c=0;a instanceof _.zp&&(a=a.getArray());for(let d=0,e=a.length-1;d<e;++d)c+=Spa(a[d],a[d+1],b);return c};IC.computeDistanceBetween=Spa;
IC.interpolate=function(a,b,c){a=_.un(a);b=_.un(b);const d=_.qn(a);var e=_.rn(a);const f=_.qn(b),g=_.rn(b),h=Math.cos(d),k=Math.cos(f);b=Rpa(a,b);const m=Math.sin(b);if(m<1E-6)return new _.on(a.lat(),a.lng());a=Math.sin((1-c)*b)/m;c=Math.sin(c*b)/m;b=a*h*Math.cos(e)+c*k*Math.cos(g);e=a*h*Math.sin(e)+c*k*Math.sin(g);return new _.on(_.vl(Math.atan2(a*Math.sin(d)+c*Math.sin(f),Math.sqrt(b*b+e*e))),_.vl(Math.atan2(e,b)))};
IC.computeOffsetOrigin=function(a,b,c,d){a=_.un(a);c=_.ul(c);b/=d||6378137;d=Math.cos(b);const e=Math.sin(b)*Math.cos(c);b=Math.sin(b)*Math.sin(c);c=Math.sin(_.qn(a));const f=e*e*d*d+d*d*d*d-d*d*c*c;if(f<0)return null;var g=e*c+Math.sqrt(f);g/=d*d+e*e;const h=(c-e*g)/d;g=Math.atan2(h,g);if(g<-Math.PI/2||g>Math.PI/2)g=e*c-Math.sqrt(f),g=Math.atan2(h,g/(d*d+e*e));if(g<-Math.PI/2||g>Math.PI/2)return null;a=_.rn(a)-Math.atan2(b,d*Math.cos(g)-e*Math.sin(g));return new _.on(_.vl(g),_.vl(a))};
IC.computeOffset=function(a,b,c,d){a=_.un(a);b/=d||6378137;c=_.ul(c);var e=_.qn(a);a=_.rn(a);d=Math.cos(b);b=Math.sin(b);const f=Math.sin(e);e=Math.cos(e);const g=d*f+b*e*Math.cos(c);return new _.on(_.vl(Math.asin(g)),_.vl(a+Math.atan2(b*e*Math.sin(c),d-f*g)))};IC.computeHeading=function(a,b){a=_.un(a);b=_.un(b);const c=_.qn(a),d=_.rn(a);a=_.qn(b);b=_.rn(b)-d;return _.sm(_.vl(Math.atan2(Math.sin(b)*Math.cos(a),Math.cos(c)*Math.sin(a)-Math.sin(c)*Math.cos(a)*Math.cos(b))),-180,180)};var Xpa={encoding:_.Mu,spherical:IC,poly:HC};_.ra.google.maps.geometry=Xpa;_.Rl("geometry",Xpa);});
