"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1255],{37054:function(e,t,s){s.r(t),s.d(t,{Autocomplete:function(){return Autocomplete},BicyclingLayer:function(){return BicyclingLayer},BicyclingLayerF:function(){return T},Circle:function(){return Circle},CircleF:function(){return eS},Data:function(){return Data},DataF:function(){return eO},DirectionsRenderer:function(){return DirectionsRenderer},DirectionsService:function(){return DirectionsService},DistanceMatrixService:function(){return DistanceMatrixService},DrawingManager:function(){return DrawingManager},DrawingManagerF:function(){return R},FLOAT_PANE:function(){return eI},GoogleMap:function(){return GoogleMap},GoogleMapsMarkerClusterer:function(){return el},GoogleMarkerClusterer:function(){return eu},GroundOverlay:function(){return GroundOverlay},GroundOverlayF:function(){return eV},HeatmapLayer:function(){return HeatmapLayer},HeatmapLayerF:function(){return eW},InfoBox:function(){return InfoBoxComponent},InfoBoxF:function(){return en},InfoWindow:function(){return InfoWindow},InfoWindowF:function(){return ed},KmlLayer:function(){return KmlLayer},LoadScript:function(){return LoadScript},LoadScriptNext:function(){return M},MAP_PANE:function(){return eD},MARKER_LAYER:function(){return eT},MapContext:function(){return L},Marker:function(){return Marker},MarkerClusterer:function(){return ClustererComponent},MarkerClustererF:function(){return q},MarkerF:function(){return Z},OVERLAY_LAYER:function(){return eB},OVERLAY_MOUSE_TARGET:function(){return eA},OverlayView:function(){return OverlayView},OverlayViewF:function(){return eU},Polygon:function(){return Polygon},PolygonF:function(){return eL},Polyline:function(){return Polyline},PolylineF:function(){return ev},Rectangle:function(){return Rectangle},RectangleF:function(){return eC},StandaloneSearchBox:function(){return StandaloneSearchBox},StreetViewPanorama:function(){return StreetViewPanorama},StreetViewService:function(){return StreetViewService},TrafficLayer:function(){return TrafficLayer},TrafficLayerF:function(){return D},TransitLayer:function(){return TransitLayer},TransitLayerF:function(){return B},useGoogleMap:function(){return useGoogleMap},useJsApiLoader:function(){return useJsApiLoader},useLoadScript:function(){return useLoadScript}});var n,o,r,i,a,l,p,c,d,h,g,m=s(85893),v=s(67294),f=s(73935);function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,s){var n;return(n=function(e,t){if("object"!=_typeof(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t||"default");if("object"!=_typeof(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==_typeof(n)?n:n+"")in e)?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function getDefaultExportFromCjs$1(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var y=getDefaultExportFromCjs$1(l?a:(l=1,a=function(e,t,s,n,o,r,i,a){if(!e){var l;if(void 0===t)l=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var p=[s,n,o,r,i,a],c=0;(l=Error(t.replace(/%s/g,function(){return p[c++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}})),L=(0,v.createContext)(null);function useGoogleMap(){y(!!v.useContext,"useGoogleMap is React hook and requires React version 16.8+");var e=(0,v.useContext)(L);return y(!!e,"useGoogleMap needs a GoogleMap available up in the tree"),e}function unregisterEvent(e){google.maps.event.removeListener(e)}function unregisterEvents(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.forEach(unregisterEvent)}function applyUpdatersToPropsAndRegisterEvents(e){var t,{updaterMap:s,eventMap:n,prevProps:o,nextProps:r,instance:i}=e,a=Object.keys(n).reduce(function(e,t){var s;return s=n[t],"function"==typeof r[t]&&e.push(google.maps.event.addListener(i,s,r[t])),e},[]);return t={},function(e,t){Object.keys(e).forEach(s=>t(e[s],s))}(s,(e,s)=>{var n=r[s];n!==o[s]&&(t[s]=n,e(i,n))}),a}var b={onDblClick:"dblclick",onDragEnd:"dragend",onDragStart:"dragstart",onMapTypeIdChanged:"maptypeid_changed",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseDown:"mousedown",onMouseUp:"mouseup",onRightClick:"rightclick",onTilesLoaded:"tilesloaded",onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onDrag:"drag",onHeadingChanged:"heading_changed",onIdle:"idle",onProjectionChanged:"projection_changed",onResize:"resize",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},P={extraMapTypes(e,t){t.forEach(function(t,s){e.mapTypes.set(String(s),t)})},center(e,t){e.setCenter(t)},clickableIcons(e,t){e.setClickableIcons(t)},heading(e,t){e.setHeading(t)},mapTypeId(e,t){e.setMapTypeId(t)},options(e,t){e.setOptions(t)},streetView(e,t){e.setStreetView(t)},tilt(e,t){e.setTilt(t)},zoom(e,t){e.setZoom(t)}};(0,v.memo)(function(e){var{children:t,options:s,id:n,mapContainerStyle:o,mapContainerClassName:r,center:i,onClick:a,onDblClick:l,onDrag:p,onDragEnd:c,onDragStart:d,onMouseMove:h,onMouseOut:g,onMouseOver:f,onMouseDown:y,onMouseUp:b,onRightClick:P,onCenterChanged:C,onLoad:E,onUnmount:w}=e,[x,S]=(0,v.useState)(null),M=(0,v.useRef)(null),[k,O]=(0,v.useState)(null),[_,j]=(0,v.useState)(null),[I,D]=(0,v.useState)(null),[T,B]=(0,v.useState)(null),[A,U]=(0,v.useState)(null),[R,z]=(0,v.useState)(null),[V,$]=(0,v.useState)(null),[Z,W]=(0,v.useState)(null),[N,H]=(0,v.useState)(null),[G,K]=(0,v.useState)(null),[F,Y]=(0,v.useState)(null),[q,J]=(0,v.useState)(null);return(0,v.useEffect)(()=>{s&&null!==x&&x.setOptions(s)},[x,s]),(0,v.useEffect)(()=>{null!==x&&void 0!==i&&x.setCenter(i)},[x,i]),(0,v.useEffect)(()=>{x&&l&&(null!==_&&google.maps.event.removeListener(_),j(google.maps.event.addListener(x,"dblclick",l)))},[l]),(0,v.useEffect)(()=>{x&&c&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(x,"dragend",c)))},[c]),(0,v.useEffect)(()=>{x&&d&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(x,"dragstart",d)))},[d]),(0,v.useEffect)(()=>{x&&y&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(x,"mousedown",y)))},[y]),(0,v.useEffect)(()=>{x&&h&&(null!==R&&google.maps.event.removeListener(R),z(google.maps.event.addListener(x,"mousemove",h)))},[h]),(0,v.useEffect)(()=>{x&&g&&(null!==V&&google.maps.event.removeListener(V),$(google.maps.event.addListener(x,"mouseout",g)))},[g]),(0,v.useEffect)(()=>{x&&f&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(x,"mouseover",f)))},[f]),(0,v.useEffect)(()=>{x&&b&&(null!==N&&google.maps.event.removeListener(N),H(google.maps.event.addListener(x,"mouseup",b)))},[b]),(0,v.useEffect)(()=>{x&&P&&(null!==G&&google.maps.event.removeListener(G),K(google.maps.event.addListener(x,"rightclick",P)))},[P]),(0,v.useEffect)(()=>{x&&a&&(null!==F&&google.maps.event.removeListener(F),Y(google.maps.event.addListener(x,"click",a)))},[a]),(0,v.useEffect)(()=>{x&&p&&(null!==q&&google.maps.event.removeListener(q),J(google.maps.event.addListener(x,"drag",p)))},[p]),(0,v.useEffect)(()=>{x&&C&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(x,"center_changed",C)))},[a]),(0,v.useEffect)(()=>{var e=null===M.current?null:new google.maps.Map(M.current,s);return S(e),null!==e&&E&&E(e),()=>{null!==e&&w&&w(e)}},[]),(0,m.jsx)("div",{id:n,ref:M,style:o,className:r,children:(0,m.jsx)(L.Provider,{value:x,children:null!==x?t:null})})});let GoogleMap=class GoogleMap extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{map:null}),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"mapRef",null),_defineProperty(this,"getInstance",()=>null===this.mapRef?null:new google.maps.Map(this.mapRef,this.props.options)),_defineProperty(this,"panTo",e=>{var t=this.getInstance();t&&t.panTo(e)}),_defineProperty(this,"setMapCallback",()=>{null!==this.state.map&&this.props.onLoad&&this.props.onLoad(this.state.map)}),_defineProperty(this,"getRef",e=>{this.mapRef=e})}componentDidMount(){var e=this.getInstance();this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:P,eventMap:b,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{map:e}},this.setMapCallback)}componentDidUpdate(e){null!==this.state.map&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:P,eventMap:b,prevProps:e,nextProps:this.props,instance:this.state.map}))}componentWillUnmount(){null!==this.state.map&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),unregisterEvents(this.registeredEvents))}render(){return(0,m.jsx)("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName,children:(0,m.jsx)(L.Provider,{value:this.state.map,children:null!==this.state.map?this.props.children:null})})}};function asyncGeneratorStep(e,t,s,n,o,r,i){try{var a=e[r](i),l=a.value}catch(e){return void s(e)}a.done?t(l):Promise.resolve(l).then(n,o)}function _asyncToGenerator(e){return function(){var t=this,s=arguments;return new Promise(function(n,o){var r=e.apply(t,s);function _next(e){asyncGeneratorStep(r,n,o,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(r,n,o,_next,_throw,"throw",e)}_next(void 0)})}}function makeLoadScriptUrl(e){var{googleMapsApiKey:t,googleMapsClientId:s,version:n="weekly",language:o,region:r,libraries:i,channel:a,mapIds:l,authReferrerPolicy:p}=e,c=[];return y(t&&s||!(t&&s),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),t?c.push("key=".concat(t)):s&&c.push("client=".concat(s)),n&&c.push("v=".concat(n)),o&&c.push("language=".concat(o)),r&&c.push("region=".concat(r)),i&&i.length&&c.push("libraries=".concat(i.sort().join(","))),a&&c.push("channel=".concat(a)),l&&l.length&&c.push("map_ids=".concat(l.join(","))),p&&c.push("auth_referrer_policy=".concat(p)),c.push("loading=async"),c.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?".concat(c.join("&"))}var C="undefined"!=typeof document;function injectScript(e){var{url:t,id:s,nonce:n}=e;return C?new Promise(function(e,o){var r=document.getElementById(s),i=window;if(r){var a=r.getAttribute("data-state");if(r.src===t&&"error"!==a){if("ready"===a)return e(s);var l=i.initMap,p=r.onerror;return i.initMap=function(){l&&l(),e(s)},void(r.onerror=function(e){p&&p(e),o(e)})}r.remove()}var c=document.createElement("script");c.type="text/javascript",c.src=t,c.id=s,c.async=!0,c.nonce=n||"",c.onerror=function(e){c.setAttribute("data-state","error"),o(e)},i.initMap=function(){c.setAttribute("data-state","ready"),e(s)},document.head.appendChild(c)}).catch(e=>{throw console.error("injectScript error: ",e),e}):Promise.reject(Error("document is undefined"))}function isGoogleFontStyle(e){var t=e.href;return!!t&&(0===t.indexOf("https://fonts.googleapis.com/css?family=Roboto")||0===t.indexOf("https://fonts.googleapis.com/css?family=Google+Sans+Text"))||("style"===e.tagName.toLowerCase()&&e.styleSheet&&e.styleSheet.cssText&&0===e.styleSheet.cssText.replace("\r\n","").indexOf(".gm-style")?(e.styleSheet.cssText="",!0):"style"===e.tagName.toLowerCase()&&e.innerHTML&&0===e.innerHTML.replace("\r\n","").indexOf(".gm-style")?(e.innerHTML="",!0):"style"===e.tagName.toLowerCase()&&!e.styleSheet&&!e.innerHTML)}function preventGoogleFonts(){var e=document.getElementsByTagName("head")[0];if(e){var t=e.insertBefore.bind(e);e.insertBefore=function(s,n){return isGoogleFontStyle(s)||Reflect.apply(t,e,[s,n]),s};var s=e.appendChild.bind(e);e.appendChild=function(t){return isGoogleFontStyle(t)||Reflect.apply(s,e,[t]),t}}}var E=!1;function DefaultLoadingElement(){return(0,m.jsx)("div",{children:"Loading..."})}var w={id:"script-loader",version:"weekly"};let LoadScript=class LoadScript extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"check",null),_defineProperty(this,"state",{loaded:!1}),_defineProperty(this,"cleanupCallback",()=>{delete window.google.maps,this.injectScript()}),_defineProperty(this,"isCleaningUp",_asyncToGenerator(function*(){return new Promise(function(e){if(E){if(C)var t=window.setInterval(function(){E||(window.clearInterval(t),e())},1)}else e()})})),_defineProperty(this,"cleanup",()=>{E=!0;var e=document.getElementById(this.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter(function(e){return"string"==typeof e.src&&e.src.includes("maps.googleapis")}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)}),Array.prototype.slice.call(document.getElementsByTagName("link")).filter(function(e){return"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"===e.href}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)}),Array.prototype.slice.call(document.getElementsByTagName("style")).filter(function(e){return void 0!==e.innerText&&e.innerText.length>0&&e.innerText.includes(".gm-")}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)})}),_defineProperty(this,"injectScript",()=>{this.props.preventGoogleFontsLoading&&preventGoogleFonts(),y(!!this.props.id,'LoadScript requires "id" prop to be a string: %s',this.props.id),injectScript({id:this.props.id,nonce:this.props.nonce,url:makeLoadScriptUrl(this.props)}).then(()=>{this.props.onLoad&&this.props.onLoad(),this.setState(function(){return{loaded:!0}})}).catch(e=>{this.props.onError&&this.props.onError(e),console.error("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(this.props.googleMapsApiKey||"-",") or Client ID (").concat(this.props.googleMapsClientId||"-",") to \n Otherwise it is a Network issue.\n "))})}),_defineProperty(this,"getRef",e=>{this.check=e})}componentDidMount(){if(C){if(window.google&&window.google.maps&&!E){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(e){console.error("Error at injecting script after cleaning up: ",e)})}}componentDidUpdate(e){this.props.libraries!==e.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),C&&e.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))}componentWillUnmount(){C&&(this.cleanup(),window.setTimeout(()=>{this.check||(delete window.google,E=!1)},1),this.props.onUnmount&&this.props.onUnmount())}render(){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{ref:this.getRef}),this.state.loaded?this.props.children:this.props.loadingElement||(0,m.jsx)(DefaultLoadingElement,{})]})}};function _objectWithoutProperties(e,t){if(null==e)return{};var s,n,o=function(e,t){if(null==e)return{};var s={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(t.includes(n))continue;s[n]=e[n]}return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n{m.current=!1}},[]),(0,v.useEffect)(function(){C&&c&&preventGoogleFonts()},[c]),(0,v.useEffect)(function(){f&&y(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[f]);var E=makeLoadScriptUrl({version:s,googleMapsApiKey:o,googleMapsClientId:r,language:i,region:a,libraries:l,channel:d,mapIds:h,authReferrerPolicy:g});(0,v.useEffect)(function(){if(C){if(window.google&&window.google.maps&&p===E){setLoadedIfMounted();return}injectScript({id:t,url:E,nonce:n}).then(setLoadedIfMounted).catch(function(e){m.current&&P(e),console.warn("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(o||"-",") or Client ID (").concat(r||"-",")\n Otherwise it is a Network issue.\n ")),console.error(e)})}function setLoadedIfMounted(){m.current&&(L(!0),p=E)}},[t,E,n]);var x=(0,v.useRef)(void 0);return(0,v.useEffect)(function(){x.current&&l!==x.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),x.current=l},[l]),{isLoaded:f,loadError:b,url:E}}_defineProperty(LoadScript,"defaultProps",w);var x=["loadingElement","onLoad","onError","onUnmount","children"],S=(0,m.jsx)(DefaultLoadingElement,{}),M=(0,v.memo)(function(e){var{loadingElement:t,onLoad:s,onError:n,onUnmount:o,children:r}=e,{isLoaded:i,loadError:a}=useLoadScript(_objectWithoutProperties(e,x));return(0,v.useEffect)(function(){i&&"function"==typeof s&&s()},[i,s]),(0,v.useEffect)(function(){a&&"function"==typeof n&&n(a)},[a,n]),(0,v.useEffect)(function(){return()=>{o&&o()}},[o]),i?r:t||S});"function"==typeof SuppressedError&&SuppressedError;var k=(n=function equal(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)){if((s=e.length)!=t.length)return!1;for(n=s;0!=n--;)if(!equal(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((s=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=s;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,o[n]))return!1;for(n=s;0!=n--;){var s,n,o,r=o[n];if(!equal(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}).__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,O="__googleMapsScriptId";(o=c||(c={}))[o.INITIALIZED=0]="INITIALIZED",o[o.LOADING=1]="LOADING",o[o.SUCCESS=2]="SUCCESS",o[o.FAILURE=3]="FAILURE";let Loader=class Loader{constructor(e){var{apiKey:t,authReferrerPolicy:s,channel:n,client:o,id:r=O,language:i,libraries:a=[],mapIds:l,nonce:p,region:c,retries:d=3,url:h="https://maps.googleapis.com/maps/api/js",version:g}=e;if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=s,this.channel=n,this.client=o,this.id=r||O,this.language=i,this.libraries=a,this.mapIds=l,this.nonce=p,this.region=c,this.retries=d,this.url=h,this.version=g,Loader.instance){if(!k(this.options,Loader.instance.options))throw Error("Loader must not be called again with different options. ".concat(JSON.stringify(this.options)," !== ").concat(JSON.stringify(Loader.instance.options)));return Loader.instance}Loader.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?c.FAILURE:this.done?c.SUCCESS:this.loading?c.LOADING:c.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){var e=this.url;return e+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(e+="&key=".concat(this.apiKey)),this.channel&&(e+="&channel=".concat(this.channel)),this.client&&(e+="&client=".concat(this.client)),this.libraries.length>0&&(e+="&libraries=".concat(this.libraries.join(","))),this.language&&(e+="&language=".concat(this.language)),this.region&&(e+="®ion=".concat(this.region)),this.version&&(e+="&v=".concat(this.version)),this.mapIds&&(e+="&map_ids=".concat(this.mapIds.join(","))),this.authReferrerPolicy&&(e+="&auth_referrer_policy=".concat(this.authReferrerPolicy)),e}deleteScript(){var e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(s=>{s?t(s.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){if(document.getElementById(this.id)){this.callback();return}var e,t,s={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(s).forEach(e=>!s[e]&&delete s[e]),(null===(t=null===(e=null==window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{var t,s,n,o="The Google Maps JavaScript API",r="google",i="importLibrary",a="__ib__",l=document,p=window,c=(p=p[r]||(p[r]={})).maps||(p.maps={}),d=new Set,h=new URLSearchParams,u=()=>t||(t=new Promise((i,p)=>{var g,m,v;return g=this,m=void 0,v=function*(){var g;for(n in yield s=l.createElement("script"),s.id=this.id,h.set("libraries",[...d]+""),e)h.set(n.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[n]);h.set("callback",r+".maps."+a),s.src=this.url+"?"+h,c[a]=i,s.onerror=()=>t=p(Error(o+" could not load.")),s.nonce=this.nonce||(null===(g=l.querySelector("script[nonce]"))||void 0===g?void 0:g.nonce)||"",l.head.append(s)},new(m||(m=Promise))(function(e,t){function fulfilled(e){try{step(v.next(e))}catch(e){t(e)}}function rejected(e){try{step(v.throw(e))}catch(e){t(e)}}function step(t){var s;t.done?e(t.value):((s=t.value)instanceof m?s:new m(function(e){e(s)})).then(fulfilled,rejected)}step((v=v.apply(g,[])).next())})}));c[i]?console.warn(o+" only loads once. Ignoring:",e):c[i]=function(e){for(var t=arguments.length,s=Array(t>1?t-1:0),n=1;nc[i](e,...s))}})(s);var n=this.libraries.map(e=>this.importLibrary(e));n.length||n.push(this.importLibrary("core")),Promise.all(n).then(()=>this.callback(),e=>{var t=new ErrorEvent("error",{error:e});this.loadErrorCallback(t)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){var t=this.errors.length*Math.pow(2,this.errors.length);console.error("Failed to load Google Maps script, retrying in ".concat(t," ms.")),setTimeout(()=>{this.deleteScript(),this.setScript()},t)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),!this.loading){if(this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading=!0,this.setScript()}}}};var _=["maps"];function useJsApiLoader(e){var{id:t=w.id,version:s=w.version,nonce:n,googleMapsApiKey:o,language:r,region:i,libraries:a=_,preventGoogleFontsLoading:l,mapIds:p,authReferrerPolicy:c}=e,d=(0,v.useRef)(!1),[h,g]=(0,v.useState)(!1),[m,f]=(0,v.useState)(void 0);(0,v.useEffect)(function(){return d.current=!0,()=>{d.current=!1}},[]);var y=(0,v.useMemo)(()=>new Loader({id:t,apiKey:o,version:s,libraries:a,language:r||"en",region:i||"US",mapIds:p||[],nonce:n||"",authReferrerPolicy:c||"origin"}),[t,o,s,a,r,i,p,n,c]);(0,v.useEffect)(function(){h||y.load().then(()=>{d.current&&g(!0)}).catch(e=>{f(e)})},[]),(0,v.useEffect)(()=>{C&&l&&preventGoogleFonts()},[l]);var L=(0,v.useRef)();return(0,v.useEffect)(()=>{L.current&&a!==L.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),L.current=a},[a]),{isLoaded:h,loadError:m}}function ownKeys$f(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$f(e){for(var t=1;t{null!==r&&r.setMap(o)},[o]),(0,v.useEffect)(()=>{t&&null!==r&&r.setOptions(t)},[r,t]),(0,v.useEffect)(()=>{var e=new google.maps.TrafficLayer(_objectSpread$f(_objectSpread$f({},t),{},{map:o}));return i(e),s&&s(e),()=>{null!==r&&(n&&n(r),r.setMap(null))}},[]),null});let TrafficLayer=class TrafficLayer extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{trafficLayer:null}),_defineProperty(this,"setTrafficLayerCallback",()=>{null!==this.state.trafficLayer&&this.props.onLoad&&this.props.onLoad(this.state.trafficLayer)}),_defineProperty(this,"registeredEvents",[])}componentDidMount(){var e=new google.maps.TrafficLayer(_objectSpread$f(_objectSpread$f({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:I,eventMap:j,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{trafficLayer:e}},this.setTrafficLayerCallback)}componentDidUpdate(e){null!==this.state.trafficLayer&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:I,eventMap:j,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))}componentWillUnmount(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),unregisterEvents(this.registeredEvents),this.state.trafficLayer.setMap(null))}render(){return null}};_defineProperty(TrafficLayer,"contextType",L);var T=(0,v.memo)(function(e){var{onLoad:t,onUnmount:s}=e,n=(0,v.useContext)(L),[o,r]=(0,v.useState)(null);return(0,v.useEffect)(()=>{null!==o&&o.setMap(n)},[n]),(0,v.useEffect)(()=>{var e=new google.maps.BicyclingLayer;return r(e),e.setMap(n),t&&t(e),()=>{null!==e&&(s&&s(e),e.setMap(null))}},[]),null});let BicyclingLayer=class BicyclingLayer extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{bicyclingLayer:null}),_defineProperty(this,"setBicyclingLayerCallback",()=>{null!==this.state.bicyclingLayer&&(this.state.bicyclingLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.bicyclingLayer))})}componentDidMount(){var e=new google.maps.BicyclingLayer;this.setState(()=>({bicyclingLayer:e}),this.setBicyclingLayerCallback)}componentWillUnmount(){null!==this.state.bicyclingLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))}render(){return null}};_defineProperty(BicyclingLayer,"contextType",L);var B=(0,v.memo)(function(e){var{onLoad:t,onUnmount:s}=e,n=(0,v.useContext)(L),[o,r]=(0,v.useState)(null);return(0,v.useEffect)(()=>{null!==o&&o.setMap(n)},[n]),(0,v.useEffect)(()=>{var e=new google.maps.TransitLayer;return r(e),e.setMap(n),t&&t(e),()=>{null!==o&&(s&&s(o),o.setMap(null))}},[]),null});let TransitLayer=class TransitLayer extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{transitLayer:null}),_defineProperty(this,"setTransitLayerCallback",()=>{null!==this.state.transitLayer&&(this.state.transitLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.transitLayer))})}componentDidMount(){var e=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:e}},this.setTransitLayerCallback)}componentWillUnmount(){null!==this.state.transitLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))}render(){return null}};function ownKeys$e(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$e(e){for(var t=1;t{null!==h&&h.setMap(d)},[d]),(0,v.useEffect)(()=>{t&&null!==h&&h.setOptions(t)},[h,t]),(0,v.useEffect)(()=>{null!==h&&h.setDrawingMode(null!=s?s:null)},[h,s]),(0,v.useEffect)(()=>{h&&n&&(null!==m&&google.maps.event.removeListener(m),f(google.maps.event.addListener(h,"circlecomplete",n)))},[h,n]),(0,v.useEffect)(()=>{h&&o&&(null!==b&&google.maps.event.removeListener(b),P(google.maps.event.addListener(h,"markercomplete",o)))},[h,o]),(0,v.useEffect)(()=>{h&&r&&(null!==C&&google.maps.event.removeListener(C),E(google.maps.event.addListener(h,"overlaycomplete",r)))},[h,r]),(0,v.useEffect)(()=>{h&&i&&(null!==w&&google.maps.event.removeListener(w),x(google.maps.event.addListener(h,"polygoncomplete",i)))},[h,i]),(0,v.useEffect)(()=>{h&&a&&(null!==S&&google.maps.event.removeListener(S),M(google.maps.event.addListener(h,"polylinecomplete",a)))},[h,a]),(0,v.useEffect)(()=>{h&&l&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(h,"rectanglecomplete",l)))},[h,l]),(0,v.useEffect)(()=>{y(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var e=new google.maps.drawing.DrawingManager(_objectSpread$e(_objectSpread$e({},t),{},{map:d}));return s&&e.setDrawingMode(s),n&&f(google.maps.event.addListener(e,"circlecomplete",n)),o&&P(google.maps.event.addListener(e,"markercomplete",o)),r&&E(google.maps.event.addListener(e,"overlaycomplete",r)),i&&x(google.maps.event.addListener(e,"polygoncomplete",i)),a&&M(google.maps.event.addListener(e,"polylinecomplete",a)),l&&O(google.maps.event.addListener(e,"rectanglecomplete",l)),g(e),p&&p(e),()=>{null!==h&&(m&&google.maps.event.removeListener(m),b&&google.maps.event.removeListener(b),C&&google.maps.event.removeListener(C),w&&google.maps.event.removeListener(w),S&&google.maps.event.removeListener(S),k&&google.maps.event.removeListener(k),c&&c(h),h.setMap(null))}},[]),null});let DrawingManager=class DrawingManager extends v.PureComponent{constructor(e){super(e),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{drawingManager:null}),_defineProperty(this,"setDrawingManagerCallback",()=>{null!==this.state.drawingManager&&this.props.onLoad&&this.props.onLoad(this.state.drawingManager)}),y(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing)}componentDidMount(){var e=new google.maps.drawing.DrawingManager(_objectSpread$e(_objectSpread$e({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:U,eventMap:A,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{drawingManager:e}},this.setDrawingManagerCallback)}componentDidUpdate(e){null!==this.state.drawingManager&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:U,eventMap:A,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))}componentWillUnmount(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),unregisterEvents(this.registeredEvents),this.state.drawingManager.setMap(null))}render(){return null}};function ownKeys$d(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$d(e){for(var t=1;t{null!==G&&G.setMap(H)},[H]),(0,v.useEffect)(()=>{void 0!==s&&null!==G&&G.setOptions(s)},[G,s]),(0,v.useEffect)(()=>{void 0!==i&&null!==G&&G.setDraggable(i)},[G,i]),(0,v.useEffect)(()=>{t&&null!==G&&G.setPosition(t)},[G,t]),(0,v.useEffect)(()=>{void 0!==a&&null!==G&&G.setVisible(a)},[G,a]),(0,v.useEffect)(()=>{null==G||G.setAnimation(l)},[G,l]),(0,v.useEffect)(()=>{G&&void 0!==p&&G.setClickable(p)},[G,p]),(0,v.useEffect)(()=>{G&&void 0!==c&&G.setCursor(c)},[G,c]),(0,v.useEffect)(()=>{G&&void 0!==d&&G.setIcon(d)},[G,d]),(0,v.useEffect)(()=>{G&&void 0!==h&&G.setLabel(h)},[G,h]),(0,v.useEffect)(()=>{G&&void 0!==g&&G.setOpacity(g)},[G,g]),(0,v.useEffect)(()=>{G&&void 0!==f&&G.setShape(f)},[G,f]),(0,v.useEffect)(()=>{G&&void 0!==y&&G.setTitle(y)},[G,y]),(0,v.useEffect)(()=>{G&&void 0!==b&&G.setZIndex(b)},[G,b]),(0,v.useEffect)(()=>{G&&C&&(null!==F&&google.maps.event.removeListener(F),Y(google.maps.event.addListener(G,"dblclick",C)))},[C]),(0,v.useEffect)(()=>{G&&w&&(null!==q&&google.maps.event.removeListener(q),J(google.maps.event.addListener(G,"dragend",w)))},[w]),(0,v.useEffect)(()=>{G&&x&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(G,"dragstart",x)))},[x]),(0,v.useEffect)(()=>{G&&O&&(null!==ee&&google.maps.event.removeListener(ee),et(google.maps.event.addListener(G,"mousedown",O)))},[O]),(0,v.useEffect)(()=>{G&&S&&(null!==es&&google.maps.event.removeListener(es),en(google.maps.event.addListener(G,"mouseout",S)))},[S]),(0,v.useEffect)(()=>{G&&M&&(null!==eo&&google.maps.event.removeListener(eo),er(google.maps.event.addListener(G,"mouseover",M)))},[M]),(0,v.useEffect)(()=>{G&&k&&(null!==ei&&google.maps.event.removeListener(ei),ea(google.maps.event.addListener(G,"mouseup",k)))},[k]),(0,v.useEffect)(()=>{G&&_&&(null!==el&&google.maps.event.removeListener(el),eu(google.maps.event.addListener(G,"rightclick",_)))},[_]),(0,v.useEffect)(()=>{G&&P&&(null!==ep&&google.maps.event.removeListener(ep),ec(google.maps.event.addListener(G,"click",P)))},[P]),(0,v.useEffect)(()=>{G&&E&&(null!==ed&&google.maps.event.removeListener(ed),eh(google.maps.event.addListener(G,"drag",E)))},[E]),(0,v.useEffect)(()=>{G&&j&&(null!==eg&&google.maps.event.removeListener(eg),em(google.maps.event.addListener(G,"clickable_changed",j)))},[j]),(0,v.useEffect)(()=>{G&&I&&(null!==ev&&google.maps.event.removeListener(ev),ef(google.maps.event.addListener(G,"cursor_changed",I)))},[I]),(0,v.useEffect)(()=>{G&&D&&(null!==ey&&google.maps.event.removeListener(ey),eL(google.maps.event.addListener(G,"animation_changed",D)))},[D]),(0,v.useEffect)(()=>{G&&T&&(null!==eb&&google.maps.event.removeListener(eb),eP(google.maps.event.addListener(G,"draggable_changed",T)))},[T]),(0,v.useEffect)(()=>{G&&B&&(null!==eC&&google.maps.event.removeListener(eC),eE(google.maps.event.addListener(G,"flat_changed",B)))},[B]),(0,v.useEffect)(()=>{G&&A&&(null!==ew&&google.maps.event.removeListener(ew),ex(google.maps.event.addListener(G,"icon_changed",A)))},[A]),(0,v.useEffect)(()=>{G&&U&&(null!==eS&&google.maps.event.removeListener(eS),eM(google.maps.event.addListener(G,"position_changed",U)))},[U]),(0,v.useEffect)(()=>{G&&R&&(null!==ek&&google.maps.event.removeListener(ek),eO(google.maps.event.addListener(G,"shape_changed",R)))},[R]),(0,v.useEffect)(()=>{G&&z&&(null!==e_&&google.maps.event.removeListener(e_),ej(google.maps.event.addListener(G,"title_changed",z)))},[z]),(0,v.useEffect)(()=>{G&&V&&(null!==eI&&google.maps.event.removeListener(eI),eD(google.maps.event.addListener(G,"visible_changed",V)))},[V]),(0,v.useEffect)(()=>{G&&Z&&(null!==eT&&google.maps.event.removeListener(eT),eB(google.maps.event.addListener(G,"zindex_changed",Z)))},[Z]),(0,v.useEffect)(()=>{var e=_objectSpread$d(_objectSpread$d(_objectSpread$d({},s||$),n?$:{map:H}),{},{position:t}),r=new google.maps.Marker(e);return n?n.addMarker(r,!!o):r.setMap(H),t&&r.setPosition(t),void 0!==a&&r.setVisible(a),void 0!==i&&r.setDraggable(i),void 0!==p&&r.setClickable(p),"string"==typeof c&&r.setCursor(c),d&&r.setIcon(d),void 0!==h&&r.setLabel(h),void 0!==g&&r.setOpacity(g),f&&r.setShape(f),"string"==typeof y&&r.setTitle(y),"number"==typeof b&&r.setZIndex(b),C&&Y(google.maps.event.addListener(r,"dblclick",C)),w&&J(google.maps.event.addListener(r,"dragend",w)),x&&Q(google.maps.event.addListener(r,"dragstart",x)),O&&et(google.maps.event.addListener(r,"mousedown",O)),S&&en(google.maps.event.addListener(r,"mouseout",S)),M&&er(google.maps.event.addListener(r,"mouseover",M)),k&&ea(google.maps.event.addListener(r,"mouseup",k)),_&&eu(google.maps.event.addListener(r,"rightclick",_)),P&&ec(google.maps.event.addListener(r,"click",P)),E&&eh(google.maps.event.addListener(r,"drag",E)),j&&em(google.maps.event.addListener(r,"clickable_changed",j)),I&&ef(google.maps.event.addListener(r,"cursor_changed",I)),D&&eL(google.maps.event.addListener(r,"animation_changed",D)),T&&eP(google.maps.event.addListener(r,"draggable_changed",T)),B&&eE(google.maps.event.addListener(r,"flat_changed",B)),A&&ex(google.maps.event.addListener(r,"icon_changed",A)),U&&eM(google.maps.event.addListener(r,"position_changed",U)),R&&eO(google.maps.event.addListener(r,"shape_changed",R)),z&&ej(google.maps.event.addListener(r,"title_changed",z)),V&&eD(google.maps.event.addListener(r,"visible_changed",V)),Z&&eB(google.maps.event.addListener(r,"zindex_changed",Z)),K(r),W&&W(r),()=>{null!==F&&google.maps.event.removeListener(F),null!==q&&google.maps.event.removeListener(q),null!==X&&google.maps.event.removeListener(X),null!==ee&&google.maps.event.removeListener(ee),null!==es&&google.maps.event.removeListener(es),null!==eo&&google.maps.event.removeListener(eo),null!==ei&&google.maps.event.removeListener(ei),null!==el&&google.maps.event.removeListener(el),null!==ep&&google.maps.event.removeListener(ep),null!==eg&&google.maps.event.removeListener(eg),null!==ev&&google.maps.event.removeListener(ev),null!==ey&&google.maps.event.removeListener(ey),null!==eb&&google.maps.event.removeListener(eb),null!==eC&&google.maps.event.removeListener(eC),null!==ew&&google.maps.event.removeListener(ew),null!==eS&&google.maps.event.removeListener(eS),null!==e_&&google.maps.event.removeListener(e_),null!==eI&&google.maps.event.removeListener(eI),null!==eT&&google.maps.event.removeListener(eT),N&&N(r),n?n.removeMarker(r,!!o):r&&r.setMap(null)}},[]);var eA=(0,v.useMemo)(()=>r?v.Children.map(r,e=>(0,v.isValidElement)(e)?(0,v.cloneElement)(e,{anchor:G}):e):null,[r,G]);return(0,m.jsx)(m.Fragment,{children:eA})||null});let Marker=class Marker extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[])}componentDidMount(){var e=this;return _asyncToGenerator(function*(){var t=_objectSpread$d(_objectSpread$d(_objectSpread$d({},e.props.options||$),e.props.clusterer?$:{map:e.context}),{},{position:e.props.position});e.marker=new google.maps.Marker(t),e.props.clusterer?e.props.clusterer.addMarker(e.marker,!!e.props.noClustererRedraw):e.marker.setMap(e.context),e.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:V,eventMap:z,prevProps:{},nextProps:e.props,instance:e.marker}),e.props.onLoad&&e.props.onLoad(e.marker)})()}componentDidUpdate(e){this.marker&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:V,eventMap:z,prevProps:e,nextProps:this.props,instance:this.marker}))}componentWillUnmount(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),unregisterEvents(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))}render(){return(this.props.children?v.Children.map(this.props.children,e=>(0,v.isValidElement)(e)?(0,v.cloneElement)(e,{anchor:this.marker}):e):null)||null}};_defineProperty(Marker,"contextType",L);var W=function(){function ClusterIcon(e,t){e.getClusterer().extend(ClusterIcon,google.maps.OverlayView),this.cluster=e,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=t,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(e.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return ClusterIcon.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},ClusterIcon.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},ClusterIcon.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var t=this.cluster.getClusterer();if(google.maps.event.trigger(t,"click",this.cluster),google.maps.event.trigger(t,"clusterclick",this.cluster),t.getZoomOnClick()){var s=t.getMaxZoom(),n=this.cluster.getBounds(),o=t.getMap();null!==o&&"fitBounds"in o&&o.fitBounds(n),this.timeOut=window.setTimeout(function(){var e=t.getMap();if(null!==e){"fitBounds"in e&&e.fitBounds(n);var o=e.getZoom()||0;null!==s&&o>s&&e.setZoom(s+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},ClusterIcon.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},ClusterIcon.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},ClusterIcon.prototype.onAdd=function(){this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),null===(e=this.getPanes())||void 0===e||e.overlayMouseTarget.appendChild(this.div);var e,t=this.getMap();null!==t&&(this.boundsChangedListener=google.maps.event.addListener(t,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},ClusterIcon.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),null!==this.boundsChangedListener&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),null!==this.timeOut&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},ClusterIcon.prototype.draw=function(){if(this.visible&&null!==this.div&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=null!==e?"".concat(e.y,"px"):"0",this.div.style.left=null!==e?"".concat(e.x,"px"):"0"}},ClusterIcon.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},ClusterIcon.prototype.show=function(){var e,t,s,n,o,r;if(this.div&&this.center){var i=null===this.sums||void 0===this.sums.title||""===this.sums.title?this.cluster.getClusterer().getTitle():this.sums.title,a=this.backgroundPosition.split(" "),l=parseInt((null===(e=a[0])||void 0===e?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),p=parseInt((null===(t=a[1])||void 0===t?void 0:t.replace(/^\s+|\s+$/g,""))||"0",10),c=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(null!==c?"".concat(c.y,"px"):"0","; left: ").concat(null!==c?"".concat(c.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var d=document.createElement("img");d.alt=i,d.src=this.url,d.width=this.width,d.height=this.height,d.setAttribute("style","position: absolute; top: ".concat(p,"px; left: ").concat(l,"px")),this.cluster.getClusterer().enableRetinaIcons||(d.style.clip="rect(-".concat(p,"px, -").concat(l+this.width,"px, -").concat(p+this.height,", -").concat(l,")"));var h=document.createElement("div");h.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),(null===(s=this.sums)||void 0===s?void 0:s.text)&&(h.innerText="".concat(null===(n=this.sums)||void 0===n?void 0:n.text)),(null===(o=this.sums)||void 0===o?void 0:o.html)&&(h.innerHTML="".concat(null===(r=this.sums)||void 0===r?void 0:r.html)),this.div.innerHTML="",this.div.appendChild(d),this.div.appendChild(h),this.div.title=i,this.div.style.display=""}this.visible=!0},ClusterIcon.prototype.useStyle=function(e){this.sums=e;var t=this.cluster.getClusterer().getStyles(),s=t[Math.min(t.length-1,Math.max(0,e.index-1))];s&&(this.url=s.url,this.height=s.height,this.width=s.width,s.className&&(this.className="".concat(this.clusterClassName," ").concat(s.className)),this.anchorText=s.anchorText||[0,0],this.anchorIcon=s.anchorIcon||[this.height/2,this.width/2],this.textColor=s.textColor||"black",this.textSize=s.textSize||11,this.textDecoration=s.textDecoration||"none",this.fontWeight=s.fontWeight||"bold",this.fontStyle=s.fontStyle||"normal",this.fontFamily=s.fontFamily||"Arial,sans-serif",this.backgroundPosition=s.backgroundPosition||"0 0")},ClusterIcon.prototype.setCenter=function(e){this.center=e},ClusterIcon.prototype.getPosFromLatLng=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return null!==t&&(t.x-=this.anchorIcon[1],t.y-=this.anchorIcon[0]),t},ClusterIcon}(),N=function(){function Cluster(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new W(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return Cluster.prototype.getSize=function(){return this.markers.length},Cluster.prototype.getMarkers=function(){return this.markers},Cluster.prototype.getCenter=function(){return this.center},Cluster.prototype.getMap=function(){return this.map},Cluster.prototype.getClusterer=function(){return this.markerClusterer},Cluster.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),t=this.getMarkers(),s=0;sr)e.getMap()!==this.map&&e.setMap(this.map);else if(os||t0))for(var e=0;e3?new google.maps.LatLngBounds(null==n?void 0:n.getSouthWest(),null==n?void 0:n.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),r=this.getExtendedBounds(o),i=Math.min(e+this.batchSize,this.markers.length),a=e;a{k&&x&&(null!==U&&google.maps.event.removeListener(U),R(google.maps.event.addListener(k,K.onMouseOut,x)))},[x]),(0,v.useEffect)(()=>{k&&w&&(null!==z&&google.maps.event.removeListener(z),V(google.maps.event.addListener(k,K.onMouseOver,w)))},[w]),(0,v.useEffect)(()=>{k&&P&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(k,K.onClick,P)))},[P]),(0,v.useEffect)(()=>{k&&C&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(k,K.onClusteringBegin,C)))},[C]),(0,v.useEffect)(()=>{k&&E&&(null!==B&&google.maps.event.removeListener(B),T(google.maps.event.addListener(k,K.onClusteringEnd,E)))},[E]),(0,v.useEffect)(()=>{void 0!==n&&null!==k&&F.averageCenter(k,n)},[k,n]),(0,v.useEffect)(()=>{void 0!==o&&null!==k&&F.batchSizeIE(k,o)},[k,o]),(0,v.useEffect)(()=>{void 0!==r&&null!==k&&F.calculator(k,r)},[k,r]),(0,v.useEffect)(()=>{void 0!==i&&null!==k&&F.clusterClass(k,i)},[k,i]),(0,v.useEffect)(()=>{void 0!==a&&null!==k&&F.enableRetinaIcons(k,a)},[k,a]),(0,v.useEffect)(()=>{void 0!==l&&null!==k&&F.gridSize(k,l)},[k,l]),(0,v.useEffect)(()=>{void 0!==p&&null!==k&&F.ignoreHidden(k,p)},[k,p]),(0,v.useEffect)(()=>{void 0!==c&&null!==k&&F.imageExtension(k,c)},[k,c]),(0,v.useEffect)(()=>{void 0!==d&&null!==k&&F.imagePath(k,d)},[k,d]),(0,v.useEffect)(()=>{void 0!==h&&null!==k&&F.imageSizes(k,h)},[k,h]),(0,v.useEffect)(()=>{void 0!==g&&null!==k&&F.maxZoom(k,g)},[k,g]),(0,v.useEffect)(()=>{void 0!==m&&null!==k&&F.minimumClusterSize(k,m)},[k,m]),(0,v.useEffect)(()=>{void 0!==f&&null!==k&&F.styles(k,f)},[k,f]),(0,v.useEffect)(()=>{void 0!==y&&null!==k&&F.title(k,y)},[k,y]),(0,v.useEffect)(()=>{void 0!==b&&null!==k&&F.zoomOnClick(k,b)},[k,b]),(0,v.useEffect)(()=>{if(_){var e=function(e){for(var t=1;t{null!==U&&google.maps.event.removeListener(U),null!==z&&google.maps.event.removeListener(z),null!==j&&google.maps.event.removeListener(j),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),M&&M(t)}}},[]),null!==k&&t(k)||null});let ClustererComponent=class ClustererComponent extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{markerClusterer:null}),_defineProperty(this,"setClustererCallback",()=>{null!==this.state.markerClusterer&&this.props.onLoad&&this.props.onLoad(this.state.markerClusterer)})}componentDidMount(){if(this.context){var e=new G(this.context,[],this.props.options);this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:F,eventMap:K,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({markerClusterer:e}),this.setClustererCallback)}}componentDidUpdate(e){this.state.markerClusterer&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:F,eventMap:K,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))}componentWillUnmount(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),unregisterEvents(this.registeredEvents),this.state.markerClusterer.setMap(null))}render(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null}};function cancelHandler(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}_defineProperty(ClustererComponent,"contextType",L);var J=function(){function InfoBox(e){void 0===e&&(e={}),this.getCloseClickHandler=this.getCloseClickHandler.bind(this),this.closeClickHandler=this.closeClickHandler.bind(this),this.createInfoBoxDiv=this.createInfoBoxDiv.bind(this),this.addClickHandler=this.addClickHandler.bind(this),this.getCloseBoxImg=this.getCloseBoxImg.bind(this),this.getBoxWidths=this.getBoxWidths.bind(this),this.setBoxStyle=this.setBoxStyle.bind(this),this.setPosition=this.setPosition.bind(this),this.getPosition=this.getPosition.bind(this),this.setOptions=this.setOptions.bind(this),this.setContent=this.setContent.bind(this),this.setVisible=this.setVisible.bind(this),this.getContent=this.getContent.bind(this),this.getVisible=this.getVisible.bind(this),this.setZIndex=this.setZIndex.bind(this),this.getZIndex=this.getZIndex.bind(this),this.onRemove=this.onRemove.bind(this),this.panBox=this.panBox.bind(this),this.extend=this.extend.bind(this),this.close=this.close.bind(this),this.draw=this.draw.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.open=this.open.bind(this),this.extend(InfoBox,google.maps.OverlayView),this.content=e.content||"",this.disableAutoPan=e.disableAutoPan||!1,this.maxWidth=e.maxWidth||0,this.pixelOffset=e.pixelOffset||new google.maps.Size(0,0),this.position=e.position||new google.maps.LatLng(0,0),this.zIndex=e.zIndex||null,this.boxClass=e.boxClass||"infoBox",this.boxStyle=e.boxStyle||{},this.closeBoxMargin=e.closeBoxMargin||"2px",this.closeBoxURL=e.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",""===e.closeBoxURL&&(this.closeBoxURL=""),this.infoBoxClearance=e.infoBoxClearance||new google.maps.Size(1,1),void 0===e.visible&&(void 0===e.isHidden?e.visible=!0:e.visible=!e.isHidden),this.isHidden=!e.visible,this.alignBottom=e.alignBottom||!1,this.pane=e.pane||"floatPane",this.enableEventPropagation=e.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return InfoBox.prototype.createInfoBoxDiv=function(){var e=this;if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),"string"==typeof this.content?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var t=this.getPanes();if(null!==t&&t[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(0!==this.maxWidth&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var s=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-s.left-s.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var n=0,o=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"];n"),e},InfoBox.prototype.addClickHandler=function(){this.closeListener=this.div&&this.div.firstChild&&""!==this.closeBoxURL?google.maps.event.addListener(this.div.firstChild,"click",this.getCloseClickHandler()):null},InfoBox.prototype.closeClickHandler=function(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation(),google.maps.event.trigger(this,"closeclick"),this.close()},InfoBox.prototype.getCloseClickHandler=function(){return this.closeClickHandler},InfoBox.prototype.panBox=function(e){if(this.div&&!e){var t=this.getMap();if(t instanceof google.maps.Map){var s=0,n=0,o=t.getBounds();o&&!o.contains(this.position)&&t.setCenter(this.position);var r=t.getDiv(),i=r.offsetWidth,a=r.offsetHeight,l=this.pixelOffset.width,p=this.pixelOffset.height,c=this.div.offsetWidth,d=this.div.offsetHeight,h=this.infoBoxClearance.width,g=this.infoBoxClearance.height,m=this.getProjection().fromLatLngToContainerPixel(this.position);null!==m&&(m.x<-l+h?s=m.x+l-h:m.x+c+l+h>i&&(s=m.x+c+l+h-i),this.alignBottom?m.y<-p+g+d?n=m.y+p-g-d:m.y+p+g>a&&(n=m.y+p+g-a):m.y<-p+g?n=m.y+p-g:m.y+d+p+g>a&&(n=m.y+d+p+g-a)),0===s&&0===n||t.panBy(s,n)}}},InfoBox.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.div.style[t]=e[t]);if(this.div.style.webkitTransform="translateZ(0)",void 0!==this.div.style.opacity&&""!==this.div.style.opacity){var s=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*s+')"',this.div.style.filter="alpha(opacity="+100*s+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",null!==this.zIndex&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},InfoBox.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var t=this.div.ownerDocument,s=t&&t.defaultView?t.defaultView.getComputedStyle(this.div,""):null;s&&(e.top=parseInt(s.borderTopWidth||"",10)||0,e.bottom=parseInt(s.borderBottomWidth||"",10)||0,e.left=parseInt(s.borderLeftWidth||"",10)||0,e.right=parseInt(s.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var n=this.div.currentStyle;n&&(e.top=parseInt(n.borderTopWidth||"",10)||0,e.bottom=parseInt(n.borderBottomWidth||"",10)||0,e.left=parseInt(n.borderLeftWidth||"",10)||0,e.right=parseInt(n.borderRightWidth||"",10)||0)}return e},InfoBox.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},InfoBox.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection().fromLatLngToDivPixel(this.position);null!==e&&(this.div.style.left=e.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(e.y+this.pixelOffset.height)+"px":this.div.style.top=e.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},InfoBox.prototype.setOptions=function(e){void 0===e&&(e={}),void 0!==e.boxClass&&(this.boxClass=e.boxClass,this.setBoxStyle()),void 0!==e.boxStyle&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),void 0!==e.content&&this.setContent(e.content),void 0!==e.disableAutoPan&&(this.disableAutoPan=e.disableAutoPan),void 0!==e.maxWidth&&(this.maxWidth=e.maxWidth),void 0!==e.pixelOffset&&(this.pixelOffset=e.pixelOffset),void 0!==e.alignBottom&&(this.alignBottom=e.alignBottom),void 0!==e.position&&this.setPosition(e.position),void 0!==e.zIndex&&this.setZIndex(e.zIndex),void 0!==e.closeBoxMargin&&(this.closeBoxMargin=e.closeBoxMargin),void 0!==e.closeBoxURL&&(this.closeBoxURL=e.closeBoxURL),void 0!==e.infoBoxClearance&&(this.infoBoxClearance=e.infoBoxClearance),void 0!==e.isHidden&&(this.isHidden=e.isHidden),void 0!==e.visible&&(this.isHidden=!e.visible),void 0!==e.enableEventPropagation&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},InfoBox.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),"string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px","string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},InfoBox.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},InfoBox.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},InfoBox.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},InfoBox.prototype.getContent=function(){return this.content},InfoBox.prototype.getPosition=function(){return this.position},InfoBox.prototype.getZIndex=function(){return this.zIndex},InfoBox.prototype.getVisible=function(){return null!=this.getMap()&&!this.isHidden},InfoBox.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},InfoBox.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},InfoBox.prototype.open=function(e,t){var s=this;t&&(this.position=t.getPosition(),this.moveListener=google.maps.event.addListener(t,"position_changed",function(){var e=t.getPosition();s.setPosition(e)}),this.mapListener=google.maps.event.addListener(t,"map_changed",function(){s.setMap(t.map)})),this.setMap(e),this.div&&this.panBox()},InfoBox.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,t=this.eventListeners;e{g&&null!==m&&(m.close(),s?m.open(g,s):m.getPosition()&&m.open(g))},[g,m,s]),(0,v.useEffect)(()=>{n&&null!==m&&m.setOptions(n)},[m,n]),(0,v.useEffect)(()=>{if(o&&null!==m){var e=o instanceof google.maps.LatLng?o:new google.maps.LatLng(o.lat,o.lng);m.setPosition(e)}},[o]),(0,v.useEffect)(()=>{"number"==typeof r&&null!==m&&m.setZIndex(r)},[r]),(0,v.useEffect)(()=>{m&&i&&(null!==P&&google.maps.event.removeListener(P),C(google.maps.event.addListener(m,"closeclick",i)))},[i]),(0,v.useEffect)(()=>{m&&a&&(null!==E&&google.maps.event.removeListener(E),w(google.maps.event.addListener(m,"domready",a)))},[a]),(0,v.useEffect)(()=>{m&&l&&(null!==x&&google.maps.event.removeListener(x),S(google.maps.event.addListener(m,"content_changed",l)))},[l]),(0,v.useEffect)(()=>{m&&p&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(m,"position_changed",p)))},[p]),(0,v.useEffect)(()=>{m&&c&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(m,"zindex_changed",c)))},[c]),(0,v.useEffect)(()=>{if(g){var e,t=n||es,{position:o}=t,r=_objectWithoutProperties(t,X);!o||o instanceof google.maps.LatLng||(e=new google.maps.LatLng(o.lat,o.lng));var v=new J(_objectSpread$b(_objectSpread$b({},r),e?{position:e}:{}));j.current=document.createElement("div"),b(v),i&&C(google.maps.event.addListener(v,"closeclick",i)),a&&w(google.maps.event.addListener(v,"domready",a)),l&&S(google.maps.event.addListener(v,"content_changed",l)),p&&k(google.maps.event.addListener(v,"position_changed",p)),c&&_(google.maps.event.addListener(v,"zindex_changed",c)),v.setContent(j.current),s?v.open(g,s):v.getPosition()?v.open(g):y(!1,"You must provide either an anchor or a position prop for ."),d&&d(v)}return()=>{null!==m&&(P&&google.maps.event.removeListener(P),x&&google.maps.event.removeListener(x),E&&google.maps.event.removeListener(E),M&&google.maps.event.removeListener(M),O&&google.maps.event.removeListener(O),h&&h(m),m.close())}},[]),j.current?(0,f.createPortal)(v.Children.only(t),j.current):null});let InfoBoxComponent=class InfoBoxComponent extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"containerElement",null),_defineProperty(this,"state",{infoBox:null}),_defineProperty(this,"open",(e,t)=>{t?null!==this.context&&e.open(this.context,t):e.getPosition()?null!==this.context&&e.open(this.context):y(!1,"You must provide either an anchor or a position prop for .")}),_defineProperty(this,"setInfoBoxCallback",()=>{null!==this.state.infoBox&&null!==this.containerElement&&(this.state.infoBox.setContent(this.containerElement),this.open(this.state.infoBox,this.props.anchor),this.props.onLoad&&this.props.onLoad(this.state.infoBox))})}componentDidMount(){var e,t=this.props.options||{},{position:s}=t,n=_objectWithoutProperties(t,Q);!s||s instanceof google.maps.LatLng||(e=new google.maps.LatLng(s.lat,s.lng));var o=new J(_objectSpread$b(_objectSpread$b({},n),e?{position:e}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:et,eventMap:ee,prevProps:{},nextProps:this.props,instance:o}),this.setState({infoBox:o},this.setInfoBoxCallback)}componentDidUpdate(e){var{infoBox:t}=this.state;null!==t&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:et,eventMap:ee,prevProps:e,nextProps:this.props,instance:t}))}componentWillUnmount(){var{onUnmount:e}=this.props,{infoBox:t}=this.state;null!==t&&(e&&e(t),unregisterEvents(this.registeredEvents),t.close())}render(){return this.containerElement?(0,f.createPortal)(v.Children.only(this.props.children),this.containerElement):null}};_defineProperty(InfoBoxComponent,"contextType",L);var eo=getDefaultExportFromCjs$1(h?d:(h=1,d=function equal(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)){if((s=e.length)!=t.length)return!1;for(n=s;0!=n--;)if(!equal(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((s=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=s;0!=n--;)if(!Object.prototype.hasOwnProperty.call(t,o[n]))return!1;for(n=s;0!=n--;){var s,n,o,r=o[n];if(!equal(e[r],t[r]))return!1}return!0}return e!=e&&t!=t})),er=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];let KDBush=class KDBush{static from(e){if(!(e instanceof ArrayBuffer))throw Error("Data must be an instance of ArrayBuffer.");var[t,s]=new Uint8Array(e,0,2);if(219!==t)throw Error("Data does not appear to be in a KDBush format.");var n=s>>4;if(1!==n)throw Error("Got v".concat(n," data when expected v").concat(1,"."));var o=er[15&s];if(!o)throw Error("Unrecognized array type.");var[r]=new Uint16Array(e,2,1),[i]=new Uint32Array(e,4,1);return new KDBush(i,r,o,e)}constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,n=arguments.length>3?arguments[3]:void 0;if(isNaN(e)||e<0)throw Error("Unpexpected numItems value: ".concat(e,"."));this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=s,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;var o=er.indexOf(this.ArrayType),r=2*e*this.ArrayType.BYTES_PER_ELEMENT,i=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-i%8)%8;if(o<0)throw Error("Unexpected typed array class: ".concat(s,"."));n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+i+a,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+r+i+a),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+i+a,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+o]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){var s=this._pos>>1;return this.ids[s]=s,this.coords[this._pos++]=e,this.coords[this._pos++]=t,s}finish(){var e=this._pos>>1;if(e!==this.numItems)throw Error("Added ".concat(e," items when expected ").concat(this.numItems,"."));return function sort(e,t,s,n,o,r){if(!(o-n<=s)){var i=n+o>>1;(function select(e,t,s,n,o,r){for(;o>n;){if(o-n>600){var i=o-n+1,a=s-n+1,l=Math.log(i),p=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*p*(i-p)/i)*(a-i/2<0?-1:1),d=Math.max(n,Math.floor(s-a*p/i+c)),h=Math.min(o,Math.floor(s+(i-a)*p/i+c));select(e,t,s,d,h,r)}var g=t[2*s+r],m=n,v=o;for(swapItem(e,t,n,s),t[2*o+r]>g&&swapItem(e,t,n,o);mg;)v--}t[2*n+r]===g?swapItem(e,t,n,v):swapItem(e,t,++v,o),v<=s&&(n=v+1),s<=v&&(o=v-1)}})(e,t,i,n,o,r),sort(e,t,s,n,i-1,1-r),sort(e,t,s,i+1,o,1-r)}}(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,s,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");for(var{ids:o,coords:r,nodeSize:i}=this,a=[0,o.length-1,0],l=[];a.length;){var p=a.pop()||0,c=a.pop()||0,d=a.pop()||0;if(c-d<=i){for(var h=d;h<=c;h++){var g=r[2*h],m=r[2*h+1];g>=e&&g<=s&&m>=t&&m<=n&&l.push(o[h])}continue}var v=d+c>>1,f=r[2*v],y=r[2*v+1];f>=e&&f<=s&&y>=t&&y<=n&&l.push(o[v]),(0===p?e<=f:t<=y)&&(a.push(d),a.push(v-1),a.push(1-p)),(0===p?s>=f:n>=y)&&(a.push(v+1),a.push(c),a.push(1-p))}return l}within(e,t,s){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");for(var{ids:n,coords:o,nodeSize:r}=this,i=[0,n.length-1,0],a=[],l=s*s;i.length;){var p=i.pop()||0,c=i.pop()||0,d=i.pop()||0;if(c-d<=r){for(var h=d;h<=c;h++)sqDist(o[2*h],o[2*h+1],e,t)<=l&&a.push(n[h]);continue}var g=d+c>>1,m=o[2*g],v=o[2*g+1];sqDist(m,v,e,t)<=l&&a.push(n[g]),(0===p?e-s<=m:t-s<=v)&&(i.push(d),i.push(g-1),i.push(1-p)),(0===p?e+s>=m:t+s>=v)&&(i.push(g+1),i.push(c),i.push(1-p))}return a}};function swapItem(e,t,s,n){swap(e,s,n),swap(t,2*s,2*n),swap(t,2*s+1,2*n+1)}function swap(e,t,s){var n=e[t];e[t]=e[s],e[s]=n}function sqDist(e,t,s,n){var o=e-s,r=t-n;return o*o+r*r}var ei={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},ea=Math.fround||(r=new Float32Array(1),e=>(r[0]=+e,r[0]));let Supercluster=class Supercluster{constructor(e){this.options=Object.assign(Object.create(ei),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){var{log:t,minZoom:s,maxZoom:n}=this.options;t&&console.time("total time");var o="prepare ".concat(e.length," points");t&&console.time(o),this.points=e;for(var r=[],i=0;i=s;g--){var m=+Date.now();h=this.trees[g]=this._createTree(this._cluster(h,g)),t&&console.log("z%d: %d clusters in %dms",g,h.numItems,+Date.now()-m)}return t&&console.timeEnd("total time"),this}getClusters(e,t){var s=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),o=180===e[2]?180:((e[2]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)s=-180,o=180;else if(s>o){var i=this.getClusters([s,n,180,r],t),a=this.getClusters([-180,n,o,r],t);return i.concat(a)}var l=this.trees[this._limitZoom(t)],p=l.range(lngX(s),latY(r),lngX(o),latY(n)),c=l.data,d=[];for(var h of p){var g=this.stride*h;d.push(c[g+5]>1?getClusterJSON(c,g,this.clusterProps):this.points[c[g+3]])}return d}getChildren(e){var t=this._getOriginId(e),s=this._getOriginZoom(e),n="No cluster with the specified id.",o=this.trees[s];if(!o)throw Error(n);var r=o.data;if(t*this.stride>=r.length)throw Error(n);var i=this.options.radius/(this.options.extent*Math.pow(2,s-1)),a=r[t*this.stride],l=r[t*this.stride+1],p=o.within(a,l,i),c=[];for(var d of p){var h=d*this.stride;r[h+4]===e&&c.push(r[h+5]>1?getClusterJSON(r,h,this.clusterProps):this.points[r[h+3]])}if(0===c.length)throw Error(n);return c}getLeaves(e,t,s){t=t||10,s=s||0;var n=[];return this._appendLeaves(n,e,t,s,0),n}getTile(e,t,s){var n=this.trees[this._limitZoom(e)],o=Math.pow(2,e),{extent:r,radius:i}=this.options,a=i/r,l=(s-a)/o,p=(s+1+a)/o,c={features:[]};return this._addTileFeatures(n.range((t-a)/o,l,(t+1+a)/o,p),n.data,t,s,o,c),0===t&&this._addTileFeatures(n.range(1-a/o,l,1,p),n.data,o,s,o,c),t===o-1&&this._addTileFeatures(n.range(0,l,a/o,p),n.data,-1,s,o,c),c.features.length?c:null}getClusterExpansionZoom(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var s=this.getChildren(e);if(t++,1!==s.length)break;e=s[0].properties.cluster_id}return t}_appendLeaves(e,t,s,n,o){for(var r of this.getChildren(t)){var i=r.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(e,i.cluster_id,s,n,o):o1,p=void 0,c=void 0,d=void 0;if(l)p=getClusterProperties(t,a,this.clusterProps),c=t[a],d=t[a+1];else{var h=this.points[t[a+3]];p=h.properties;var[g,m]=h.geometry.coordinates;c=lngX(g),d=latY(m)}var v={type:1,geometry:[[Math.round(this.options.extent*(c*o-s)),Math.round(this.options.extent*(d*o-n))]],tags:p},f=void 0;void 0!==(f=l||this.options.generateId?t[a+3]:this.points[t[a+3]].id)&&(v.id=f),r.features.push(v)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){for(var{radius:s,extent:n,reduce:o,minPoints:r}=this.options,i=s/(n*Math.pow(2,t)),a=e.data,l=[],p=this.stride,c=0;ct&&(v+=a[y+5])}if(v>m&&v>=r){var L=d*m,b=h*m,P=void 0,C=-1,E=((c/p|0)<<5)+(t+1)+this.points.length;for(var w of g){var x=w*p;if(!(a[x+2]<=t)){a[x+2]=t;var S=a[x+5];L+=a[x]*S,b+=a[x+1]*S,a[x+4]=E,o&&(P||(P=this._map(a,c,!0),C=this.clusterProps.length,this.clusterProps.push(P)),o(P,this._map(a,x)))}}a[c+4]=E,l.push(L/v,b/v,1/0,E,-1,v),o&&l.push(C)}else{for(var M=0;M
1)for(var k of g){var O=k*p;if(!(a[O+2]<=t)){a[O+2]=t;for(var _=0;_
>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,s){if(e[t+5]>1){var n=this.clusterProps[e[t+6]];return s?Object.assign({},n):n}var o=this.points[e[t+3]].properties,r=this.options.map(o);return s&&r===o?Object.assign({},r):r}};function getClusterJSON(e,t,s){return{type:"Feature",id:e[t+3],properties:getClusterProperties(e,t,s),geometry:{type:"Point",coordinates:[(e[t]-.5)*360,360*Math.atan(Math.exp((180-360*e[t+1])*Math.PI/180))/Math.PI-90]}}}function getClusterProperties(e,t,s){var n=e[t+5],o=e[t+6];return Object.assign(-1===o?{}:Object.assign({},s[o]),{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:n>=1e4?"".concat(Math.round(n/1e3),"k"):n>=1e3?"".concat(Math.round(n/100)/10,"k"):n})}function lngX(e){return e/360+.5}function latY(e){var t=Math.sin(e*Math.PI/180),s=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return s<0?0:s>1?1:s}/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */function __rest(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(s[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(s[n[o]]=e[n[o]]);return s}let MarkerUtils=class MarkerUtils{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}};let Cluster=class Cluster{constructor(e){var{markers:t,position:s}=e;this.markers=t,s&&(s instanceof google.maps.LatLng?this._position=s:this._position=new google.maps.LatLng(s))}get bounds(){if(0!==this.markers.length||this._position){var e=new google.maps.LatLngBounds(this._position,this._position);for(var t of this.markers)e.extend(MarkerUtils.getPosition(t));return e}}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>MarkerUtils.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(MarkerUtils.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}};var filterMarkersToPaddedViewport=(e,t,s,n)=>{var o=extendBoundsToPaddedViewport(e.getBounds(),t,n);return s.filter(e=>o.contains(MarkerUtils.getPosition(e)))},extendBoundsToPaddedViewport=(e,t,s)=>{var{northEast:n,southWest:o}=latLngBoundsToPixelBounds(e,t);return pixelBoundsToLatLngBounds(extendPixelBounds({northEast:n,southWest:o},s),t)},getPaddedViewport=(e,t,s)=>{var n=extendBoundsToPaddedViewport(e,t,s),o=n.getNorthEast(),r=n.getSouthWest();return[r.lng(),r.lat(),o.lng(),o.lat()]},distanceBetweenPoints=(e,t)=>{var s=(t.lat-e.lat)*Math.PI/180,n=(t.lng-e.lng)*Math.PI/180,o=Math.sin(s/2),r=Math.sin(n/2),i=o*o+Math.cos(e.lat*Math.PI/180)*Math.cos(t.lat*Math.PI/180)*r*r;return 6371*(2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i)))},latLngBoundsToPixelBounds=(e,t)=>({northEast:t.fromLatLngToDivPixel(e.getNorthEast()),southWest:t.fromLatLngToDivPixel(e.getSouthWest())}),extendPixelBounds=(e,t)=>{var{northEast:s,southWest:n}=e;return s.x+=t,s.y-=t,n.x-=t,n.y+=t,{northEast:s,southWest:n}},pixelBoundsToLatLngBounds=(e,t)=>{var{northEast:s,southWest:n}=e,o=t.fromDivPixelToLatLng(n),r=t.fromDivPixelToLatLng(s);return new google.maps.LatLngBounds(o,r)};let AbstractAlgorithm=class AbstractAlgorithm{constructor(e){var{maxZoom:t=16}=e;this.maxZoom=t}noop(e){var{markers:t}=e;return noop$1(t)}};let AbstractViewportAlgorithm=class AbstractViewportAlgorithm extends AbstractAlgorithm{constructor(e){var{viewportPadding:t=60}=e;super(__rest(e,["viewportPadding"])),this.viewportPadding=60,this.viewportPadding=t}calculate(e){var{markers:t,map:s,mapCanvasProjection:n}=e;return s.getZoom()>=this.maxZoom?{clusters:this.noop({markers:t}),changed:!1}:{clusters:this.cluster({markers:filterMarkersToPaddedViewport(s,n,t,this.viewportPadding),map:s,mapCanvasProjection:n})}}};var noop$1=e=>e.map(e=>new Cluster({position:MarkerUtils.getPosition(e),markers:[e]}));let SuperClusterAlgorithm=class SuperClusterAlgorithm extends AbstractAlgorithm{constructor(e){var{maxZoom:t,radius:s=60}=e,n=__rest(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new Supercluster(Object.assign({maxZoom:this.maxZoom,radius:s},n))}calculate(e){var t=!1,s={zoom:e.map.getZoom()};if(!eo(e.markers,this.markers)){t=!0,this.markers=[...e.markers];var n=this.markers.map(e=>{var t=MarkerUtils.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(n)}return!t&&(this.state.zoom<=this.maxZoom||s.zoom<=this.maxZoom)&&(t=!eo(this.state,s)),this.state=s,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster(e){var{map:t}=e;return this.superCluster.getClusters([-180,-90,180,90],Math.round(t.getZoom())).map(e=>this.transformCluster(e))}transformCluster(e){var{geometry:{coordinates:[t,s]},properties:n}=e;if(n.cluster)return new Cluster({markers:this.superCluster.getLeaves(n.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:s,lng:t}});var o=n.marker;return new Cluster({markers:[o],position:MarkerUtils.getPosition(o)})}};let ClusterStats=class ClusterStats{constructor(e,t){this.markers={sum:e.length};var s=t.map(e=>e.count),n=s.reduce((e,t)=>e+t,0);this.clusters={count:t.length,markers:{mean:n/t.length,sum:n,min:Math.min(...s),max:Math.max(...s)}}}};let DefaultRenderer=class DefaultRenderer{render(e,t,s){var{count:n,position:o}=e,r=n>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff",i='"),a="Cluster of ".concat(n," markers"),l=Number(google.maps.Marker.MAX_ZINDEX)+n;if(MarkerUtils.isAdvancedMarkerAvailable(s)){var p=new DOMParser().parseFromString(i,"image/svg+xml").documentElement;return p.setAttribute("transform","translate(0 25)"),new google.maps.marker.AdvancedMarkerElement({map:s,position:o,zIndex:l,title:a,content:p})}var c={position:o,zIndex:l,title:a,icon:{url:"data:image/svg+xml;base64,".concat(btoa(i)),anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(c)}};let OverlayViewSafe=class OverlayViewSafe{constructor(){!function(e,t){for(var s in t.prototype)e.prototype[s]=t.prototype[s]}(OverlayViewSafe,google.maps.OverlayView)}};(i=g||(g={})).CLUSTERING_BEGIN="clusteringbegin",i.CLUSTERING_END="clusteringend",i.CLUSTER_CLICK="click";var defaultOnClusterClickHandler=(e,t,s)=>{s.fitBounds(t.bounds)};let MarkerClusterer=class MarkerClusterer extends OverlayViewSafe{constructor(e){var{map:t,markers:s=[],algorithmOptions:n={},algorithm:o=new SuperClusterAlgorithm(n),renderer:r=new DefaultRenderer,onClusterClick:i=defaultOnClusterClickHandler}=e;super(),this.markers=[...s],this.clusters=[],this.algorithm=o,this.renderer=r,this.onClusterClick=i,t&&this.setMap(t)}addMarker(e,t){!this.markers.includes(e)&&(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach(e=>{this.addMarker(e,!0)}),t||this.render()}removeMarker(e,t){var s=this.markers.indexOf(e);return -1!==s&&(MarkerUtils.setMap(e,null),this.markers.splice(s,1),t||this.render(),!0)}removeMarkers(e,t){var s=!1;return e.forEach(e=>{s=this.removeMarker(e,!0)||s}),s&&!t&&this.render(),s}clearMarkers(e){this.markers.length=0,e||this.render()}render(){var e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,g.CLUSTERING_BEGIN,this);var{clusters:t,changed:s}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(s||void 0==s){var n=new Set;for(var o of t)1==o.markers.length&&n.add(o.markers[0]);var r=[];for(var i of this.clusters)null!=i.marker&&(1==i.markers.length?n.has(i.marker)||MarkerUtils.setMap(i.marker,null):r.push(i.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame(()=>r.forEach(e=>MarkerUtils.setMap(e,null)))}google.maps.event.trigger(this,g.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>MarkerUtils.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){var e=new ClusterStats(this.markers,this.clusters),t=this.getMap();this.clusters.forEach(s=>{1===s.markers.length?s.marker=s.markers[0]:(s.marker=this.renderer.render(s,e,t),s.markers.forEach(e=>MarkerUtils.setMap(e,null)),this.onClusterClick&&s.marker.addListener("click",e=>{google.maps.event.trigger(this,g.CLUSTER_CLICK,s),this.onClusterClick(e,s,t)})),MarkerUtils.setMap(s.marker,t)})}};var el=Object.freeze({__proto__:null,AbstractAlgorithm:AbstractAlgorithm,AbstractViewportAlgorithm:AbstractViewportAlgorithm,Cluster:Cluster,ClusterStats:ClusterStats,DefaultRenderer:DefaultRenderer,GridAlgorithm:class extends AbstractViewportAlgorithm{constructor(e){var{maxDistance:t=4e4,gridSize:s=40}=e;super(__rest(e,["maxDistance","gridSize"])),this.clusters=[],this.state={zoom:-1},this.maxDistance=t,this.gridSize=s}calculate(e){var{markers:t,map:s,mapCanvasProjection:n}=e,o={zoom:s.getZoom()},r=!1;return(this.state.zoom>=this.maxZoom&&o.zoom>=this.maxZoom||(r=!eo(this.state,o)),this.state=o,s.getZoom()>=this.maxZoom)?{clusters:this.noop({markers:t}),changed:r}:{clusters:this.cluster({markers:filterMarkersToPaddedViewport(s,n,t,this.viewportPadding),map:s,mapCanvasProjection:n})}}cluster(e){var{markers:t,map:s,mapCanvasProjection:n}=e;return this.clusters=[],t.forEach(e=>{this.addToClosestCluster(e,s,n)}),this.clusters}addToClosestCluster(e,t,s){for(var n=this.maxDistance,o=null,r=0;r{var t=MarkerUtils.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(n)}return s&&(this.clusters=this.cluster(e),this.state=t),{clusters:this.clusters,changed:s}}cluster(e){var{map:t,mapCanvasProjection:s}=e,n={zoom:Math.round(t.getZoom()),view:getPaddedViewport(t.getBounds(),s,this.viewportPadding)};return this.superCluster.getClusters(n.view,n.zoom).map(e=>this.transformCluster(e))}transformCluster(e){var{geometry:{coordinates:[t,s]},properties:n}=e;if(n.cluster)return new Cluster({markers:this.superCluster.getLeaves(n.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:s,lng:t}});var o=n.marker;return new Cluster({markers:[o],position:MarkerUtils.getPosition(o)})}},defaultOnClusterClickHandler:defaultOnClusterClickHandler,distanceBetweenPoints:distanceBetweenPoints,extendBoundsToPaddedViewport:extendBoundsToPaddedViewport,extendPixelBounds:extendPixelBounds,filterMarkersToPaddedViewport:filterMarkersToPaddedViewport,getPaddedViewport:getPaddedViewport,noop:noop$1,pixelBoundsToLatLngBounds:pixelBoundsToLatLngBounds});function ownKeys$a(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$a(e){for(var t=1;t{t&&null===s&&n(new MarkerClusterer(_objectSpread$a(_objectSpread$a({},e),{},{map:t})))},[t]),s}(s);return null!==n?t(n):null}),ep={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},ec={options(e,t){e.setOptions(t)},position(e,t){e.setPosition(t)},zIndex(e,t){e.setZIndex(t)}},ed=(0,v.memo)(function(e){var{children:t,anchor:s,options:n,position:o,zIndex:r,onCloseClick:i,onDomReady:a,onContentChanged:l,onPositionChanged:p,onZindexChanged:c,onLoad:d,onUnmount:h}=e,g=(0,v.useContext)(L),[m,b]=(0,v.useState)(null),[P,C]=(0,v.useState)(null),[E,w]=(0,v.useState)(null),[x,S]=(0,v.useState)(null),[M,k]=(0,v.useState)(null),[O,_]=(0,v.useState)(null),j=(0,v.useRef)(null);return(0,v.useEffect)(()=>{null!==m&&(m.close(),s?m.open(g,s):m.getPosition()&&m.open(g))},[g,m,s]),(0,v.useEffect)(()=>{n&&null!==m&&m.setOptions(n)},[m,n]),(0,v.useEffect)(()=>{o&&null!==m&&m.setPosition(o)},[o]),(0,v.useEffect)(()=>{"number"==typeof r&&null!==m&&m.setZIndex(r)},[r]),(0,v.useEffect)(()=>{m&&i&&(null!==P&&google.maps.event.removeListener(P),C(google.maps.event.addListener(m,"closeclick",i)))},[i]),(0,v.useEffect)(()=>{m&&a&&(null!==E&&google.maps.event.removeListener(E),w(google.maps.event.addListener(m,"domready",a)))},[a]),(0,v.useEffect)(()=>{m&&l&&(null!==x&&google.maps.event.removeListener(x),S(google.maps.event.addListener(m,"content_changed",l)))},[l]),(0,v.useEffect)(()=>{m&&p&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(m,"position_changed",p)))},[p]),(0,v.useEffect)(()=>{m&&c&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(m,"zindex_changed",c)))},[c]),(0,v.useEffect)(()=>{var e=new google.maps.InfoWindow(n);return b(e),j.current=document.createElement("div"),i&&C(google.maps.event.addListener(e,"closeclick",i)),a&&w(google.maps.event.addListener(e,"domready",a)),l&&S(google.maps.event.addListener(e,"content_changed",l)),p&&k(google.maps.event.addListener(e,"position_changed",p)),c&&_(google.maps.event.addListener(e,"zindex_changed",c)),e.setContent(j.current),o&&e.setPosition(o),r&&e.setZIndex(r),s?e.open(g,s):e.getPosition()?e.open(g):y(!1,"You must provide either an anchor (typically render it inside a ) or a position props for ."),d&&d(e),()=>{P&&google.maps.event.removeListener(P),x&&google.maps.event.removeListener(x),E&&google.maps.event.removeListener(E),M&&google.maps.event.removeListener(M),O&&google.maps.event.removeListener(O),h&&h(e),e.close()}},[]),j.current?(0,f.createPortal)(v.Children.only(t),j.current):null});let InfoWindow=class InfoWindow extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"containerElement",null),_defineProperty(this,"state",{infoWindow:null}),_defineProperty(this,"open",(e,t)=>{t?e.open(this.context,t):e.getPosition()?e.open(this.context):y(!1,"You must provide either an anchor (typically render it inside a ) or a position props for .")}),_defineProperty(this,"setInfoWindowCallback",()=>{null!==this.state.infoWindow&&null!==this.containerElement&&(this.state.infoWindow.setContent(this.containerElement),this.open(this.state.infoWindow,this.props.anchor),this.props.onLoad&&this.props.onLoad(this.state.infoWindow))})}componentDidMount(){var e=new google.maps.InfoWindow(this.props.options);this.containerElement=document.createElement("div"),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ec,eventMap:ep,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({infoWindow:e}),this.setInfoWindowCallback)}componentDidUpdate(e){null!==this.state.infoWindow&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ec,eventMap:ep,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))}componentWillUnmount(){null!==this.state.infoWindow&&(unregisterEvents(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())}render(){return this.containerElement?(0,f.createPortal)(v.Children.only(this.props.children),this.containerElement):null}};function ownKeys$9(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$9(e){for(var t=1;t{null!==E&&E.setMap(C)},[C]),(0,v.useEffect)(()=>{void 0!==t&&null!==E&&E.setOptions(t)},[E,t]),(0,v.useEffect)(()=>{void 0!==s&&null!==E&&E.setDraggable(s)},[E,s]),(0,v.useEffect)(()=>{void 0!==n&&null!==E&&E.setEditable(n)},[E,n]),(0,v.useEffect)(()=>{void 0!==o&&null!==E&&E.setVisible(o)},[E,o]),(0,v.useEffect)(()=>{void 0!==r&&null!==E&&E.setPath(r)},[E,r]),(0,v.useEffect)(()=>{E&&i&&(null!==x&&google.maps.event.removeListener(x),S(google.maps.event.addListener(E,"dblclick",i)))},[i]),(0,v.useEffect)(()=>{E&&a&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(E,"dragend",a)))},[a]),(0,v.useEffect)(()=>{E&&l&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(E,"dragstart",l)))},[l]),(0,v.useEffect)(()=>{E&&p&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(E,"mousedown",p)))},[p]),(0,v.useEffect)(()=>{E&&c&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(E,"mousemove",c)))},[c]),(0,v.useEffect)(()=>{E&&d&&(null!==B&&google.maps.event.removeListener(B),A(google.maps.event.addListener(E,"mouseout",d)))},[d]),(0,v.useEffect)(()=>{E&&h&&(null!==U&&google.maps.event.removeListener(U),R(google.maps.event.addListener(E,"mouseover",h)))},[h]),(0,v.useEffect)(()=>{E&&g&&(null!==z&&google.maps.event.removeListener(z),V(google.maps.event.addListener(E,"mouseup",g)))},[g]),(0,v.useEffect)(()=>{E&&m&&(null!==$&&google.maps.event.removeListener($),Z(google.maps.event.addListener(E,"rightclick",m)))},[m]),(0,v.useEffect)(()=>{E&&f&&(null!==W&&google.maps.event.removeListener(W),N(google.maps.event.addListener(E,"click",f)))},[f]),(0,v.useEffect)(()=>{E&&y&&(null!==H&&google.maps.event.removeListener(H),G(google.maps.event.addListener(E,"drag",y)))},[y]),(0,v.useEffect)(()=>{var e=new google.maps.Polyline(_objectSpread$9(_objectSpread$9({},t||em),{},{map:C}));return r&&e.setPath(r),void 0!==o&&e.setVisible(o),void 0!==n&&e.setEditable(n),void 0!==s&&e.setDraggable(s),i&&S(google.maps.event.addListener(e,"dblclick",i)),a&&k(google.maps.event.addListener(e,"dragend",a)),l&&_(google.maps.event.addListener(e,"dragstart",l)),p&&I(google.maps.event.addListener(e,"mousedown",p)),c&&T(google.maps.event.addListener(e,"mousemove",c)),d&&A(google.maps.event.addListener(e,"mouseout",d)),h&&R(google.maps.event.addListener(e,"mouseover",h)),g&&V(google.maps.event.addListener(e,"mouseup",g)),m&&Z(google.maps.event.addListener(e,"rightclick",m)),f&&N(google.maps.event.addListener(e,"click",f)),y&&G(google.maps.event.addListener(e,"drag",y)),w(e),b&&b(e),()=>{null!==x&&google.maps.event.removeListener(x),null!==M&&google.maps.event.removeListener(M),null!==O&&google.maps.event.removeListener(O),null!==j&&google.maps.event.removeListener(j),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==U&&google.maps.event.removeListener(U),null!==z&&google.maps.event.removeListener(z),null!==$&&google.maps.event.removeListener($),null!==W&&google.maps.event.removeListener(W),P&&P(e),e.setMap(null)}},[]),null});let Polyline=class Polyline extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{polyline:null}),_defineProperty(this,"setPolylineCallback",()=>{null!==this.state.polyline&&this.props.onLoad&&this.props.onLoad(this.state.polyline)})}componentDidMount(){var e=new google.maps.Polyline(_objectSpread$9(_objectSpread$9({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eg,eventMap:eh,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{polyline:e}},this.setPolylineCallback)}componentDidUpdate(e){null!==this.state.polyline&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eg,eventMap:eh,prevProps:e,nextProps:this.props,instance:this.state.polyline}))}componentWillUnmount(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),unregisterEvents(this.registeredEvents),this.state.polyline.setMap(null))}render(){return null}};function ownKeys$8(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$8(e){for(var t=1;t{null!==x&&x.setMap(w)},[w]),(0,v.useEffect)(()=>{void 0!==t&&null!==x&&x.setOptions(t)},[x,t]),(0,v.useEffect)(()=>{void 0!==s&&null!==x&&x.setDraggable(s)},[x,s]),(0,v.useEffect)(()=>{void 0!==n&&null!==x&&x.setEditable(n)},[x,n]),(0,v.useEffect)(()=>{void 0!==o&&null!==x&&x.setVisible(o)},[x,o]),(0,v.useEffect)(()=>{void 0!==r&&null!==x&&x.setPath(r)},[x,r]),(0,v.useEffect)(()=>{void 0!==i&&null!==x&&x.setPaths(i)},[x,i]),(0,v.useEffect)(()=>{x&&"function"==typeof a&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(x,"dblclick",a)))},[a]),(0,v.useEffect)(()=>{x&&(google.maps.event.addListener(x.getPath(),"insert_at",()=>{null==E||E(x)}),google.maps.event.addListener(x.getPath(),"set_at",()=>{null==E||E(x)}),google.maps.event.addListener(x.getPath(),"remove_at",()=>{null==E||E(x)}))},[x,E]),(0,v.useEffect)(()=>{x&&"function"==typeof l&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(x,"dragend",l)))},[l]),(0,v.useEffect)(()=>{x&&"function"==typeof p&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(x,"dragstart",p)))},[p]),(0,v.useEffect)(()=>{x&&"function"==typeof c&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(x,"mousedown",c)))},[c]),(0,v.useEffect)(()=>{x&&"function"==typeof d&&(null!==B&&google.maps.event.removeListener(B),A(google.maps.event.addListener(x,"mousemove",d)))},[d]),(0,v.useEffect)(()=>{x&&"function"==typeof h&&(null!==U&&google.maps.event.removeListener(U),R(google.maps.event.addListener(x,"mouseout",h)))},[h]),(0,v.useEffect)(()=>{x&&"function"==typeof g&&(null!==z&&google.maps.event.removeListener(z),V(google.maps.event.addListener(x,"mouseover",g)))},[g]),(0,v.useEffect)(()=>{x&&"function"==typeof m&&(null!==$&&google.maps.event.removeListener($),Z(google.maps.event.addListener(x,"mouseup",m)))},[m]),(0,v.useEffect)(()=>{x&&"function"==typeof f&&(null!==W&&google.maps.event.removeListener(W),N(google.maps.event.addListener(x,"rightclick",f)))},[f]),(0,v.useEffect)(()=>{x&&"function"==typeof y&&(null!==H&&google.maps.event.removeListener(H),G(google.maps.event.addListener(x,"click",y)))},[y]),(0,v.useEffect)(()=>{x&&"function"==typeof b&&(null!==K&&google.maps.event.removeListener(K),F(google.maps.event.addListener(x,"drag",b)))},[b]),(0,v.useEffect)(()=>{var e=new google.maps.Polygon(_objectSpread$8(_objectSpread$8({},t),{},{map:w}));return r&&e.setPath(r),i&&e.setPaths(i),void 0!==o&&e.setVisible(o),void 0!==n&&e.setEditable(n),void 0!==s&&e.setDraggable(s),a&&k(google.maps.event.addListener(e,"dblclick",a)),l&&_(google.maps.event.addListener(e,"dragend",l)),p&&I(google.maps.event.addListener(e,"dragstart",p)),c&&T(google.maps.event.addListener(e,"mousedown",c)),d&&A(google.maps.event.addListener(e,"mousemove",d)),h&&R(google.maps.event.addListener(e,"mouseout",h)),g&&V(google.maps.event.addListener(e,"mouseover",g)),m&&Z(google.maps.event.addListener(e,"mouseup",m)),f&&N(google.maps.event.addListener(e,"rightclick",f)),y&&G(google.maps.event.addListener(e,"click",y)),b&&F(google.maps.event.addListener(e,"drag",b)),S(e),P&&P(e),()=>{null!==M&&google.maps.event.removeListener(M),null!==O&&google.maps.event.removeListener(O),null!==j&&google.maps.event.removeListener(j),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==U&&google.maps.event.removeListener(U),null!==z&&google.maps.event.removeListener(z),null!==$&&google.maps.event.removeListener($),null!==W&&google.maps.event.removeListener(W),null!==H&&google.maps.event.removeListener(H),C&&C(e),e.setMap(null)}},[]),null});let Polygon=class Polygon extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[])}componentDidMount(){var e=this.props.options||{};this.polygon=new google.maps.Polygon(e),this.polygon.setMap(this.context),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ey,eventMap:ef,prevProps:{},nextProps:this.props,instance:this.polygon}),this.props.onLoad&&this.props.onLoad(this.polygon)}componentDidUpdate(e){this.polygon&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ey,eventMap:ef,prevProps:e,nextProps:this.props,instance:this.polygon}))}componentWillUnmount(){this.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.polygon),unregisterEvents(this.registeredEvents),this.polygon&&this.polygon.setMap(null))}render(){return null}};function ownKeys$7(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$7(e){for(var t=1;t{null!==w&&w.setMap(E)},[E]),(0,v.useEffect)(()=>{void 0!==t&&null!==w&&w.setOptions(t)},[w,t]),(0,v.useEffect)(()=>{void 0!==n&&null!==w&&w.setDraggable(n)},[w,n]),(0,v.useEffect)(()=>{void 0!==o&&null!==w&&w.setEditable(o)},[w,o]),(0,v.useEffect)(()=>{void 0!==r&&null!==w&&w.setVisible(r)},[w,r]),(0,v.useEffect)(()=>{void 0!==s&&null!==w&&w.setBounds(s)},[w,s]),(0,v.useEffect)(()=>{w&&i&&(null!==S&&google.maps.event.removeListener(S),M(google.maps.event.addListener(w,"dblclick",i)))},[i]),(0,v.useEffect)(()=>{w&&a&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(w,"dragend",a)))},[a]),(0,v.useEffect)(()=>{w&&l&&(null!==_&&google.maps.event.removeListener(_),j(google.maps.event.addListener(w,"dragstart",l)))},[l]),(0,v.useEffect)(()=>{w&&p&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(w,"mousedown",p)))},[p]),(0,v.useEffect)(()=>{w&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(w,"mousemove",c)))},[c]),(0,v.useEffect)(()=>{w&&d&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(w,"mouseout",d)))},[d]),(0,v.useEffect)(()=>{w&&h&&(null!==R&&google.maps.event.removeListener(R),z(google.maps.event.addListener(w,"mouseover",h)))},[h]),(0,v.useEffect)(()=>{w&&g&&(null!==V&&google.maps.event.removeListener(V),$(google.maps.event.addListener(w,"mouseup",g)))},[g]),(0,v.useEffect)(()=>{w&&m&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(w,"rightclick",m)))},[m]),(0,v.useEffect)(()=>{w&&f&&(null!==N&&google.maps.event.removeListener(N),H(google.maps.event.addListener(w,"click",f)))},[f]),(0,v.useEffect)(()=>{w&&y&&(null!==G&&google.maps.event.removeListener(G),K(google.maps.event.addListener(w,"drag",y)))},[y]),(0,v.useEffect)(()=>{w&&b&&(null!==F&&google.maps.event.removeListener(F),Y(google.maps.event.addListener(w,"bounds_changed",b)))},[b]),(0,v.useEffect)(()=>{var e=new google.maps.Rectangle(_objectSpread$7(_objectSpread$7({},t),{},{map:E}));return void 0!==r&&e.setVisible(r),void 0!==o&&e.setEditable(o),void 0!==n&&e.setDraggable(n),void 0!==s&&e.setBounds(s),i&&M(google.maps.event.addListener(e,"dblclick",i)),a&&O(google.maps.event.addListener(e,"dragend",a)),l&&j(google.maps.event.addListener(e,"dragstart",l)),p&&D(google.maps.event.addListener(e,"mousedown",p)),c&&B(google.maps.event.addListener(e,"mousemove",c)),d&&U(google.maps.event.addListener(e,"mouseout",d)),h&&z(google.maps.event.addListener(e,"mouseover",h)),g&&$(google.maps.event.addListener(e,"mouseup",g)),m&&W(google.maps.event.addListener(e,"rightclick",m)),f&&H(google.maps.event.addListener(e,"click",f)),y&&K(google.maps.event.addListener(e,"drag",y)),b&&Y(google.maps.event.addListener(e,"bounds_changed",b)),x(e),P&&P(e),()=>{null!==S&&google.maps.event.removeListener(S),null!==k&&google.maps.event.removeListener(k),null!==_&&google.maps.event.removeListener(_),null!==I&&google.maps.event.removeListener(I),null!==T&&google.maps.event.removeListener(T),null!==A&&google.maps.event.removeListener(A),null!==R&&google.maps.event.removeListener(R),null!==V&&google.maps.event.removeListener(V),null!==Z&&google.maps.event.removeListener(Z),null!==N&&google.maps.event.removeListener(N),null!==G&&google.maps.event.removeListener(G),null!==F&&google.maps.event.removeListener(F),C&&C(e),e.setMap(null)}},[]),null});let Rectangle=class Rectangle extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{rectangle:null}),_defineProperty(this,"setRectangleCallback",()=>{null!==this.state.rectangle&&this.props.onLoad&&this.props.onLoad(this.state.rectangle)})}componentDidMount(){var e=new google.maps.Rectangle(_objectSpread$7(_objectSpread$7({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eP,eventMap:eb,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{rectangle:e}},this.setRectangleCallback)}componentDidUpdate(e){null!==this.state.rectangle&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eP,eventMap:eb,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))}componentWillUnmount(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),unregisterEvents(this.registeredEvents),this.state.rectangle.setMap(null))}render(){return null}};function ownKeys$6(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$6(e){for(var t=1;t{null!==S&&S.setMap(x)},[x]),(0,v.useEffect)(()=>{void 0!==t&&null!==S&&S.setOptions(t)},[S,t]),(0,v.useEffect)(()=>{void 0!==o&&null!==S&&S.setDraggable(o)},[S,o]),(0,v.useEffect)(()=>{void 0!==r&&null!==S&&S.setEditable(r)},[S,r]),(0,v.useEffect)(()=>{void 0!==i&&null!==S&&S.setVisible(i)},[S,i]),(0,v.useEffect)(()=>{"number"==typeof n&&null!==S&&S.setRadius(n)},[S,n]),(0,v.useEffect)(()=>{void 0!==s&&null!==S&&S.setCenter(s)},[S,s]),(0,v.useEffect)(()=>{S&&a&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(S,"dblclick",a)))},[a]),(0,v.useEffect)(()=>{S&&l&&(null!==_&&google.maps.event.removeListener(_),j(google.maps.event.addListener(S,"dragend",l)))},[l]),(0,v.useEffect)(()=>{S&&p&&(null!==I&&google.maps.event.removeListener(I),D(google.maps.event.addListener(S,"dragstart",p)))},[p]),(0,v.useEffect)(()=>{S&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(S,"mousedown",c)))},[c]),(0,v.useEffect)(()=>{S&&d&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(S,"mousemove",d)))},[d]),(0,v.useEffect)(()=>{S&&h&&(null!==R&&google.maps.event.removeListener(R),z(google.maps.event.addListener(S,"mouseout",h)))},[h]),(0,v.useEffect)(()=>{S&&g&&(null!==V&&google.maps.event.removeListener(V),$(google.maps.event.addListener(S,"mouseover",g)))},[g]),(0,v.useEffect)(()=>{S&&m&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(S,"mouseup",m)))},[m]),(0,v.useEffect)(()=>{S&&f&&(null!==N&&google.maps.event.removeListener(N),H(google.maps.event.addListener(S,"rightclick",f)))},[f]),(0,v.useEffect)(()=>{S&&y&&(null!==G&&google.maps.event.removeListener(G),K(google.maps.event.addListener(S,"click",y)))},[y]),(0,v.useEffect)(()=>{S&&b&&(null!==F&&google.maps.event.removeListener(F),Y(google.maps.event.addListener(S,"drag",b)))},[b]),(0,v.useEffect)(()=>{S&&P&&(null!==q&&google.maps.event.removeListener(q),J(google.maps.event.addListener(S,"center_changed",P)))},[y]),(0,v.useEffect)(()=>{S&&C&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(S,"radius_changed",C)))},[C]),(0,v.useEffect)(()=>{var e=new google.maps.Circle(_objectSpread$6(_objectSpread$6({},t||ex),{},{map:x}));return"number"==typeof n&&e.setRadius(n),void 0!==s&&e.setCenter(s),"number"==typeof n&&e.setRadius(n),void 0!==i&&e.setVisible(i),void 0!==r&&e.setEditable(r),void 0!==o&&e.setDraggable(o),a&&O(google.maps.event.addListener(e,"dblclick",a)),l&&j(google.maps.event.addListener(e,"dragend",l)),p&&D(google.maps.event.addListener(e,"dragstart",p)),c&&B(google.maps.event.addListener(e,"mousedown",c)),d&&U(google.maps.event.addListener(e,"mousemove",d)),h&&z(google.maps.event.addListener(e,"mouseout",h)),g&&$(google.maps.event.addListener(e,"mouseover",g)),m&&W(google.maps.event.addListener(e,"mouseup",m)),f&&H(google.maps.event.addListener(e,"rightclick",f)),y&&K(google.maps.event.addListener(e,"click",y)),b&&Y(google.maps.event.addListener(e,"drag",b)),P&&J(google.maps.event.addListener(e,"center_changed",P)),C&&Q(google.maps.event.addListener(e,"radius_changed",C)),M(e),E&&E(e),()=>{null!==k&&google.maps.event.removeListener(k),null!==_&&google.maps.event.removeListener(_),null!==I&&google.maps.event.removeListener(I),null!==T&&google.maps.event.removeListener(T),null!==A&&google.maps.event.removeListener(A),null!==R&&google.maps.event.removeListener(R),null!==V&&google.maps.event.removeListener(V),null!==Z&&google.maps.event.removeListener(Z),null!==N&&google.maps.event.removeListener(N),null!==G&&google.maps.event.removeListener(G),null!==q&&google.maps.event.removeListener(q),null!==X&&google.maps.event.removeListener(X),w&&w(e),e.setMap(null)}},[]),null});let Circle=class Circle extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{circle:null}),_defineProperty(this,"setCircleCallback",()=>{null!==this.state.circle&&this.props.onLoad&&this.props.onLoad(this.state.circle)})}componentDidMount(){var e=new google.maps.Circle(_objectSpread$6(_objectSpread$6({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ew,eventMap:eE,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{circle:e}},this.setCircleCallback)}componentDidUpdate(e){null!==this.state.circle&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ew,eventMap:eE,prevProps:e,nextProps:this.props,instance:this.state.circle}))}componentWillUnmount(){if(null!==this.state.circle){var e;this.props.onUnmount&&this.props.onUnmount(this.state.circle),unregisterEvents(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null)}}render(){return null}};function ownKeys$5(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$5(e){for(var t=1;t{null!==P&&P.setMap(b)},[b]),(0,v.useEffect)(()=>{P&&n&&(null!==E&&google.maps.event.removeListener(E),w(google.maps.event.addListener(P,"dblclick",n)))},[n]),(0,v.useEffect)(()=>{P&&o&&(null!==x&&google.maps.event.removeListener(x),S(google.maps.event.addListener(P,"mousedown",o)))},[o]),(0,v.useEffect)(()=>{P&&r&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(P,"mousemove",r)))},[r]),(0,v.useEffect)(()=>{P&&i&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(P,"mouseout",i)))},[i]),(0,v.useEffect)(()=>{P&&a&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(P,"mouseover",a)))},[a]),(0,v.useEffect)(()=>{P&&l&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(P,"mouseup",l)))},[l]),(0,v.useEffect)(()=>{P&&p&&(null!==B&&google.maps.event.removeListener(B),A(google.maps.event.addListener(P,"rightclick",p)))},[p]),(0,v.useEffect)(()=>{P&&s&&(null!==U&&google.maps.event.removeListener(U),R(google.maps.event.addListener(P,"click",s)))},[s]),(0,v.useEffect)(()=>{P&&c&&(null!==z&&google.maps.event.removeListener(z),V(google.maps.event.addListener(P,"addfeature",c)))},[c]),(0,v.useEffect)(()=>{P&&d&&(null!==$&&google.maps.event.removeListener($),Z(google.maps.event.addListener(P,"removefeature",d)))},[d]),(0,v.useEffect)(()=>{P&&h&&(null!==W&&google.maps.event.removeListener(W),N(google.maps.event.addListener(P,"removeproperty",h)))},[h]),(0,v.useEffect)(()=>{P&&g&&(null!==H&&google.maps.event.removeListener(H),G(google.maps.event.addListener(P,"setgeometry",g)))},[g]),(0,v.useEffect)(()=>{P&&m&&(null!==K&&google.maps.event.removeListener(K),F(google.maps.event.addListener(P,"setproperty",m)))},[m]),(0,v.useEffect)(()=>{if(null!==b){var e=new google.maps.Data(_objectSpread$5(_objectSpread$5({},t),{},{map:b}));n&&w(google.maps.event.addListener(e,"dblclick",n)),o&&S(google.maps.event.addListener(e,"mousedown",o)),r&&k(google.maps.event.addListener(e,"mousemove",r)),i&&_(google.maps.event.addListener(e,"mouseout",i)),a&&I(google.maps.event.addListener(e,"mouseover",a)),l&&T(google.maps.event.addListener(e,"mouseup",l)),p&&A(google.maps.event.addListener(e,"rightclick",p)),s&&R(google.maps.event.addListener(e,"click",s)),c&&V(google.maps.event.addListener(e,"addfeature",c)),d&&Z(google.maps.event.addListener(e,"removefeature",d)),h&&N(google.maps.event.addListener(e,"removeproperty",h)),g&&G(google.maps.event.addListener(e,"setgeometry",g)),m&&F(google.maps.event.addListener(e,"setproperty",m)),C(e),f&&f(e)}return()=>{P&&(null!==E&&google.maps.event.removeListener(E),null!==x&&google.maps.event.removeListener(x),null!==M&&google.maps.event.removeListener(M),null!==O&&google.maps.event.removeListener(O),null!==j&&google.maps.event.removeListener(j),null!==D&&google.maps.event.removeListener(D),null!==B&&google.maps.event.removeListener(B),null!==U&&google.maps.event.removeListener(U),null!==z&&google.maps.event.removeListener(z),null!==$&&google.maps.event.removeListener($),null!==W&&google.maps.event.removeListener(W),null!==H&&google.maps.event.removeListener(H),null!==K&&google.maps.event.removeListener(K),y&&y(P),P.setMap(null))}},[]),null});let Data=class Data extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{data:null}),_defineProperty(this,"setDataCallback",()=>{null!==this.state.data&&this.props.onLoad&&this.props.onLoad(this.state.data)})}componentDidMount(){if(null!==this.context){var e=new google.maps.Data(_objectSpread$5(_objectSpread$5({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ek,eventMap:eM,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({data:e}),this.setDataCallback)}}componentDidUpdate(e){null!==this.state.data&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ek,eventMap:eM,prevProps:e,nextProps:this.props,instance:this.state.data}))}componentWillUnmount(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),unregisterEvents(this.registeredEvents),this.state.data&&this.state.data.setMap(null))}render(){return null}};function ownKeys$4(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$4(e){for(var t=1;t{null!==this.state.kmlLayer&&this.props.onLoad&&this.props.onLoad(this.state.kmlLayer)})}componentDidMount(){var e=new google.maps.KmlLayer(_objectSpread$4(_objectSpread$4({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ej,eventMap:e_,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{kmlLayer:e}},this.setKmlLayerCallback)}componentDidUpdate(e){null!==this.state.kmlLayer&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ej,eventMap:e_,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))}componentWillUnmount(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),unregisterEvents(this.registeredEvents),this.state.kmlLayer.setMap(null))}render(){return null}};function getOffsetOverride(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function getLayoutStyles(e,t,s,n){var o,r,i,a,l,p,c;return void 0!==s?(r=s instanceof(o=google.maps.LatLngBounds)?s:(p=s,new o(new google.maps.LatLng(p.ne.lat,p.ne.lng),new google.maps.LatLng(p.sw.lat,p.sw.lng))),i=e&&e.fromLatLngToDivPixel(r.getNorthEast()),a=e&&e.fromLatLngToDivPixel(r.getSouthWest()),i&&a?{left:"".concat(a.x+t.x,"px"),top:"".concat(i.y+t.y,"px"),width:"".concat(i.x-a.x-t.x,"px"),height:"".concat(a.y-i.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}):function(e,t,s){var n=e&&e.fromLatLngToDivPixel(s);if(n){var{x:o,y:r}=n;return{left:"".concat(o+t.x,"px"),top:"".concat(r+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,n instanceof(l=google.maps.LatLng)?n:(c=n,new l(c.lat,c.lng)))}function ownKeys$3(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function ownKeys$2(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function convertToLatLngString(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function convertToLatLngBoundsString(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}_defineProperty(KmlLayer,"contextType",L);var eI="floatPane",eD="mapPane",eT="markerLayer",eB="overlayLayer",eA="overlayMouseTarget",eU=(0,v.memo)(function(e){var{position:t,bounds:s,mapPaneName:n,zIndex:o,onLoad:r,onUnmount:i,getPixelPositionOffset:a,children:l}=e,p=(0,v.useContext)(L),c=(0,v.useMemo)(()=>{var e=document.createElement("div");return e.style.position="absolute",e},[]),d=(0,v.useMemo)(()=>(function(e,t,s,n,o){let Overlay=class Overlay extends google.maps.OverlayView{constructor(e,t,s,n){super(),this.container=e,this.pane=t,this.position=s,this.bounds=n}onAdd(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)}draw(){for(var[e,t]of Object.entries(getLayoutStyles(this.getProjection(),function(e){for(var t=1;t(null==r||r(d),null==d||d.setMap(p),()=>{null==i||i(d),null==d||d.setMap(null)}),[p,d]),(0,v.useEffect)(()=>{c.style.zIndex="".concat(o)},[o,c]),f.createPortal(l,c)});let OverlayView=class OverlayView extends v.PureComponent{constructor(e){super(e),_defineProperty(this,"state",{paneEl:null,containerStyle:{position:"absolute"}}),_defineProperty(this,"updatePane",()=>{var e=this.props.mapPaneName,t=this.overlayView.getPanes();y(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?this.setState({paneEl:t[e]}):this.setState({paneEl:null})}),_defineProperty(this,"onAdd",()=>{var e,t;this.updatePane(),null===(e=(t=this.props).onLoad)||void 0===e||e.call(t,this.overlayView)}),_defineProperty(this,"onPositionElement",()=>{var e,t,s,n,o,r=getLayoutStyles(this.overlayView.getProjection(),function(e){for(var t=1;t{this.onPositionElement()}),_defineProperty(this,"onRemove",()=>{var e,t;this.setState(()=>({paneEl:null})),null===(e=(t=this.props).onUnmount)||void 0===e||e.call(t,this.overlayView)}),this.containerRef=(0,v.createRef)();var t=new google.maps.OverlayView;t.onAdd=this.onAdd,t.draw=this.draw,t.onRemove=this.onRemove,this.overlayView=t}componentDidMount(){this.overlayView.setMap(this.context)}componentDidUpdate(e){var t=convertToLatLngString(e.position),s=convertToLatLngString(this.props.position),n=convertToLatLngBoundsString(e.bounds),o=convertToLatLngBoundsString(this.props.bounds);(t!==s||n!==o)&&this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()}componentWillUnmount(){this.overlayView.setMap(null)}render(){var e=this.state.paneEl;return e?f.createPortal((0,m.jsx)("div",{ref:this.containerRef,style:this.state.containerStyle,children:v.Children.only(this.props.children)}),e):null}};function ownKeys$1(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread$1(e){for(var t=1;tnew google.maps.GroundOverlay(t,i,n),[]);return(0,v.useEffect)(()=>{null!==a&&a.setMap(r)},[r]),(0,v.useEffect)(()=>{void 0!==t&&null!==a&&(a.set("url",t),a.setMap(r))},[a,t]),(0,v.useEffect)(()=>{void 0!==o&&null!==a&&a.setOpacity(o?1:0)},[a,o]),(0,v.useEffect)(()=>{var e=new google.maps.LatLngBounds(new google.maps.LatLng(s.south,s.west),new google.maps.LatLng(s.north,s.east));void 0!==s&&null!==a&&(a.set("bounds",e),a.setMap(r))},[a,s]),null});let GroundOverlay=class GroundOverlay extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{groundOverlay:null}),_defineProperty(this,"setGroundOverlayCallback",()=>{null!==this.state.groundOverlay&&this.props.onLoad&&this.props.onLoad(this.state.groundOverlay)})}componentDidMount(){y(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,_objectSpread$1(_objectSpread$1({},this.props.options),{},{map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ez,eventMap:eR,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{groundOverlay:e}},this.setGroundOverlayCallback)}componentDidUpdate(e){null!==this.state.groundOverlay&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:ez,eventMap:eR,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))}componentWillUnmount(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))}render(){return null}};function ownKeys(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function _objectSpread(e){for(var t=1;t{google.maps.visualization||y(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)},[]),(0,v.useEffect)(()=>{y(!!t,"data property is required in HeatmapLayer %s",t)},[t]),(0,v.useEffect)(()=>{null!==i&&i.setMap(r)},[r]),(0,v.useEffect)(()=>{o&&null!==i&&i.setOptions(o)},[i,o]),(0,v.useEffect)(()=>{var e=new google.maps.visualization.HeatmapLayer(_objectSpread(_objectSpread({},o),{},{data:t,map:r}));return a(e),s&&s(e),()=>{null!==i&&(n&&n(i),i.setMap(null))}},[]),null});let HeatmapLayer=class HeatmapLayer extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{heatmapLayer:null}),_defineProperty(this,"setHeatmapLayerCallback",()=>{null!==this.state.heatmapLayer&&this.props.onLoad&&this.props.onLoad(this.state.heatmapLayer)})}componentDidMount(){y(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to ? %s',google.maps.visualization),y(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(_objectSpread(_objectSpread({},this.props.options),{},{data:this.props.data,map:this.context}));this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eZ,eventMap:e$,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{heatmapLayer:e}},this.setHeatmapLayerCallback)}componentDidUpdate(e){unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eZ,eventMap:e$,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})}componentWillUnmount(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),unregisterEvents(this.registeredEvents),this.state.heatmapLayer.setMap(null))}render(){return null}};_defineProperty(HeatmapLayer,"contextType",L);var eN={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},eH={register(e,t,s){e.registerPanoProvider(t,s)},links(e,t){e.setLinks(t)},motionTracking(e,t){e.setMotionTracking(t)},options(e,t){e.setOptions(t)},pano(e,t){e.setPano(t)},position(e,t){e.setPosition(t)},pov(e,t){e.setPov(t)},visible(e,t){e.setVisible(t)},zoom(e,t){e.setZoom(t)}};let StreetViewPanorama=class StreetViewPanorama extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{streetViewPanorama:null}),_defineProperty(this,"setStreetViewPanoramaCallback",()=>{null!==this.state.streetViewPanorama&&this.props.onLoad&&this.props.onLoad(this.state.streetViewPanorama)})}componentDidMount(){var e,t,s=null!==(e=null===(t=this.context)||void 0===t?void 0:t.getStreetView())&&void 0!==e?e:null;this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eH,eventMap:eN,prevProps:{},nextProps:this.props,instance:s}),this.setState(()=>({streetViewPanorama:s}),this.setStreetViewPanoramaCallback)}componentDidUpdate(e){null!==this.state.streetViewPanorama&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eH,eventMap:eN,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))}componentWillUnmount(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),unregisterEvents(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))}render(){return null}};_defineProperty(StreetViewPanorama,"contextType",L);let StreetViewService=class StreetViewService extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{streetViewService:null}),_defineProperty(this,"setStreetViewServiceCallback",()=>{null!==this.state.streetViewService&&this.props.onLoad&&this.props.onLoad(this.state.streetViewService)})}componentDidMount(){var e=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:e}},this.setStreetViewServiceCallback)}componentWillUnmount(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)}render(){return null}};_defineProperty(StreetViewService,"contextType",L);let DirectionsService=class DirectionsService extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{directionsService:null}),_defineProperty(this,"setDirectionsServiceCallback",()=>{null!==this.state.directionsService&&this.props.onLoad&&this.props.onLoad(this.state.directionsService)})}componentDidMount(){y(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var e=new google.maps.DirectionsService;this.setState(function(){return{directionsService:e}},this.setDirectionsServiceCallback)}componentDidUpdate(){null!==this.state.directionsService&&this.state.directionsService.route(this.props.options,this.props.callback)}componentWillUnmount(){null!==this.state.directionsService&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)}render(){return null}};var eG={onDirectionsChanged:"directions_changed"},eK={directions(e,t){e.setDirections(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},panel(e,t){e.setPanel(t)},routeIndex(e,t){e.setRouteIndex(t)}};let DirectionsRenderer=class DirectionsRenderer extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"state",{directionsRenderer:null}),_defineProperty(this,"setDirectionsRendererCallback",()=>{null!==this.state.directionsRenderer&&(this.state.directionsRenderer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.directionsRenderer))})}componentDidMount(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eK,eventMap:eG,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{directionsRenderer:e}},this.setDirectionsRendererCallback)}componentDidUpdate(e){null!==this.state.directionsRenderer&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eK,eventMap:eG,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))}componentWillUnmount(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),unregisterEvents(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))}render(){return null}};_defineProperty(DirectionsRenderer,"contextType",L);let DistanceMatrixService=class DistanceMatrixService extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"state",{distanceMatrixService:null}),_defineProperty(this,"setDistanceMatrixServiceCallback",()=>{null!==this.state.distanceMatrixService&&this.props.onLoad&&this.props.onLoad(this.state.distanceMatrixService)})}componentDidMount(){y(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var e=new google.maps.DistanceMatrixService;this.setState(function(){return{distanceMatrixService:e}},this.setDistanceMatrixServiceCallback)}componentDidUpdate(){null!==this.state.distanceMatrixService&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)}componentWillUnmount(){null!==this.state.distanceMatrixService&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)}render(){return null}};var eF={onPlacesChanged:"places_changed"},eY={bounds(e,t){e.setBounds(t)}};let StandaloneSearchBox=class StandaloneSearchBox extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"containerElement",(0,v.createRef)()),_defineProperty(this,"state",{searchBox:null}),_defineProperty(this,"setSearchBoxCallback",()=>{null!==this.state.searchBox&&this.props.onLoad&&this.props.onLoad(this.state.searchBox)})}componentDidMount(){if(y(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eY,eventMap:eF,prevProps:{},nextProps:this.props,instance:t}),this.setState(function(){return{searchBox:t}},this.setSearchBoxCallback)}}}componentDidUpdate(e){null!==this.state.searchBox&&(unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eY,eventMap:eF,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))}componentWillUnmount(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),unregisterEvents(this.registeredEvents))}render(){return(0,m.jsx)("div",{ref:this.containerElement,children:v.Children.only(this.props.children)})}};_defineProperty(StandaloneSearchBox,"contextType",L);var eq={onPlaceChanged:"place_changed"},eJ={bounds(e,t){e.setBounds(t)},restrictions(e,t){e.setComponentRestrictions(t)},fields(e,t){e.setFields(t)},options(e,t){e.setOptions(t)},types(e,t){e.setTypes(t)}};let Autocomplete=class Autocomplete extends v.PureComponent{constructor(){super(...arguments),_defineProperty(this,"registeredEvents",[]),_defineProperty(this,"containerElement",(0,v.createRef)()),_defineProperty(this,"state",{autocomplete:null}),_defineProperty(this,"setAutocompleteCallback",()=>{null!==this.state.autocomplete&&this.props.onLoad&&this.props.onLoad(this.state.autocomplete)})}componentDidMount(){y(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places);var e,t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var s=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eJ,eventMap:eq,prevProps:{},nextProps:this.props,instance:s}),this.setState(()=>({autocomplete:s}),this.setAutocompleteCallback)}}componentDidUpdate(e){unregisterEvents(this.registeredEvents),this.registeredEvents=applyUpdatersToPropsAndRegisterEvents({updaterMap:eJ,eventMap:eq,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})}componentWillUnmount(){null!==this.state.autocomplete&&unregisterEvents(this.registeredEvents)}render(){return(0,m.jsx)("div",{ref:this.containerElement,className:this.props.className,children:v.Children.only(this.props.children)})}};_defineProperty(Autocomplete,"defaultProps",{className:""}),_defineProperty(Autocomplete,"contextType",L)}}]);