PageSourceSearch

https://thnk.org/static/js/372.13762ec0.chunk.js

js thnk.org collected 2026-10-02 03:21:53 UTC 23,967 bytes, 3 lines download raw bytes

1/*! For license information please see 372.13762ec0.chunk.js.LICENSE.txt */
2(self.webpackChunkthnk_client=self.webpackChunkthnk_client||[]).push([[372],{8493(t,e,r){"use strict";r.r(e),r.d(e,{Loader:()=>n,LoaderStatus:()=>o});var s=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var s,i,o;if(Array.isArray(e)){if((s=e.length)!=r.length)return!1;for(i=s;0!==i--;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((s=(o=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(i=s;0!==i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=s;0!==i--;){var n=o[i];if(!t(e[n],r[n]))return!1}return!0}return e!==e&&r!==r};const i="__googleMapsScriptId";var o;!function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"}(o||(o={}));class n{constructor(t){let e=t.apiKey,r=t.authReferrerPolicy,o=t.channel,a=t.client,c=t.id,l=void 0===c?i:c,h=t.language,u=t.libraries,p=void 0===u?[]:u,d=t.mapIds,f=t.nonce,g=t.region,m=t.retries,y=void 0===m?3:m,k=t.url,v=void 0===k?"https://maps.googleapis.com/maps/api/js":k,b=t.version;if(this.CALLBACK="__googleMapsCallback",this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=r,this.channel=o,this.client=a,this.id=l||i,this.language=h,this.libraries=p,this.mapIds=d,this.nonce=f,this.region=g,this.retries=y,this.url=v,this.version=b,n.instance){if(!s(this.options,n.instance.options))throw new Error("Loader must not be called again with different options. ".concat(JSON.stringify(this.options)," !== ").concat(JSON.stringify(n.instance.options)));return n.instance}n.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?o.FAILURE:this.done?o.SUCCESS:this.loading?o.LOADING:o.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let t=this.url;return t+="?callback=".concat(this.CALLBACK),this.apiKey&&(t+="&key=".concat(this.apiKey)),this.channel&&(t+="&channel=".concat(this.channel)),this.client&&(t+="&client=".concat(this.client)),this.libraries.length>0&&(t+="&libraries=".concat(this.libraries.join(","))),this.language&&(t+="&language=".concat(this.language)),this.region&&(t+="&region=".concat(this.region)),this.version&&(t+="&v=".concat(this.version)),this.mapIds&&(t+="&map_ids=".concat(this.mapIds.join(","))),this.authReferrerPolicy&&(t+="&auth_referrer_policy=".concat(this.authReferrerPolicy)),t}deleteScript(){const t=document.getElementById(this.id);t&&t.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((t,e)=>{this.loadCallback(r=>{r?e(r.error):t(window.google)})})}loadCallback(t){this.callbacks.push(t),this.execute()}setScript(){if(document.getElementById(this.id))return void this.callback();const t=this.createUrl(),e=document.createElement("script");e.id=this.id,e.type="text/javascript",e.src=t,e.onerror=this.loadErrorCallback.bind(this),e.defer=!0,e.async=!0,this.nonce&&(e.nonce=this.nonce),document.head.appendChild(e)}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(t){if(this.errors.push(t),this.errors.length<=this.retries){const t=this.errors.length*Math.pow(2,this.errors.length);console.log("Failed to load Google Maps script, retrying in ".concat(t," ms.")),setTimeout(()=>{this.deleteScript(),this.setScript()},t)}else this.onerrorEvent=t,this.callback()}setCallback(){window.__googleMapsCallback=this.callback.bind(this)}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(t=>{t(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return 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."),void this.callback();this.loading||(this.loading=!0,this.setCallback(),this.setScript())}}}r.d(e,["DEFAULT_ID",0,i])},2988(t,e,r){"use strict";r.d(e,{w1:()=>j,t9:()=>I});var s=r(5544),i=r.cjs(function(t,e){t.exports=function t(e,r){if(e===r)return!0;
2if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var s,i,o;if(Array.isArray(e)){if((s=e.length)!=r.length)return!1;for(i=s;0!==i--;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((s=(o=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(i=s;0!==i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=s;0!==i--;){var n=o[i];if(!t(e[n],r[n]))return!1}return!0}return e!==e&&r!==r}}),o=r.n(i);const n=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class a{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const e=new Uint8Array(t,0,2),r=(0,s.A)(e,2),i=r[0],o=r[1];if(219!==i)throw new Error("Data does not appear to be in a KDBush format.");const c=o>>4;if(1!==c)throw new Error("Got v".concat(c," data when expected v").concat(1,"."));const l=n[15&o];if(!l)throw new Error("Unrecognized array type.");const h=new Uint16Array(t,2,1),u=(0,s.A)(h,1)[0],p=new Uint32Array(t,4,1),d=(0,s.A)(p,1)[0];return new a(d,u,l,t)}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,s=arguments.length>3?arguments[3]:void 0;if(isNaN(t)||t<0)throw new Error("Unpexpected numItems value: ".concat(t,"."));this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=n.indexOf(this.ArrayType),o=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(i<0)throw new Error("Unexpected typed array class: ".concat(r,"."));s&&s instanceof ArrayBuffer?(this.data=s,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+c,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+o+a+c),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+c,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error("Added ".concat(t," items when expected ").concat(this.numItems,"."));return c(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const i=this.ids,o=this.coords,n=this.nodeSize,a=[0,i.length-1,0],c=[];for(;a.length;){const l=a.pop()||0,h=a.pop()||0,u=a.pop()||0;if(h-u<=n){for(let n=u;n<=h;n++){const a=o[2*n],l=o[2*n+1];a>=t&&a<=r&&l>=e&&l<=s&&c.push(i[n])}continue}const p=u+h>>1,d=o[2*p],f=o[2*p+1];d>=t&&d<=r&&f>=e&&f<=s&&c.push(i[p]),(0===l?t<=d:e<=f)&&(a.push(u),a.push(p-1),a.push(1-l)),(0===l?r>=d:s>=f)&&(a.push(p+1),a.push(h),a.push(1-l))}return c}within(t,e,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const s=this.ids,i=this.coords,o=this.nodeSize,n=[0,s.length-1,0],a=[],c=r*r;for(;n.length;){const l=n.pop()||0,h=n.pop()||0,u=n.pop()||0;if(h-u<=o){for(let r=u;r<=h;r++)p(i[2*r],i[2*r+1],t,e)<=c&&a.push(s[r]);continue}const d=u+h>>1,f=i[2*d],g=i[2*d+1];p(f,g,t,e)<=c&&a.push(s[d]),(0===l?t-r<=f:e-r<=g)&&(n.push(u),n.push(d-1),n.push(1-l)),(0===l?t+r>=f:e+r>=g)&&(n.push(d+1),n.push(h),n.push(1-l))}return a}}function c(t,e,r,s,i,o){if(i-s<=r)return;const n=s+i>>1;l(t,e,n,s,i,o),c(t,e,r,s,n-1,1-o),c(t,e,r,n+1,i,1-o)}function l(t,e,r,s,i,o){for(;i>s;){if(i-s>600){const n=i-s+1,a=r-s+1,c=Math.log(n),h=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*h*(n-h)/n)*(a-n/2<0?-1:1);l(t,e,r,Math.max(s,Math.floor(r-a*h/n+u)),Math.min(i,Math.floor(r+(n-a)*h/n+u)),o)}const n=e[2*r+o];let a=s,c=i;for(h(t,e,s,r),e[2*i+o]>n&&h(t,e,s,i);a<c;){for(h(t,e,a,c),a++,c--;e[2*a+o]<n;)a++;for(;e[2*c+o]>n;)c--}e[2*s+o]===n?h(t,e,s,c):(c++,h(t,e,c,i)),c<=r&&(s=c+1),r<=c&&(i=c-1)}}function h(t,e,r,s){u(t,r,s),u(e,2*r,2*s),u(e,2*r+1,2*s+1)}function u(t,e,r){const s=t[e];t[e]=t[r],t[r]=s}function p(t,e,r,s){const i=t-r,o=e-s;return i*i+o*o}const d={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},f=Math.fround||(g=new Float32Array(1),t=>(g[0]=+t,g[0]));var g;class m{constructor(t){this.options=Object.assign(Object.create(d),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const e=this.options,r=e.log,i=e.minZoom,o=e.maxZoom;r&&console.time("total time");const n="prepare ".concat(t.length," points");r&&console.time(n),this.points=t;const a=[];for(let l=0;l<t.length;l++){const e=t[l];if(!e.geometry)continue;const r=(0,s.A)(e.geometry.coordinates,2),i=r[0],o=r[1],n=f(v(i)),c=f(b(o));a.push(n,c,1/0,l,-1,1),this.options.reduce&&a.push(0)}let c=this.trees[o+1]=this._createTree(a);r&&console.timeEnd(n);for(let s=o;s>=i;s--){const t=+Date.now();c=this.trees[s]=this._createTree(this._cluster(c,s)),r&&console.log("z%d: %d clusters in %dms",s,c.numItems,+Date.now()-t)}return r&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,t[1]));let i=180===t[2]?180:((t[2]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){const t=this.getClusters([r,s,180,o],e),n=this.getClusters([-180,s,i,o],e);return t.concat(n)}const n=this.trees[this._limitZoom(e)],a=n.range(v(r),b(o),v(i),b(s)),c=n.data,l=[];for(const h of a){const t=this.stride*h;l.push(c[t+5]>1?y(c,t,this.clusterProps):this.points[c[t+3]])}return l}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),s="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(s);const o=i.data;if(e*this.stride>=o.length)throw new Error(s);const n=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=o[e*this.stride],c=o[e*this.stride+1],l=i.within(a,c,n),h=[];for(const u of l){const e=u*this.stride;o[e+4]===t&&h.push(o[e+5]>1?y(o,e,this.clusterProps):this.points[o[e+3]])}if(0===h.length)throw new Error(s);return h}getLeaves(t,e,r){e=e||10,r=r||0;const s=[];return this._appendLeaves(s,t,e,r,0),s}getTile(t,e,r){const s=this.trees[this._limitZoom(t)],i=Math.pow(2,t),o=this.options,n=o.extent,a=o.radius/n,c=(r-a)
2/i,l=(r+1+a)/i,h={features:[]};return this._addTileFeatures(s.range((e-a)/i,c,(e+1+a)/i,l),s.data,e,r,i,h),0===e&&this._addTileFeatures(s.range(1-a/i,c,1,l),s.data,i,r,i,h),e===i-1&&this._addTileFeatures(s.range(0,c,a/i,l),s.data,-1,r,i,h),h.features.length?h:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,s,i){const o=this.getChildren(e);for(const n of o){const e=n.properties;if(e&&e.cluster?i+e.point_count<=s?i+=e.point_count:i=this._appendLeaves(t,e.cluster_id,r,s,i):i<s?i++:t.push(n),t.length===r)break}return i}_createTree(t){const e=new a(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let r=0;r<t.length;r+=this.stride)e.add(t[r],t[r+1]);return e.finish(),e.data=t,e}_addTileFeatures(t,e,r,i,o,n){for(const a of t){const t=a*this.stride,c=e[t+5]>1;let l,h,u;if(c)l=k(e,t,this.clusterProps),h=e[t],u=e[t+1];else{const r=this.points[e[t+3]];l=r.properties;const i=(0,s.A)(r.geometry.coordinates,2),o=i[0],n=i[1];h=v(o),u=b(n)}const p={type:1,geometry:[[Math.round(this.options.extent*(h*o-r)),Math.round(this.options.extent*(u*o-i))]],tags:l};let d;d=c||this.options.generateId?e[t+3]:this.points[e[t+3]].id,void 0!==d&&(p.id=d),n.features.push(p)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const r=this.options,s=r.radius,i=r.extent,o=r.reduce,n=r.minPoints,a=s/(i*Math.pow(2,e)),c=t.data,l=[],h=this.stride;for(let u=0;u<c.length;u+=h){if(c[u+2]<=e)continue;c[u+2]=e;const r=c[u],s=c[u+1],i=t.within(c[u],c[u+1],a),p=c[u+5];let d=p;for(const t of i){const r=t*h;c[r+2]>e&&(d+=c[r+5])}if(d>p&&d>=n){let t,n=r*p,a=s*p,f=-1;const g=(u/h<<5)+(e+1)+this.points.length;for(const r of i){const s=r*h;if(c[s+2]<=e)continue;c[s+2]=e;const i=c[s+5];n+=c[s]*i,a+=c[s+1]*i,c[s+4]=g,o&&(t||(t=this._map(c,u,!0),f=this.clusterProps.length,this.clusterProps.push(t)),o(t,this._map(c,s)))}c[u+4]=g,l.push(n/d,a/d,1/0,g,-1,d),o&&l.push(f)}else{for(let t=0;t<h;t++)l.push(c[u+t]);if(d>1)for(const t of i){const r=t*h;if(!(c[r+2]<=e)){c[r+2]=e;for(let t=0;t<h;t++)l.push(c[r+t])}}}}return l}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,r){if(t[e+5]>1){const s=this.clusterProps[t[e+6]];return r?Object.assign({},s):s}const s=this.points[t[e+3]].properties,i=this.options.map(s);return r&&i===s?Object.assign({},i):i}}function y(t,e,r){return{type:"Feature",id:t[e+3],properties:k(t,e,r),geometry:{type:"Point",coordinates:[(s=t[e],360*(s-.5)),w(t[e+1])]}};var s}function k(t,e,r){const s=t[e+5],i=s>=1e4?"".concat(Math.round(s/1e3),"k"):s>=1e3?"".concat(Math.round(s/100)/10,"k"):s,o=t[e+6],n=-1===o?{}:Object.assign({},r[o]);return Object.assign(n,{cluster:!0,cluster_id:t[e+3],point_count:s,point_count_abbreviated:i})}function v(t){return t/360+.5}function b(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function w(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function x(t,e){var r={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(r[s]=t[s]);if(null!=t&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(s=Object.getOwnPropertySymbols(t);i<s.length;i++)e.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(t,s[i])&&(r[s[i]]=t[s[i]])}return r}class _{static isAdvancedMarkerAvailable(t){return google.maps.marker&&!0===t.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(t){return google.maps.marker&&t instanceof google.maps.marker.AdvancedMarkerElement}static setMap(t,e){this.isAdvancedMarker(t)?t.map=e:t.setMap(e)}static getPosition(t){if(this.isAdvancedMarker(t)){if(t.position){if(t.position instanceof google.maps.LatLng)return t.position;if(t.position.lat&&t.position.lng)return new google.maps.LatLng(t.position.lat,t.position.lng)}return new google.maps.LatLng(null)}return t.getPosition()}static getVisible(t){return!!this.isAdvancedMarker(t)||t.getVisible()}}class M{constructor(t){let e=t.markers,r=t.position;this.markers=e,r&&(r instanceof google.maps.LatLng?this._position=r:this._position=new google.maps.LatLng(r))}get bounds(){if(0===this.markers.length&&!this._position)return;const t=new google.maps.LatLngBounds(this._position,this._position);for(const e of this.markers)t.extend(_.getPosition(e));return t}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(t=>_.getVisible(t)).length}push(t){this.markers.push(t)}delete(){this.marker&&(_.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class A{constructor(t){let e=t.maxZoom,r=void 0===e?16:e;this.maxZoom=r}noop(t){let e=t.markers;return E(e)}}const E=t=>t.map(t=>new M({position:_.getPosition(t),markers:[t]}));class I extends A{constructor(t){var e=t.maxZoom,r=t.radius,s=void 0===r?60:r,i=x(t,["maxZoom","radius"]);super({maxZoom:e}),this.state={zoom:-1}
2,this.superCluster=new m(Object.assign({maxZoom:this.maxZoom,radius:s},i))}calculate(t){let e=!1;const r={zoom:t.map.getZoom()};if(!o()(t.markers,this.markers)){e=!0,this.markers=[...t.markers];const r=this.markers.map(t=>{const e=_.getPosition(t);return{type:"Feature",geometry:{type:"Point",coordinates:[e.lng(),e.lat()]},properties:{marker:t}}});this.superCluster.load(r)}return e||(this.state.zoom<=this.maxZoom||r.zoom<=this.maxZoom)&&(e=!o()(this.state,r)),this.state=r,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}cluster(t){let e=t.map;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(t=>this.transformCluster(t))}transformCluster(t){let e=(0,s.A)(t.geometry.coordinates,2),r=e[0],i=e[1],o=t.properties;if(o.cluster)return new M({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(t=>t.properties.marker),position:{lat:i,lng:r}});const n=o.marker;return new M({markers:[n],position:_.getPosition(n)})}}class S{constructor(t,e){this.markers={sum:t.length};const r=e.map(t=>t.count),s=r.reduce((t,e)=>t+e,0);this.clusters={count:e.length,markers:{mean:s/e.length,sum:s,min:Math.min(...r),max:Math.max(...r)}}}}class C{render(t,e,r){let s=t.count,i=t.position;const o=s>Math.max(10,e.clusters.markers.mean)?"#ff0000":"#0000ff",n='<svg fill="'.concat(o,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">').concat(s,"</text>\n</svg>"),a="Cluster of ".concat(s," markers"),c=Number(google.maps.Marker.MAX_ZINDEX)+s;if(_.isAdvancedMarkerAvailable(r)){const t=document.createElement("div");t.innerHTML=n;const e=t.firstElementChild;e.setAttribute("transform","translate(0 25)");const s={map:r,position:i,zIndex:c,title:a,content:e};return new google.maps.marker.AdvancedMarkerElement(s)}const l={position:i,zIndex:c,title:a,icon:{url:"data:image/svg+xml;base64,".concat(btoa(n)),anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(l)}}class O{constructor(){!function(t,e){for(let r in e.prototype)t.prototype[r]=e.prototype[r]}(O,google.maps.OverlayView)}}var L;!function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"}(L||(L={}));const P=(t,e,r)=>{r.fitBounds(e.bounds)};class j extends O{constructor(t){let e=t.map,r=t.markers,s=void 0===r?[]:r,i=t.algorithmOptions,o=void 0===i?{}:i,n=t.algorithm,a=void 0===n?new I(o):n,c=t.renderer,l=void 0===c?new C:c,h=t.onClusterClick,u=void 0===h?P:h;super(),this.markers=[...s],this.clusters=[],this.algorithm=a,this.renderer=l,this.onClusterClick=u,e&&this.setMap(e)}addMarker(t,e){this.markers.includes(t)||(this.markers.push(t),e||this.render())}addMarkers(t,e){t.forEach(t=>{this.addMarker(t,!0)}),e||this.render()}removeMarker(t,e){const r=this.markers.indexOf(t);return-1!==r&&(_.setMap(t,null),this.markers.splice(r,1),e||this.render(),!0)}removeMarkers(t,e){let r=!1;return t.forEach(t=>{r=this.removeMarker(t,!0)||r}),r&&!e&&this.render(),r}clearMarkers(t){this.markers.length=0,t||this.render()}render(){const t=this.getMap();if(t instanceof google.maps.Map&&t.getProjection()){google.maps.event.trigger(this,L.CLUSTERING_BEGIN,this);const e=this.algorithm.calculate({markers:this.markers,map:t,mapCanvasProjection:this.getProjection()}),r=e.clusters,s=e.changed;if(s||void 0==s){const t=new Set;for(const s of r)1==s.markers.length&&t.add(s.markers[0]);const e=[];for(const r of this.clusters)null!=r.marker&&(1==r.markers.length?t.has(r.marker)||_.setMap(r.marker,null):e.push(r.marker));this.clusters=r,this.renderClusters(),requestAnimationFrame(()=>e.forEach(t=>_.setMap(t,null)))}google.maps.event.trigger(this,L.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()}
2reset(){this.markers.forEach(t=>_.setMap(t,null)),this.clusters.forEach(t=>t.delete()),this.clusters=[]}renderClusters(){const t=new S(this.markers,this.clusters),e=this.getMap();this.clusters.forEach(r=>{1===r.markers.length?r.marker=r.markers[0]:(r.marker=this.renderer.render(r,t,e),r.markers.forEach(t=>_.setMap(t,null)),this.onClusterClick&&r.marker.addListener("click",t=>{google.maps.event.trigger(this,L.CLUSTER_CLICK,r),this.onClusterClick(t,r,e)})),_.setMap(r.marker,e)})}}},6617(t,e,r){var s=r(5715).default,i=r(1847).default;const o=["children","render","callback"];!function(t,e,r){"use strict";function n(t){return t&&"object"===typeof t&&"default"in t?t:{default:t}}var a,c=n(r);t.Status=void 0,(a=t.Status||(t.Status={})).LOADING="LOADING",a.FAILURE="FAILURE",a.SUCCESS="SUCCESS";const l=n=>{let a=n.children,l=n.render,h=n.callback,u=i(n,o);const p=r.useState(t.Status.LOADING),d=s(p,2),f=d[0],g=d[1];return r.useEffect(()=>{const r=new e.Loader(u),s=t=>{h&&h(t,r),g(t)};s(t.Status.LOADING),r.load().then(()=>s(t.Status.SUCCESS),()=>s(t.Status.FAILURE))},[]),f===t.Status.SUCCESS&&a?c.default.createElement(c.default.Fragment,null,a):l?l(f):c.default.createElement(c.default.Fragment,null)};t.Wrapper=l,Object.defineProperty(t,"__esModule",{value:!0})}(e,r(8493),r(7565))},79(t){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,s=Array(e);r<e;r++)s[r]=t[r];return s},t.exports.__esModule=!0,t.exports.default=t.exports},2987(t){t.exports=function(t){if(Array.isArray(t))return t},t.exports.__esModule=!0,t.exports.default=t.exports},8775(t){t.exports=function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var s,i,o,n,a=[],c=!0,l=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(s=o.call(r)).done)&&(a.push(s.value),a.length!==e);c=!0);}catch(t){l=!0,i=t}finally{try{if(!c&&null!=r.return&&(n=r.return(),Object(n)!==n))return}finally{if(l)throw i}}return a}},t.exports.__esModule=!0,t.exports.default=t.exports},7752(t){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.__esModule=!0,t.exports.default=t.exports},1847(t,e,r){var s=r(4893);t.exports=function(t,e){if(null==t)return{};var r,i,o=s(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i<n.length;i++)r=n[i],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o},t.exports.__esModule=!0,t.exports.default=t.exports},4893(t){t.exports=function(t,e){if(null==t)return{};var r={};for(var s in t)if({}.hasOwnProperty.call(t,s)){if(-1!==e.indexOf(s))continue;r[s]=t[s]}return r},t.exports.__esModule=!0,t.exports.default=t.exports},5715(t,e,r){var s=r(2987),i=r(8775),o=r(7122),n=r(7752);t.exports=function(t,e){return s(t)||i(t,e)||o(t,e)||n()},t.exports.__esModule=!0,t.exports.default=t.exports},7122(t,e,r){var s=r(79);t.exports=function(t,e){if(t){if("string"==typeof t)return s(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(t,e):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports}}]);
3//# sourceMappingURL=372.13762ec0.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.