1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d315a473-e635-4c81-a276-558b361d56b7",e._sentryDebugIdIdentifier="sentry-dbid-d315a473-e635-4c81-a276-558b361d56b7")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1120],{57447:(e,t,n)=>{let r,a;n.d(t,{J8:()=>eN,T5:()=>em,c4:()=>C,ko:()=>eb});var o,l=n(14232),i=n(98477);function s(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)0>t.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function u(e,t,n,r){return new(n||(n=Promise))(function(a,o){function l(e){try{s(r.next(e))}catch(e){o(e)}}function i(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(l,i)}s((r=r.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;let c=()=>{},d="@googlemaps/js-api-loader",g={createScriptURL:e=>e},f=!1;function p(e){if(f)return void c(`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`);e.apiKey&&(c("The 'apiKey' parameter was used in setOptions(), but 'key' is the correct parameter name. Please update your configuration."),e.key||(e.key=e.apiKey)),function(e){var t,n,a,o,l,i,s,u,f,p,m;let h=!!window.google?.maps?.importLibrary;h&&JSON.stringify(e);h||(o="google",l="importLibrary",i=document,f=(u=(s=window)[o]||(s[o]={})).maps||(u.maps={}),p=new Set,m=new URLSearchParams,f[l]?console.warn("The Google Maps JavaScript API only loads once. Ignoring:",e):f[l]=(s,...u)=>p.add(s)&&(t||(t=new Promise(async(l,s)=>{var u,h;for(a in await (n=i.createElement("script")),m.set("libraries",[...p]+""),e)m.set(a.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[a]);m.set("callback",o+".maps.__ib__"),u=n,h="https://maps.googleapis.com/maps/api/js?"+m,u.src=(function(){if(r)return r;let e=globalThis.trustedTypes;if(!e)return r=g;try{r=e.createPolicy(d,{createScriptURL:e=>e})}catch(e){c(`Failed to create Trusted Types policy "${d}": ${e instanceof Error?e.message:String(e)}. 2 3If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${d} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`),r=g}return r})().createScriptURL(h),f.__ib__=l,n.onerror=()=>t=s(Error("The Google Maps JavaScript API could not load.")),n.nonce=i.querySelector("script[nonce]")?.nonce||"",i.head.append(n)}))).then(()=>f[l](s,...u)))}(e),f=!0}async function m(e){if(f||c("No options were set before calling importLibrary. Make sure to configure the loader using setOptions()."),!window?.google?.maps?.importLibrary)throw Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}let h={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED",FAILED:"FAILED",AUTH_FAILURE:"AUTH_FAILURE"},b=["gmp_visgl_reactgooglemaps_v1.9.0"],y=l.createContext(null),v=h.NOT_LOADED,E=new Set;function O(e){e!==v&&(v=e,E.forEach(e=>e(v)))}let C=e=>{let{children:t}=e,n=s(e,["children"]),{mapInstances:r,addMapInstance:o,removeMapInstance:i,clearMapInstances:c}=function(){let[e,t]=(0,l.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>(t[e],s(t,["symbol"==typeof e?e:e+""])))},clearMapInstances:()=>{t({})}}}(),{map3dInstances:d,addMap3DInstance:g,removeMap3DInstance:f,clearMap3DInstances:C}=function(){let[e,t]=(0,l.useState)({});return{map3dInstances:e,addMap3DInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMap3DInstance:(e="default")=>{t(t=>(t[e],s(t,["symbol"==typeof e?e:e+""])))},clearMap3DInstances:()=>{t({})}}}(),{status:w,loadedLibraries:A,importLibrary:L}=function(e){let{onLoad:t,onError:n,apiKey:r,version:o,libraries:i=[],region:s,language:c,authReferrerPolicy:d,channel:g,solutionChannel:f,fetchAppCheckToken:b}=e,[y,C]=(0,l.useState)(v),[w,A]=(0,l.useReducer)((e,t)=>e[t.name]?e:Object.assign(Object.assign({},e),{[t.name]:t.value}),{}),L=(0,l.useMemo)(()=>JSON.stringify({apiKey:r,version:o,libraries:i.join(","),region:s,language:c,authReferrerPolicy:d,channel:g,solutionChannel:f}),[r,o,i,s,c,d,g,f]),S=(0,l.useCallback)(e=>u(this,void 0,void 0,function*(){if(w[e])return w[e];let t=yield m(e);return A({name:e,value:t}),t}),[w]);return(0,l.useEffect)(()=>(E.add(C),C(v),()=>{E.delete(C)}),[]),(0,l.useEffect)(()=>{u(this,void 0,void 0,function*(){var e,l;try{a&&a!==L&&console.warn("The Google Maps JavaScript API has already been loaded with different parameters. The new parameters will be ignored. If you need to use different parameters, please refresh the page.");let n=["core","maps",...i],u=Object.fromEntries(Object.entries({key:r,v:o,libraries:i,region:s,language:c,authReferrerPolicy:d}).filter(([,e])=>void 0!==e));if(void 0!==g&&g>=0&&g<=999&&(u.channel=String(g)),void 0===f?u.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""!==f&&(u.solutionChannel=f),null==(l=null==(e=window.google)?void 0:e.maps)?void 0:l.importLibrary){let e=!a;e&&(a=L,p(u)),yield Promise.all(n.map(e=>S(e))),e&&O(h.LOADED),t&&t();return}if(v===h.LOADING||v===h.LOADED){v===h.LOADED&&t&&t();return}a=L,O(h.LOADING),p(u),yield Promise.all(n.map(e=>S(e))),O(h.LOADED),t&&t()}catch(e){O(h.FAILED),n?n(e):console.error("The Google Maps JavaScript API failed to load.",e)}})},[L,t,n,S,i]),(0,l.useEffect)(()=>
3{if(y!==h.LOADED)return;let e=google.maps.Settings.getInstance();b&&(e.fetchAppCheckToken=b)},[y,b]),{status:y,loadedLibraries:w,importLibrary:S}}(n),S=function(e){return(0,l.useMemo)(()=>e.disableUsageAttribution?null:b,[e.disableUsageAttribution])}(n),j=(0,l.useMemo)(()=>({mapInstances:r,addMapInstance:o,removeMapInstance:i,clearMapInstances:c,map3dInstances:d,addMap3DInstance:g,removeMap3DInstance:f,clearMap3DInstances:C,status:w,loadedLibraries:A,importLibrary:L,internalUsageAttributionIds:S}),[r,o,i,c,d,g,f,C,w,A,L,S]);return l.createElement(y.Provider,{value:j},t)},w={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},A=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],L=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],S=Object.keys(w);function j(e,t){let n=(0,l.useRef)(e);return t(e,n.current)||(n.current=e),n.current}let{getOwnPropertyNames:k,getOwnPropertySymbols:I}=Object,{hasOwnProperty:M}=Object.prototype;function P(e,t){return function(n,r,a){return e(n,r,a)&&t(n,r,a)}}function D(e){return function(t,n,r){if(!t||!n||"object"!=typeof t||"object"!=typeof n)return e(t,n,r);let{cache:a}=r,o=a.get(t),l=a.get(n);if(o&&l)return o===n&&l===t;a.set(t,n),a.set(n,t);let i=e(t,n,r);return a.delete(t),a.delete(n),i}}function N(e){return k(e).concat(I(e))}let _=Object.hasOwn||((e,t)=>M.call(e,t)),{getOwnPropertyDescriptor:T,keys:x}=Object,R=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};function F(e,t){return e===t}function z(e,t){return e.byteLength===t.byteLength&&K(new Uint8Array(e),new Uint8Array(t))}function U(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function H(e,t){return e.byteLength===t.byteLength&&K(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function J(e,t){return R(e.getTime(),t.getTime())}function q(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function B(e,t,n){let r,a,o=e.size;if(o!==t.size)return!1;if(!o)return!0;let l=Array(o),i=e.entries(),s=0;for(;(r=i.next())&&!r.done;){let o=t.entries(),i=!1,u=0;for(;(a=o.next())&&!a.done;){if(l[u]){u++;continue}let o=r.value,c=a.value;if(n.equals(o[0],c[0],s,u,e,t,n)&&n.equals(o[1],c[1],o[0],c[0],e,t,n)){i=l[u]=!0;break}u++}if(!i)return!1;s++}return!0}function G(e,t,n){let r=x(e),a=r.length;if(x(t).length!==a)return!1;for(;a-- >0;)if(!Y(e,t,n,r[a]))return!1;return!0}function $(e,t,n){let r,a,o,l=N(e),i=l.length;if(N(t).length!==i)return!1;for(;i-- >0;)if(!Y(e,t,n,r=l[i])||(a=T(e,r),o=T(t,r),(a||o)&&(!a||!o||a.configurable!==o.configurable||a.enumerable!==o.enumerable||a.writable!==o.writable)))return!1;return!0}function Z(e,t){return R(e.valueOf(),t.valueOf())}function W(e,t){return e.source===t.source&&e.flags===t.flags}function V(e,t,n){let r,a,o=e.size;if(o!==t.size)return!1;if(!o)return!0;let l=Array(o),i=e.values();for(;(r=i.next())&&!r.done;){let o=t.values(),i=!1,s=0;for(;(a=o.next())&&!a.done;){if(!l[s]&&n.equals(r.value,a.value,r.value,a.value,e,t,n)){i=l[s]=!0;break}s++}if(!i)return!1}return!0}function K(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function X(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Y(e,t,n,r){return("_owner"===r||"__o"===r||"__v"===r)&&(!!e.$$typeof||!!t.$$typeof)||_(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}let Q=Object.prototype.toString,ee=et();function et(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:a=!1}=e,o=function(e){let t=function({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:a,areFunctionsEqual:o,areMapsEqual:l,areNumbersEqual:i,areObjectsEqual:s,arePrimitiveWrappersEqual:u,areRegExpsEqual:c,areSetsEqual:d,areTypedArraysEqual:g,areUrlsEqual:f}){return{"[object Arguments]":s,"[object Array]":t,"[object ArrayBuffer]":e,"[object AsyncGeneratorFunction]":o,"[object BigInt]":i,"[object BigInt64Array
3]":g,"[object BigUint64Array]":g,"[object Boolean]":u,"[object DataView]":n,"[object Date]":r,"[object Error]":a,"[object Float16Array]":g,"[object Float32Array]":g,"[object Float64Array]":g,"[object Function]":o,"[object GeneratorFunction]":o,"[object Int8Array]":g,"[object Int16Array]":g,"[object Int32Array]":g,"[object Map]":l,"[object Number]":u,"[object Object]":(e,t,n)=>"function"!=typeof e.then&&"function"!=typeof t.then&&s(e,t,n),"[object RegExp]":c,"[object Set]":d,"[object String]":u,"[object URL]":f,"[object Uint8Array]":g,"[object Uint8ClampedArray]":g,"[object Uint16Array]":g,"[object Uint32Array]":g}}(e),{areArraysEqual:n,areDatesEqual:r,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:l,areObjectsEqual:i,areRegExpsEqual:s,areSetsEqual:u,getUnsupportedCustomComparator:c}=e;return function(e,d,g){if(e===d)return!0;if(null==e||null==d)return!1;let f=typeof e;if(f!==typeof d)return!1;if("object"!==f)return"number"===f||"bigint"===f?l(e,d,g):"function"===f&&a(e,d,g);let p=e.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(e,d,g);if(p===Array)return n(e,d,g);if(p===Date)return r(e,d,g);if(p===RegExp)return s(e,d,g);if(p===Map)return o(e,d,g);
3if(p===Set)return u(e,d,g);if(p===Promise)return!1;if(Array.isArray(e))return n(e,d,g);let m=Q.call(e),h=t[m];if(h)return h(e,d,g);let b=c&&c(e,d,g,m);return!!b&&b(e,d,g)}}(function({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:z,areArraysEqual:n?$:U,areDataViewsEqual:H,areDatesEqual:J,areErrorsEqual:q,areFunctionsEqual:F,areMapsEqual:n?P(B,$):B,areNumbersEqual:R,areObjectsEqual:n?$:G,arePrimitiveWrappersEqual:Z,areRegExpsEqual:W,areSetsEqual:n?P(V,$):V,areTypedArraysEqual:n?P(K,$):K,areUrlsEqual:X,getUnsupportedCustomComparator:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=D(r.areArraysEqual),t=D(r.areMapsEqual),n=D(r.areObjectsEqual),a=D(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:a})}return r}(e)),l=n?n(o):function(e,t,n,r,a,l,i){return o(e,t,i)};return function({circular:e,comparator:t,createState:n,equals:r,strict:a}){if(n)return function(o,l){let{cache:i=e?new WeakMap:void 0,meta:s}=n();return t(o,l,{cache:i,equals:r,meta:s,strict:a})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:a})};let o={cache:void 0,equals:r,meta:void 0,strict:a};return function(e,n){return t(e,n,o)}}({circular:t,comparator:o,createState:r,equals:l,strict:a})}function en(e,t){(0,l.useEffect)(e,[j(t,ee)])}et({strict:!0}),et({circular:!0}),et({circular:!0,strict:!0}),et({createInternalComparator:()=>R}),et({strict:!0,createInternalComparator:()=>R}),et({circular:!0,createInternalComparator:()=>R}),et({circular:!0,createInternalComparator:()=>R,strict:!0});let er=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","headingInteractionEnabled","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","tiltInteractionEnabled","zoomControl","zoomControlOptions"]);function ea(){var e;return(null==(e=(0,l.useContext)(y))?void 0:e.status)||h.NOT_LOADED}function eo(e,t){if(!e||!t)return!1;let n=el(e),r=el(t);return n.lat===r.lat&&n.lng===r.lng}function el(e){return e&&"object"==typeof e&&"lat"in e&&"lng"in e&&Number.isFinite(e.lat)&&Number.isFinite(e.lng)?e:e.toJSON()}function ei(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;
3let t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function es(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!eo(e[t],n[t]))return!1;return!0}let eu=()=>l.createElement("div",{style:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:999,display:"flex",flexFlow:"column nowrap",textAlign:"center",justifyContent:"center",fontSize:".8rem",color:"rgba(0,0,0,0.6)",background:"#dddddd",padding:"1rem 1.5rem"}},l.createElement("h2",null,"Error: AuthFailure"),l.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",l.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."));function ec(){let[e,t]=(0,l.useState)(null);return[e,(0,l.useCallback)(e=>t(e),[t])]}function ed(){return ea()===h.LOADED}function eg(){let[,e]=(0,l.useReducer)(e=>e+1,0);return e}class ef{static has(e){return this.entries[e]&&this.entries[e].length>0}static pop(e){return this.entries[e]&&this.entries[e].pop()||null}static push(e,t){this.entries[e]||(this.entries[e]=[]),this.entries[e].push(t)}}ef.entries={};let ep=l.createContext(null),em=e=>{let{children:t,id:n,className:r,style:a}=e,o=(0,l.useContext)(y),i=ea();if(!o)throw Error("<Map> can only be used inside an <ApiProvider> component.");let[u,c,d]=function(e,t){let n=ed(),[r,a]=(0,l.useState)(null),[o,i]=ec(),u=function(e){let t=eg(),n=(0,l.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});return(0,l.useEffect)(()=>{if(!e)return;let r=google.maps.event.addListener(e,"bounds_changed",()=>{!function(e,t){let n=e.getCenter(),r=e.getZoom(),a=e.getHeading()||0,o=e.getTilt()||0,l=e.getBounds();n&&l&&Number.isFinite(r)||console.warn("[useTrackedCameraState] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),Object.assign(t.current,{center:(null==n?void 0:n.toJSON())||{lat:0,lng:0},zoom:r||0,heading:a,tilt:o})}(e,n),t()});return()=>r.remove()},[e,t]),n}(r),{id:c,defaultBounds:d,defaultCenter:g,defaultZoom:f,defaultHeading:p,defaultTilt:m,reuseMaps:h,renderingType:b,colorScheme:y}=e,v=s(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),E=void 0!==e.zoom||void 0!==e.defaultZoom,O=void 0!==e.center||void 0!==e.defaultCenter;d||E&&O||console.warn("<Map> component is missing configuration. You have to provide zoom and center (via the `zoom`/`defaultZoom` and `center`/`defaultCenter` props) or specify the region to show using `defaultBounds`. See https://visgl.github.io/react-google-maps/docs/api-reference/components/map#required"),!v.center&&g&&(v.center=g),!v.zoom&&Number.isFinite(f)&&(v.zoom=f),!v.heading&&Number.isFinite(p)&&(v.heading=p),!v.tilt&&Number.isFinite(m)&&(v.tilt=m);let C=v.internalUsageAttributionIds;for(let e of(null==C?v.internalUsageAttributionIds=t.internalUsageAttributionIds:v.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...C],Object.keys(v)))void 0===v[e]&&delete v[e];let w=(0,l.useRef)(void 0);return(0,l.useEffect)(()=>{let r,l;if(!o||!n)return;let{addMapInstance:i,removeMapInstance:g}=t,{mapId:f}=e,p=`${f||"default"}:${b||"default"}:${y||"LIGHT"}`,m=h&&ef.has(p)?ef.pop(p):null,C=null==m?void 0:m.getDiv(),A=m&&C instanceof Node?m:null;if(A?(l=A,r=C,o.appendChild(r),l.setOptions(v),setTimeout(()=>l.moveCamera({}),0)):(m&&google.maps.event.clearInstanceListeners(m),(r=document.createElement("div")).style.height="100%",o.appendChild(r),l=new google.maps.Map(r,Object.assign(Object.assign(Object.assign({},v),b?{renderingType:b}:{}),y?{colorScheme:y}:{}))),a(l),i(l,c),d){let{padding:e}=d,t=s(d,["padding"]);l.fitBounds(t,e)}else E&&O||l.fitBounds({east:180,west:-180,south:-90,north:90});if(w.current){let{mapId:e,cameraState:t}=w.current;e!==f&&l.moveCamera(t)}return()=>{w.current={mapId:f,cameraState:u.current},r.remove(),h?ef.push(p,l):google.maps.event.clearInstanceListeners(l),a(null),g(c)}},[o,n,c,e.mapId,e.renderingType,e.colorScheme]),[r,i,u]}(e,o);!function(e,t,n){let r=n.center?el(n.center):null,a=null,o=null;r&&Number.isFinite(r.lat)&&Number.isFinite(r.lng)&&(a=r.lat,o=r.lng);let i=Number.isFinite(n.zoom)?n.zoom:null,s=Number.isFinite(n.heading)?n.heading:null,u=Number.isFinite(n.tilt)?n.tilt:null;(0,l.useLayoutEffect)(()=>
3{if(!e)return;let n={},r=!1;null!==a&&null!==o&&(t.current.center.lat!==a||t.current.center.lng!==o)&&(n.center={lat:a,lng:o},r=!0),null!==i&&t.current.zoom!==i&&(n.zoom=i,r=!0),null!==s&&t.current.heading!==s&&(n.heading=s,r=!0),null!==u&&t.current.tilt!==u&&(n.tilt=u,r=!0),r&&e.moveCamera(n)})}(u,d,e),function(e,t){for(let n of S){let r=t[n],a=w[n];(0,l.useEffect)(()=>{if(!e||!r)return;let t=google.maps.event.addListener(e,a,t=>{r(function(e,t,n){var r;let a={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(A.includes(e)){let e=t.getCenter(),n=t.getZoom(),r=t.getHeading()||0,o=t.getTilt()||0,l=t.getBounds();return e&&l&&Number.isFinite(n)||console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),a.detail={center:(null==e?void 0:e.toJSON())||{lat:0,lng:0},zoom:n||0,heading:r,tilt:o,bounds:(null==l?void 0:l.toJSON())||{north:90,east:180,south:-90,west:-180}},a}if(L.includes(e)){if(!n)throw Error("[createEvent] mouse events must provide a srcEvent");return a.domEvent=n.domEvent,a.stoppable=!0,a.stop=()=>n.stop(),a.detail={latLng:(null==(r=n.latLng)?void 0:r.toJSON())||null,placeId:n.placeId},a}return a}(a,e,t))});return()=>t.remove()},[e,a,r])}}(u,e),function(e,t){let n={};for(let e of Object.keys(t))er.has(e)&&(n[e]=t[e]);en(()=>{e&&e.setOptions(n)},[n])}(u,e);let g=function(e,t){let{viewport:n,viewState:r}=t;return(0,l.useLayoutEffect)(()=>{if(!e||!r)return;let{latitude:t,longitude:n,bearing:a,pitch:o,zoom:l}=r;e.moveCamera({center:{lat:t,lng:n},heading:a,tilt:o,zoom:l+1})},[e,r]),!!n}(u,e),f=!!e.controlled;(0,l.useEffect)(()=>{if(u)return g&&u.setOptions({disableDefaultUI:!0}),(g||f)&&u.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{u.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[u,g,f,e.gestureHandling,e.keyboardShortcuts]);let p=e.center?el(e.center):null,m=null,b=null;p&&Number.isFinite(p.lat)&&Number.isFinite(p.lng)&&(m=p.lat,b=p.lng);let v=(0,l.useMemo)(()=>{var t,n,r;return{center:{lat:null!=m?m:0,lng:null!=b?b:0},zoom:null!=(t=e.zoom)?t:0,heading:null!=(n=e.heading)?n:0,tilt:null!=(r=e.tilt)?r:0}},[m,b,e.zoom,e.heading,e.tilt]);(0,l.useLayoutEffect)(()=>{if(!u||!f)return;u.moveCamera(v);let e=u.addListener("bounds_changed",()=>{u.moveCamera(v)});return()=>e.remove()},[u,f,v]);let E=(0,l.useMemo)(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:g?-1:0},a),[a,g]),O=(0,l.useMemo)(()=>({map:u}),[u]);return i===h.AUTH_FAILURE?l.createElement("div",{style:Object.assign({position:"relative"},r?{}:E),className:r},l.createElement(eu,null)):l.createElement("div",Object.assign({ref:c,"data-testid":"map",style:r?void 0:E,className:r},n?{id:n}:{}),u?l.createElement(ep.Provider,{value:O},t):null)};em.deckGLViewProps=!0;let eh=new Set,eb=(e=null)=>{let t=(0,l.useContext)(y),{map:n}=(0,l.useContext)(ep)||{};if(null===t)return!function(...e){let t=JSON.stringify(e);eh.has(t)||(eh.add(t),console.error(...e))}("useMap(): failed to retrieve APIProviderContext. Make sure that the <APIProvider> component exists and that the component you are calling `useMap()` from is a sibling of the <APIProvider>."),null;let{mapInstances:r}=t;return null!==e?r[e]||null:n||r.default||null};function ey(e){var t;let n=ed(),r=(0,l.useContext)(y);return(0,l.useEffect)(()=>{n&&r&&r.importLibrary(e)},[n,r,e]),null!=(t=null==r?void 0:r.loadedLibraries[e])?t:null}let ev=Object.assign({},o||(o=n.t(l,2))),eE=ev.useInsertionEffect,eO=eE&&eE!==ev.useLayoutEffect?eE:e=>{e()};function eC(){throw Error("useEffectEvent: invalid call during rendering.")}let ew=function(e){let t=(0,l.useRef)(eC);return eO(()=>{t.current=e},[e]),(...e)=>t.current(...e)},eA=()=>{};
3function eL(e,t,n){let r=ew(null!=n?n:eA),a=!!n;(0,l.useEffect)(()=>{if(!e||!t||!a)return;let n=google.maps.event.addListener(e,t,r);return()=>n.remove()},[e,t,a])}function eS(e,t,n){(0,l.useEffect)(()=>{e&&(e[t]=n)},[e,t,n])}let ej=()=>{};function ek(e,t,n){let r=ew(null!=n?n:ej),a=!!n;(0,l.useEffect)(()=>{if(e&&t&&a)return e.addEventListener(t,r),()=>e.removeEventListener(t,r)},[e,t,a])}class eI{constructor(){this.renderedStyles=new Set,this.styleElement=null}getStyleElement(){return this.styleElement||(this.styleElement=document.createElement("style"),this.styleElement.setAttribute("data-rgm-anchor-styles",""),document.head.appendChild(this.styleElement)),this.styleElement}addAdvancedMarkerPointerEventsOverwrite(){if(this.renderedStyles.has("marker-pointer-events"))return;let e=this.getStyleElement();e.textContent+=` 4 gmp-advanced-marker[data-origin='rgm'] { 5 pointer-events: none !important; 6 } 7 `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}}let eM=new eI,eP=l.createContext(null),eD={BOTTOM:["50%","100%"]},eN=(0,l.forwardRef)((e,t)=>{let{children:n,style:r,className:a,anchorPoint:o}=e,[s,u]=function(e){var t,n,r,a,o;let[i,s]=(0,l.useState)(null),[u,c]=(0,l.useState)(null),d=eb(),g=ey("marker"),{children:f,onClick:p,onKeyDown:m,onKeyUp:h,className:b,onMouseEnter:y,onMouseLeave:v,onDrag:E,onDragStart:O,onDragEnd:C,collisionBehavior:w,clickable:A,draggable:L,position:S,title:j,zIndex:k,anchorPoint:I,anchorLeft:M,anchorTop:P}=e,D=l.Children.count(f);return(0,l.useEffect)(()=>{if(!d||!g)return;let e=new g.AdvancedMarkerElement;e.map=d,s(e);let t=null;return D>0&&(e.content=t=document.createElement("div"),c(t)),()=>{e.map=null,null==t||t.remove(),s(null),c(null)}},[d,g,D]),(0,l.useEffect)(()=>{(null==i?void 0:i.content)&&e_(i.content)&&!(D>0)&&(i.content.className=null!=b?b:"")},[i,b,D]),t=i,n=I,r=M,a=P,o=D>0,(0,l.useEffect)(()=>{if(!t||!o)return;let e=function(e,t){var n;if(!(null==(n=null==google?void 0:google.maps)?void 0:n.version))return;let r=google.maps.version.split("."),a=parseInt(r[0],10),o=parseInt(r[1],10);return a>3||3===a&&o>=62}(3,0),l=t.content;if(l&&e_(l)){if(void 0!==r||void 0!==a){e||console.warn(`AdvancedMarker: The anchorLeft and anchorTop props are only supported in Google Maps API version 3.62 and above. The current version is ${google.maps.version}.`),t.anchorLeft=r,t.anchorTop=a,void 0!==n&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(void 0!==n){let[r,a]=null!=n?n:eD.BOTTOM,o=`calc(-1 * ${r})`,i=`calc(-1 * ${a})`;e?(t.anchorLeft=o,t.anchorTop=i,l.style.transform=""):(l.style.transform=`translate(50%, 100%) translate(${o}, ${i})`,t.dataset.origin="rgm",eM.addAdvancedMarkerPointerEventsOverwrite())}}},[t,n,r,a,o]),eS(i,"position",S),eS(i,"title",null!=j?j:""),eS(i,"zIndex",k),eS(i,"collisionBehavior",w),(0,l.useEffect)(()=>{i&&(void 0!==L?i.gmpDraggable=L:E||O||C?i.gmpDraggable=!0:i.gmpDraggable=!1)},[i,L,E,C,O]),(0,l.useEffect)(()=>{if(!i)return;let e=void 0!==A?A:!!p||!!m||!!h||!!y||!!v;i.gmpClickable=e,(null==i?void 0:i.content)&&e_(i.content)&&(i.content.style.pointerEvents=e?"all":"none",i.content.style.cursor=e&&p?"pointer":"")},[i,A,p,m,h,y,v]),eL(i,"drag",E),eL(i,"dragstart",O),eL(i,"dragend",C),ek(i,"gmp-click",p),ek(i,"keydown",m),ek(i,"keyup",h),ek(i,"mouseenter",y),ek(i,"mouseleave",v),[i,u]}(e),c=(0,l.useMemo)(()=>s?{marker:s}:null,[s]);return((0,l.useImperativeHandle)(t,()=>s,[s]),u)?l.createElement(eP.Provider,{value:c},(0,i.createPortal)(l.createElement(eT,{anchorPoint:o,styles:r,className:a},n),u)):null});function e_(e){return e.nodeType===Node.ELEMENT_NODE}eN.displayName="AdvancedMarker";let eT=({children:e,styles:t,className:n})=>l.createElement("div",{className:n,style:t},e);function ex(e,t,n){var r;let a=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?a?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":a?e.setProperty(t,n):"number"!=typeof n||0===n||(r=t,eR.has(r))?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}(0,l.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:a,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onRadiusChanged:g,onCenterChanged:f,center:p,defaultCenter:m,radius:h,defaultRadius:b}=e,y=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[v,E]=(0,l.useState)(null),O=eb(),C=j(Object.assign(Object.assign({},y),{clickable:null!=(t=y.clickable)?t:!!a,draggable:null!=(n=y.draggable)?n:!!(o||i||u||f),editable:null!=(r=y.editable)?r:!!g}),ee);return(0,l.useEffect)(()=>
7{if(!O){void 0===O&&console.error("<Circle> has to be inside a Map component.");return}let e=new google.maps.Circle(Object.assign(Object.assign({},C),{center:null!=p?p:m,radius:null!=h?h:b}));return e.setMap(O),E(e),()=>{e.setMap(null),E(null)}},[O]),eL(v,"click",a),eL(v,"drag",o),eL(v,"dragstart",i),eL(v,"dragend",u),eL(v,"mouseover",c),eL(v,"mouseout",d),eL(v,"radius_changed",g?()=>{let e=null==v?void 0:v.getRadius();void 0!==e&&g(e)}:null),eL(v,"center_changed",f?()=>{f(null==v?void 0:v.getCenter())}:null),(0,l.useEffect)(()=>{v&&v.setOptions(C)},[v,C]),(0,l.useEffect)(()=>{v&&p&&(eo(p,v.getCenter())||v.setCenter(p))},[v,p]),(0,l.useEffect)(()=>{v&&void 0!==h&&h!==v.getRadius()&&v.setRadius(h)},[v,h]),v}(e);return(0,l.useImperativeHandle)(t,()=>n,[n]),l.createElement(l.Fragment,null)}).displayName="Circle";let eR=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]);function eF(e){let t=e.getPaths(),n=[];for(let e=0;e<t.getLength();e++)n.push(t.getAt(e).getArray());return n}(0,l.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:a,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onPathsChanged:g,polygon:f,encodedPaths:p,paths:m,defaultPaths:h}=e,b=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[y,v]=(0,l.useState)(null),E=eb(),O=ey("geometry"),C=(0,l.useRef)(!1),w=j(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!a,draggable:null!=(n=b.draggable)?n:!!(o||i||u||g),editable:null!=(r=b.editable)?r:!!g}),ee);return(0,l.useEffect)(()=>{let e;if(!E){void 0===E&&console.error("<Polygon> has to be inside a Map component.");return}if(f){e=f;let t=null!=m?m:h;t&&Array.isArray(t)&&e.setPaths(t),e.setOptions(w)}else{let t=null!=m?m:h,n=Object.assign({},w);t&&Array.isArray(t)&&(n.paths=t),e=new google.maps.Polygon(n)}return e.setMap(E),v(e),()=>{e.setMap(null),v(null)}},[E,f]),eL(y,"click",a),eL(y,"drag",o),eL(y,"dragstart",i),eL(y,"mouseover",c),eL(y,"mouseout",d),eL(y,"dragend",e=>{null==u||u(e),g&&y&&!C.current&&g(eF(y))}),(0,l.useEffect)(()=>{if(!y||!g)return;let e=[],t=y.getPaths();if("function"!=typeof t.getLength||"function"!=typeof t.getAt)return;let n=()=>{C.current||g(eF(y))},r=t=>{e.push(google.maps.event.addListener(t,"insert_at",n)),e.push(google.maps.event.addListener(t,"remove_at",n)),e.push(google.maps.event.addListener(t,"set_at",n))};for(let e=0;e<t.getLength();e++)r(t.getAt(e));return e.push(google.maps.event.addListener(t,"insert_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"set_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"remove_at",n)),()=>{e.forEach(e=>e.remove())}},[y,g,m,p,w.editable,w.draggable]),(0,l.useEffect)(()=>{y&&y.setOptions(w)},[y,w]),(0,l.useEffect)(()=>{if(y&&m&&Array.isArray(m))!function(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray().map(e=>e.getArray()):t;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!es(e[t],n[t]))return!1;return!0}(Array.isArray(m[0])?m:[m],y.getPaths())&&(C.current=!0,y.setPaths(m),C.current=!1)},[y,m]),(0,l.useEffect)(()=>{if(!y||!p||!O)return;C.current=!0;let e=p.map(e=>O.encoding.decodePath(e));y.setPaths(e),C.current=!1},[y,p,O]),y}(e);return(0,l.useImperativeHandle)(t,()=>n,[n]),l.createElement(l.Fragment,null)}).displayName="Polygon",(0,l.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:a,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onPathChanged:g,polyline:f,encodedPath:p,path:m,defaultPath:h}=e,b=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[y,v]=(0,l.useState)(null),E=eb(),O=ey("geometry"),C=(0,l.useRef)(!1),w=j(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!a,draggable:null!=(n=b.draggable)?n:!!(o||i||u||g),editable:null!=(r=b.editable)?r:!!g}),ee);return(0,l.useEffect)(()=>{let e;if(!E){void 0===E&&console.error("<Polyline> has to be inside a Map component.");return}if(f){e=f;let t=null!=m?m:h;t&&Array.isArray(t)&&e.setPath(t),e.setOptions(w)}else{let t=null!=m?m:h,n=Object.assign({},w);t&&Array.isArray(t)&&(n.path=t),e=new google.maps.Polyline(n)}return e.setMap(E),v(e),()=>{e.setMap(null),v(null)}},[E,f]),eL(y,"click",a),eL(y,"drag",o),eL(y,"dragstart",i),eL(y,"mouseover",c),eL(y,"mouseout",d),eL(y,"dragend",e=>{null==u||u(e),g&&y&&!C.current&&g(y.getPath().getArray())}),(0,l.useEffect)(()=>
7{if(!y||!g)return;let e=y.getPath();if(!e)return;let t=()=>{C.current||g(e.getArray())},n=[google.maps.event.addListener(e,"insert_at",t),google.maps.event.addListener(e,"remove_at",t),google.maps.event.addListener(e,"set_at",t)];return()=>{n.forEach(e=>e.remove())}},[y,g,m,p,w.editable,w.draggable]),(0,l.useEffect)(()=>{y&&y.setOptions(w)},[y,w]),(0,l.useEffect)(()=>{y&&m&&(es(m,y.getPath())||(C.current=!0,y.setPath(m),C.current=!1))},[y,m]),(0,l.useEffect)(()=>{if(!y||!p||!O)return;C.current=!0;let e=O.encoding.decodePath(p);y.setPath(e),C.current=!1},[y,p,O]),y}(e);return(0,l.useImperativeHandle)(t,()=>n,[n]),l.createElement(l.Fragment,null)}).displayName="Polyline";let ez={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},eU=["center","range","heading","tilt","roll"],eH=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function eJ(e,t){let n=e.center;return{type:t,map3d:e,detail:{center:n&&"toJSON"in n&&"function"==typeof n.toJSON?n.toJSON():n||{lat:0,lng:0,altitude:0},range:e.range||0,heading:e.heading||0,tilt:e.tilt||0,roll:e.roll||0}}}function eq(e,t,n,r){(0,l.useEffect)(()=>{if(!e||!n)return;let a=()=>{n(r(e,t))};return e.addEventListener(t,a),()=>e.removeEventListener(t,a)},[e,t,n,r])}let eB=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]),eG=l.createContext(null),e$={width:"100%",height:"100%",position:"relative"};(0,l.forwardRef)((e,t)=>{let{children:n,id:r,className:a,style:o}=e,i=(0,l.useContext)(y);if(!i)throw Error("<Map3D> can only be used inside an <APIProvider> component.");let{addMap3DInstance:u,removeMap3DInstance:c}=i,[d,g,f,p,m]=function(e){let t=ey("maps3d"),[n,r]=(0,l.useState)(!1),[,a]=ec(),[o,i]=ec(),u=function(e){let t=eg(),n=(0,l.useRef)(Object.assign({},ez));return(0,l.useEffect)(()=>{if(!e)return;let r=[];for(let a of eU){let o=`gmp-${a}change`,l=()=>{let r=e[a];null!=r&&("center"===a?n.current.center=r.toJSON?r.toJSON():r:n.current[a]=r),t()};e.addEventListener(o,l),r.push(()=>e.removeEventListener(o,l))}return()=>{for(let e of r)e()}},[e,t]),n}(o);return(0,l.useEffect)(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{r(!0)})},[]),(0,l.useEffect)(()=>{if(!o)return;let{center:t,heading:n,tilt:r,range:a,roll:l,defaultCenter:i,defaultHeading:u,defaultTilt:c,defaultRange:d,defaultRoll:g,id:f,style:p,className:m,children:h,onCenterChanged:b,onHeadingChanged:y,onTiltChanged:v,onRangeChanged:E,onRollChanged:O,onCameraChanged:C,onClick:w,onSteadyChange:A,onAnimationEnd:L,onError:S,mode:j,gestureHandling:k}=e,I=s(e,["center","heading","tilt","range","roll","defaultCenter","defaultHeading","defaultTilt","defaultRange","defaultRoll","
7id","style","className","children","onCenterChanged","onHeadingChanged","onTiltChanged","onRangeChanged","onRollChanged","onCameraChanged","onClick","onSteadyChange","onAnimationEnd","onError","mode","gestureHandling"]),M=null!=t?t:i,P=null!=n?n:u,D=null!=r?r:c,N=null!=a?a:d,_=null!=l?l:g,T=Object.assign({},I);M&&(T.center=M),void 0!==P&&(T.heading=P),void 0!==D&&(T.tilt=D),void 0!==N&&(T.range=N),void 0!==_&&(T.roll=_),Object.assign(o,T)},[o]),[o,a,i,u,!!t&&n]}(e);!function(e,t,n){var r,a,o,i,s,u,c,d;let g=(d=n.center)?"toJSON"in d&&"function"==typeof d.toJSON?d.toJSON():d:null,f=null!=(r=null==g?void 0:g.lat)?r:null,p=null!=(a=null==g?void 0:g.lng)?a:null,m=null!=(o=null==g?void 0:g.altitude)?o:null,h=null!=(i=n.range)?i:null,b=null!=(s=n.heading)?s:null,y=null!=(u=n.tilt)?u:null,v=null!=(c=n.roll)?c:null;(0,l.useLayoutEffect)(()=>{var n;if(!e)return;let r=t.current;null!==f&&null!==p&&(r.center.lat!==f||r.center.lng!==p||null!==m&&r.center.altitude!==m)&&(e.center={lat:f,lng:p,altitude:null!=(n=null!=m?m:r.center.altitude)?n:0}),null!==h&&r.range!==h&&(e.range=h),null!==b&&r.heading!==b&&(e.heading=b),null!==y&&r.tilt!==y&&(e.tilt=y),null!==v&&r.roll!==v&&(e.roll=v)})}(d,p,e),function(e,t){let{onCenterChanged:n,onHeadingChanged:r,onTiltChanged:a,onRangeChanged:o,onRollChanged:i,onCameraChanged:s,onClick:u,onSteadyChange:c,onAnimationEnd:d,onError:g}=t;eq(e,"gmp-centerchange",n,eJ),eq(e,"gmp-headingchange",r,eJ),eq(e,"gmp-tiltchange",a,eJ),eq(e,"gmp-rangechange",o,eJ),eq(e,"gmp-rollchange",i,eJ),(0,l.useEffect)(()=>{if(!e||!s)return;let t=()=>{s(eJ(e,"camerachange"))};for(let n of eH)e.addEventListener(n,t);return()=>{for(let n of eH)e.removeEventListener(n,t)}},[e,s]),(0,l.useEffect)(()=>{if(!e||!u)return;let t=t=>{u({type:"gmp-click",map3d:e,detail:{position:t.position||null,placeId:t.placeId}})};return e.addEventListener("gmp-click",t),()=>e.removeEventListener("gmp-click",t)},[e,u]),(0,l.useEffect)(()=>{if(!e||!c)return;let t=t=>{c({type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}})};return e.addEventListener("gmp-steadychange",t),()=>e.removeEventListener("gmp-steadychange",t)},[e,c]),eq(e,"gmp-animationend",d,(e,t)=>({type:t,map3d:e})),eq(e,"gmp-error",g,(e,t)=>({type:t,map3d:e}))}(d,e),function(e,t){let n=(0,l.useMemo)(()=>{let e={};for(let n of Object.keys(t)){if(!eB.has(n))continue;let r=t[n];void 0!==r&&(e[n]=r)}return e},[t]);en(()=>{e&&Object.assign(e,n)},[e,n])}(d,e),(0,l.useEffect)(()=>{if(!d)return;let e=null!=r?r:"default";return u(d,e),()=>{c(e)}},[d,r]),(0,l.useImperativeHandle)(t,()=>({map3d:d,flyCameraAround:e=>{null==d||d.flyCameraAround(e)},flyCameraTo:e=>{null==d||d.flyCameraTo(e)},stopCameraAnimation:()=>{null==d||d.stopCameraAnimation()}}),[d]);let h=(0,l.useMemo)(()=>Object.assign(Object.assign({},e$),o),[o]),b=(0,l.useMemo)(()=>({map3d:d}),[d]);return m?l.createElement("div",Object.assign({ref:g,"data-testid":"map-3d",style:a?void 0:h,className:a},r?{id:r}:{}),l.createElement("gmp-map-3d",{ref:f,style:{width:"100%",height:"100%"}},d&&l.createElement(eG.Provider,{value:b},n))):l.createElement("div",Object.assign({ref:g,"data-testid":"map-3d",style:a?void 0:h,className:a},r?{id:r}:{}))}).displayName="Map3D";let eZ=(0,l.createContext)(null);(0,l.forwardRef)(function(e,t){let{children:n,onClick:r,position:a,altitudeMode:o,collisionBehavior:s,drawsWhenOccluded:u,extruded:c,label:d,sizePreserved:g,zIndex:f,title:p}=e,m=!!r,[h,b]=(0,l.useState)(null),[y,v]=(0,l.useState)(!1),E=(0,l.useMemo)(()=>{let e=document.createElement("div");return e.style.display="none",document.body.appendChild(e),e},[]);(0,l.useEffect)(()=>()=>E.remove(),[E]);let O=(0,l.useCallback)(e=>{b(e),"function"==typeof t?t(e):t&&(t.current=e)},[t]);ek(h,"gmp-click",r),(0,l.useLayoutEffect)(()=>{if(!y&&h&&E){for(;h.firstChild;)h.removeChild(h.firstChild);for(let e of Array.from(E.childNodes)){if(e.nodeType!==Node.ELEMENT_NODE)continue;let t=e.tagName.toLowerCase();if("img"===t||"svg"===t){let t=document.createElement("template");t.content.appendChild(e.cloneNode(!0)),h.appendChild(t)}else h.appendChild(e.cloneNode(!0))}}},[h,E,n,y]);let C=(0,l.useMemo)(()=>({marker:h,setContentHandledExternally:v}
7),[h]);return eS(h,"position",a),eS(h,"altitudeMode",o),eS(h,"collisionBehavior",s),eS(h,"drawsWhenOccluded",u),eS(h,"extruded",c),eS(h,"label",d),eS(h,"sizePreserved",g),eS(h,"zIndex",f),eS(h,"title",null!=p?p:""),l.createElement(eZ.Provider,{value:C},m?l.createElement("gmp-marker-3d-interactive",{ref:O}):l.createElement("gmp-marker-3d",{ref:O}),(0,i.createPortal)(n,E))}).displayName="Marker3D",(0,l.forwardRef)(function(e,t){var n;let{children:r,headerContent:a,style:o,className:i,open:s=!0,position:u,anchor:c,anchorId:d,altitudeMode:g,lightDismissDisabled:f,autoPanDisabled:p,onClose:m}=e,[h,b]=(0,l.useState)(null),y=(0,l.useRef)(null);return(0,l.useImperativeHandle)(t,()=>h,[h]),function(e,t,n){let r=(0,l.useRef)(void 0),a=(0,l.useRef)(t);(0,l.useEffect)(()=>{a.current=t},[t]),(0,l.useEffect)(()=>{if(!e||!n)return;let t=new MutationObserver(t=>{for(let o of t)if("attributes"===o.type&&"open"===o.attributeName){let t=e.hasAttribute("open");!0!==r.current||t||!1===a.current||n(),r.current=t}});return t.observe(e,{attributes:!0,attributeFilter:["open"]}),r.current=e.hasAttribute("open"),()=>{t.disconnect()}},[e,n])}(h,s,m),eS(h,"open",null!=s&&s),eS(h,"altitudeMode",g),eS(h,"lightDismissDisabled",f),eS(h,"autoPanDisabled",p),eS(h,"positionAnchor",null!=(n=null!=c?c:d)?n:u),(0,l.useLayoutEffect)(()=>{h&&(!function(e,t,n){if(null!=t&&"object"!=typeof t)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");let r=e.style;if(null==n){if(null==t)return;for(let e in t)t.hasOwnProperty(e)&&ex(r,e,t[e]);return}for(let e in n)n.hasOwnProperty(e)&&(null==t||!t.hasOwnProperty(e))&&(0===e.indexOf("--")?r.setProperty(e,""):"float"===e?r.cssFloat="":r[e]="");if(null!=t)for(let e in t){let a=t[e];t.hasOwnProperty(e)&&n[e]!==a&&ex(r,e,a)}}(h,o||null,y.current),y.current=o||null)},[h,o]),l.createElement("gmp-popover",{ref:b,className:i},a&&l.createElement("div",{slot:"header"},a),r)}).displayName="Popover",(0,l.forwardRef)((e,t)=>{let n=function(e){let[t,n]=(0,l.useState)(null),r=eb(),{onClick:a,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d}=e,g=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:f,draggable:p}=g;return(0,l.useEffect)(()=>{if(!r){void 0===r&&console.error("<Marker> has to be inside a Map component.");return}let e=new google.maps.Marker(g);return e.setMap(r),n(e),()=>{e.setMap(null),n(null)}},[r]),(0,l.useEffect)(()=>{if(!t)return;let e=google.maps.event;return a&&e.addListener(t,"click",a),o&&e.addListener(t,"drag",o),i&&e.addListener(t,"dragstart",i),u&&e.addListener(t,"dragend",u),c&&e.addListener(t,"mouseover",c),d&&e.addListener(t,"mouseout",d),t.setDraggable(!!p),()=>{e.clearInstanceListeners(t)}},[t,p,a,o,i,u,c,d]),(0,l.useEffect)(()=>{t&&g&&t.setOptions(g)},[t,g]),(0,l.useEffect)(()=>{!p&&f&&t&&t.setPosition(f)},[p,f,t]),t}(e);return(0,l.useImperativeHandle)(t,()=>n,[n]),l.createElement(l.Fragment,null)}).displayName="Marker",(0,l.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:a,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onBoundsChanged:g,bounds:f,defaultBounds:p}=e,m=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[h,b]=(0,l.useState)(null),y=eb(),v=j(Object.assign(Object.assign({},m),{clickable:null!=(t=m.clickable)?t:!!a,draggable:null!=(n=m.draggable)?n:!!(o||i||u||g),editable:null!=(r=m.editable)?r:!!g}),ee);return(0,l.useEffect)(()=>{if(!y){void 0===y&&console.error("<Rectangle> has to be inside a Map component.");return}let e=new google.maps.Rectangle(Object.assign(Object.assign({},v),{bounds:null!=f?f:p}));return e.setMap(y),b(e),()=>{e.setMap(null),b(null)}},[y]),eL(h,"click",a),eL(h,"drag",o),eL(h,"dragstart",i),eL(h,"dragend",u),eL(h,"mouseover",c),eL(h,"mouseout",d),eL(h,"bounds_changed",g?()=>{g(null==h?void 0:h.getBounds())}:null),(0,l.useEffect)(()=>{h&&h.setOptions(v)},[h,v]),(0,l.useEffect)(()=>{h&&f&&!function(e,t){if(!e||!t)return!1;let n=ei(e),r=ei(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}(f,h.getBounds())&&h.setBounds(f)},[h,f]),h}(e);return(0,l.useImperativeHandle)(t,()=>n,[n]),l.createElement(l.Fragment,null)}).displayName="Rectangle"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.