@selfcommunity/react-core 0.7.0-mui7.31 → 0.7.0-react-17.0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umd/0.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 0.js.LICENSE.txt */
2
+ (self.webpackChunkSelfCommunityReactCore=self.webpackChunkSelfCommunityReactCore||[]).push([[0],{5199:function(e,t,n){e=n.nmd(e),function(n){"use strict";var r={};n.PubSub?(r=n.PubSub,console.warn("PubSub already loaded, using existing version")):(n.PubSub=r,function(e){var t={},n=-1;function r(e,t,n){try{e(t,n)}catch(e){setTimeout(function(e){return function(){throw e}}(e),0)}}function o(e,t,n){e(t,n)}function s(e,n,s,i){var a,l=t[n],c=i?o:r;if(Object.prototype.hasOwnProperty.call(t,n))for(a in l)Object.prototype.hasOwnProperty.call(l,a)&&c(l[a],e,s)}function i(e){var n=String(e);return Boolean(Object.prototype.hasOwnProperty.call(t,n)&&function(e){var t;for(t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!0;return!1}(t[n]))}function a(e,t,n,r){var o=function(e,t,n){return function(){var r=String(e),o=r.lastIndexOf(".");for(s(e,e,t,n);-1!==o;)o=(r=r.substr(0,o)).lastIndexOf("."),s(e,r,t,n);s(e,"*",t,n)}}(e="symbol"==typeof e?e.toString():e,t,r);return!!function(e){for(var t=String(e),n=i(t)||i("*"),r=t.lastIndexOf(".");!n&&-1!==r;)r=(t=t.substr(0,r)).lastIndexOf("."),n=i(t);return n}(e)&&(!0===n?o():setTimeout(o,0),!0)}e.publish=function(t,n){return a(t,n,!1,e.immediateExceptions)},e.publishSync=function(t,n){return a(t,n,!0,e.immediateExceptions)},e.subscribe=function(e,r){if("function"!=typeof r)return!1;e="symbol"==typeof e?e.toString():e,Object.prototype.hasOwnProperty.call(t,e)||(t[e]={});var o="uid_"+String(++n);return t[e][o]=r,o},e.subscribeAll=function(t){return e.subscribe("*",t)},e.subscribeOnce=function(t,n){var r=e.subscribe(t,function(){e.unsubscribe(r),n.apply(this,arguments)});return e},e.clearAllSubscriptions=function(){t={}},e.clearSubscriptions=function(e){var n;for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&0===n.indexOf(e)&&delete t[n]},e.countSubscriptions=function(e){var n,r,o=0;for(n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&0===n.indexOf(e)){for(r in t[n])o++;break}return o},e.getSubscriptions=function(e){var n,r=[];for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&0===n.indexOf(e)&&r.push(n);return r},e.unsubscribe=function(n){var r,o,s,i="string"==typeof n&&(Object.prototype.hasOwnProperty.call(t,n)||function(e){var n;for(n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&0===n.indexOf(e))return!0;return!1}(n)),a=!i&&"string"==typeof n,l="function"==typeof n,c=!1;if(!i){for(r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(o=t[r],a&&o[n]){delete o[n],c=n;break}if(l)for(s in o)Object.prototype.hasOwnProperty.call(o,s)&&o[s]===n&&(delete o[s],c=!0)}return c}e.clearSubscriptions(n)}}(r)),void 0!==e&&e.exports&&(t=e.exports=r),t.PubSub=r,e.exports=t=r}("object"==typeof window&&window||this||n.g)},5478:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CompactEncrypt:()=>at,CompactSign:()=>ct,EmbeddedJWK:()=>yt,EncryptJWT:()=>gt,FlattenedEncrypt:()=>Fe,FlattenedSign:()=>lt,GeneralEncrypt:()=>Ve,GeneralSign:()=>pt,SignJWT:()=>ht,UnsecuredJWT:()=>kt,base64url:()=>o,calculateJwkThumbprint:()=>ft,calculateJwkThumbprintUri:()=>vt,compactDecrypt:()=>He,compactVerify:()=>Xe,createLocalJWKSet:()=>Ct,createRemoteJWKSet:()=>Pt,cryptoRuntime:()=>Tt,decodeJwt:()=>At,decodeProtectedHeader:()=>Mt,errors:()=>r,exportJWK:()=>Ne,exportPKCS8:()=>Ke,exportSPKI:()=>We,flattenedDecrypt:()=>Ie,flattenedVerify:()=>Ye,generalDecrypt:()=>Ue,generalVerify:()=>Qe,generateKeyPair:()=>Rt,generateSecret:()=>Dt,importJWK:()=>Ae,importPKCS8:()=>Me,importSPKI:()=>Oe,importX509:()=>xe,jwtDecrypt:()=>it,jwtVerify:()=>st});var r={};n.r(r),n.d(r,{JOSEAlgNotAllowed:()=>C,JOSEError:()=>b,JOSENotSupported:()=>L,JWEDecompressionFailed:()=>k,JWEDecryptionFailed:()=>P,JWEInvalid:()=>O,JWKInvalid:()=>A,JWKSInvalid:()=>_,JWKSMultipleMatchingKeys:()=>D,JWKSNoMatchingKey:()=>R,JWKSTimeout:()=>T,JWSInvalid:()=>x,JWSSignatureVerificationFailed:()=>j,JWTClaimValidationFailed:()=>E,JWTExpired:()=>S,JWTInvalid:()=>M});var o={};n.r(o),n.d(o,{decode:()=>xt,encode:()=>Ot});const s=crypto,i=e=>e instanceof CryptoKey,a=async(e,t)=>{const n=`SHA-${e.slice(-3)}`;return new Uint8Array(await s.subtle.digest(n,t))},l=new TextEncoder,c=new TextDecoder,u=2**32;function p(...e){const t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t);let r=0;return e.forEach(e=>{n.set(e,r),r+=e.length}),n}function d(e,t,n){if(t<0||t>=u)throw new RangeError(`value must be >= 0 and <= 4294967295. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,255&t],n)}function h(e){const t=Math.floor(e/u),n=e%u,r=new Uint8Array(8);return d(r,t,0),d(r,n,4),r}function g(e){const t=new Uint8Array(4);return d(t,e),t}function m(e){return p(g(e.length),e)}const f=e=>{let t=e;"string"==typeof t&&(t=l.encode(t));const n=[];for(let e=0;e<t.length;e+=32768)n.push(String.fromCharCode.apply(null,t.subarray(e,e+32768)));return btoa(n.join(""))},v=e=>f(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),y=e=>{const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n},w=e=>{let t=e;t instanceof Uint8Array&&(t=c.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return y(t)}catch(e){throw new TypeError("The input to be decoded is not correctly encoded.")}};class b extends Error{static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var t;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}class E extends b{static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,t="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=t,this.reason=n}}class S extends b{static get code(){return"ERR_JWT_EXPIRED"}constructor(e,t="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=t,this.reason=n}}class C extends b{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}}class L extends b{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}}class P extends b{constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}}class k extends b{constructor(){super(...arguments),this.code="ERR_JWE_DECOMPRESSION_FAILED",this.message="decompression operation failed"}static get code(){return"ERR_JWE_DECOMPRESSION_FAILED"}}class O extends b{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}}class x extends b{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}}class M extends b{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}}class A extends b{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}}class _ extends b{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}}class R extends b{constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}}class D extends b{constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}}Symbol.asyncIterator;class T extends b{constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}}class j extends b{constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}const I=s.getRandomValues.bind(s);function H(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new L(`Unsupported JWE Algorithm: ${e}`)}}const U=e=>I(new Uint8Array(H(e)>>3)),B=(e,t)=>{if(t.length<<3!==H(e))throw new O("Invalid Initialization Vector length")},W=(e,t)=>{const n=e.byteLength<<3;if(n!==t)throw new O(`Invalid Content Encryption Key length. Expected ${t} bits, got ${n} bits`)};function K(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function N(e,t){return e.name===t}function z(e){return parseInt(e.name.slice(4),10)}function J(e,t){if(t.length&&!t.some(t=>e.usages.includes(t))){let e="CryptoKey does not support this operation, its usages must include ";if(t.length>2){const n=t.pop();e+=`one of ${t.join(", ")}, or ${n}.`}else 2===t.length?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw new TypeError(e)}}function F(e,t,...n){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!N(e.algorithm,"AES-GCM"))throw K("AES-GCM");const n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw K(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!N(e.algorithm,"AES-KW"))throw K("AES-KW");const n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw K(n,"algorithm.length");break}case"ECDH":switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw K("ECDH, X25519, or X448")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!N(e.algorithm,"PBKDF2"))throw K("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!N(e.algorithm,"RSA-OAEP"))throw K("RSA-OAEP");const n=parseInt(t.slice(9),10)||1;if(z(e.algorithm.hash)!==n)throw K(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}J(e,n)}function G(e,t,...n){if(n.length>2){const t=n.pop();e+=`one of type ${n.join(", ")}, or ${t}.`}else 2===n.length?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}const V=(e,...t)=>G("Key must be ",e,...t);function $(e,t,...n){return G(`Key for the ${e} algorithm must be `,t,...n)}const Z=e=>i(e),q=["CryptoKey"],Y=async(e,t,n,r,o,a)=>{if(!(i(t)||t instanceof Uint8Array))throw new TypeError(V(t,...q,"Uint8Array"));switch(B(e,r),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&W(t,parseInt(e.slice(-3),10)),async function(e,t,n,r,o,i){if(!(t instanceof Uint8Array))throw new TypeError(V(t,"Uint8Array"));const a=parseInt(e.slice(1,4),10),l=await s.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),c=await s.subtle.importKey("raw",t.subarray(0,a>>3),{hash:"SHA-"+(a<<1),name:"HMAC"},!1,["sign"]),u=p(i,r,n,h(i.length<<3)),d=new Uint8Array((await s.subtle.sign("HMAC",c,u)).slice(0,a>>3));let g,m;try{g=((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");const n=e.length;let r=0,o=-1;for(;++o<n;)r|=e[o]^t[o];return 0===r})(o,d)}catch(e){}if(!g)throw new P;try{m=new Uint8Array(await s.subtle.decrypt({iv:r,name:"AES-CBC"},l,n))}catch(e){}if(!m)throw new P;return m}(e,t,n,r,o,a);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&W(t,parseInt(e.slice(1,4),10)),async function(e,t,n,r,o,i){let a;t instanceof Uint8Array?a=await s.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(F(t,e,"decrypt"),a=t);try{return new Uint8Array(await s.subtle.decrypt({additionalData:i,iv:r,name:"AES-GCM",tagLength:128},a,p(n,o)))}catch(e){throw new P}}(e,t,n,r,o,a);default:throw new L("Unsupported JWE Content Encryption Algorithm")}},X=async()=>{throw new L('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},Q=async()=>{throw new L('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},ee=(...e)=>{const t=e.filter(Boolean);if(0===t.length||1===t.length)return!0;let n;for(const e of t){const t=Object.keys(e);if(n&&0!==n.size)for(const e of t){if(n.has(e))return!1;n.add(e)}else n=new Set(t)}return!0};function te(e){if("object"!=typeof(t=e)||null===t||"[object Object]"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let n=e;for(;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}const ne=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]];function re(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function oe(e,t,n){if(i(e))return F(e,t,n),e;if(e instanceof Uint8Array)return s.subtle.importKey("raw",e,"AES-KW",!0,[n]);throw new TypeError(V(e,...q,"Uint8Array"))}const se=async(e,t,n)=>{const r=await oe(t,e,"wrapKey");re(r,e);const o=await s.subtle.importKey("raw",n,...ne);return new Uint8Array(await s.subtle.wrapKey("raw",o,r,"AES-KW"))},ie=async(e,t,n)=>{const r=await oe(t,e,"unwrapKey");re(r,e);const o=await s.subtle.unwrapKey("raw",n,r,"AES-KW",...ne);return new Uint8Array(await s.subtle.exportKey("raw",o))};async function ae(e,t,n,r,o=new Uint8Array(0),c=new Uint8Array(0)){if(!i(e))throw new TypeError(V(e,...q));if(F(e,"ECDH"),!i(t))throw new TypeError(V(t,...q));F(t,"ECDH","deriveBits");const u=p(m(l.encode(n)),m(o),m(c),g(r));let d;return d="X25519"===e.algorithm.name?256:"X448"===e.algorithm.name?448:Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3,async function(e,t,n){const r=Math.ceil((t>>3)/32),o=new Uint8Array(32*r);for(let t=0;t<r;t++){const r=new Uint8Array(4+e.length+n.length);r.set(g(t+1)),r.set(e,4),r.set(n,4+e.length),o.set(await a("sha256",r),32*t)}return o.slice(0,t>>3)}(new Uint8Array(await s.subtle.deriveBits({name:e.algorithm.name,public:e},t,d)),r,u)}function le(e){if(!i(e))throw new TypeError(V(e,...q));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||"X25519"===e.algorithm.name||"X448"===e.algorithm.name}async function ce(e,t,n,r){!function(e){if(!(e instanceof Uint8Array)||e.length<8)throw new O("PBES2 Salt Input must be 8 or more octets")}(e);const o=function(e,t){return p(l.encode(e),new Uint8Array([0]),t)}(t,e),a=parseInt(t.slice(13,16),10),c={hash:`SHA-${t.slice(8,11)}`,iterations:n,name:"PBKDF2",salt:o},u={length:a,name:"AES-KW"},d=await function(e,t){if(e instanceof Uint8Array)return s.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(i(e))return F(e,t,"deriveBits","deriveKey"),e;throw new TypeError(V(e,...q,"Uint8Array"))}(r,t);if(d.usages.includes("deriveBits"))return new Uint8Array(await s.subtle.deriveBits(c,d,a));if(d.usages.includes("deriveKey"))return s.subtle.deriveKey(c,d,u,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}function ue(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new L(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}const pe=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){const{modulusLength:n}=t.algorithm;if("number"!=typeof n||n<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}};function de(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new L(`Unsupported JWE Algorithm: ${e}`)}}const he=e=>I(new Uint8Array(de(e)>>3)),ge=(e,t)=>`-----BEGIN ${t}-----\n${(e.match(/.{1,64}/g)||[]).join("\n")}\n-----END ${t}-----`,me=async(e,t,n)=>{if(!i(n))throw new TypeError(V(n,...q));if(!n.extractable)throw new TypeError("CryptoKey is not extractable");if(n.type!==e)throw new TypeError(`key is not a ${e} key`);return ge(f(new Uint8Array(await s.subtle.exportKey(t,n))),`${e.toUpperCase()} KEY`)},fe=e=>me("public","spki",e),ve=e=>me("private","pkcs8",e),ye=(e,t,n=0)=>{0===n&&(t.unshift(t.length),t.unshift(6));let r=e.indexOf(t[0],n);if(-1===r)return!1;const o=e.subarray(r,r+t.length);return o.length===t.length&&(o.every((e,n)=>e===t[n])||ye(e,t,r+1))},we=e=>{switch(!0){case ye(e,[42,134,72,206,61,3,1,7]):return"P-256";case ye(e,[43,129,4,0,34]):return"P-384";case ye(e,[43,129,4,0,35]):return"P-521";case ye(e,[43,101,110]):return"X25519";case ye(e,[43,101,111]):return"X448";case ye(e,[43,101,112]):return"Ed25519";case ye(e,[43,101,113]):return"Ed448";default:throw new L("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},be=async(e,t,n,r,o)=>{var i;let a,l;const c=new Uint8Array(atob(n.replace(e,"")).split("").map(e=>e.charCodeAt(0))),u="spki"===t;switch(r){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${r.slice(-3)}`},l=u?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${r.slice(-3)}`},l=u?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(r.slice(-3),10)||1}`},l=u?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},l=u?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},l=u?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},l=u?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{const e=we(c);a=e.startsWith("P-")?{name:"ECDH",namedCurve:e}:{name:e},l=u?[]:["deriveBits"];break}case"EdDSA":a={name:we(c)},l=u?["verify"]:["sign"];break;default:throw new L('Invalid or unsupported "alg" (Algorithm) value')}return s.subtle.importKey(t,c,a,null!==(i=null==o?void 0:o.extractable)&&void 0!==i&&i,l)},Ee=(e,t,n)=>be(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,n),Se=(e,t,n)=>be(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,n);function Ce(e){let t=[],n=0;for(;n<e.length;){let r=Le(e.subarray(n));t.push(r),n+=r.byteLength}return t}function Le(e){let t=0,n=31&e[0];if(t++,31===n){for(n=0;e[t]>=128;)n=128*n+e[t]-128,t++;n=128*n+e[t]-128,t++}let r=0;if(e[t]<128)r=e[t],t++;else{if(128===r){for(r=0;0!==e[t+r]||0!==e[t+r+1];){if(r>e.byteLength)throw new TypeError("invalid indefinite form length");r++}const n=t+r+2;return{byteLength:n,contents:e.subarray(t,t+r),raw:e.subarray(0,n)}}{let n=127&e[t];t++,r=0;for(let o=0;o<n;o++)r=256*r+e[t],t++}}const o=t+r;return{byteLength:o,contents:e.subarray(t,o),raw:e.subarray(0,o)}}const Pe=(e,t,n)=>{let r;try{r=function(e){const t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),n=y(t);return ge(function(e){const t=Ce(Ce(Le(e).contents)[0].contents);return f(t[160===t[0].raw[0]?6:5].raw)}(n),"PUBLIC KEY")}(e)}catch(e){throw new TypeError("Failed to parse the X.509 certificate",{cause:e})}return Se(r,t,n)},ke=async e=>{var t,n;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');const{algorithm:r,keyUsages:o}=function(e){let t,n;switch(e.kty){case"oct":switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},n=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new L(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},n=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},n=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},n=["deriveBits"];break;default:throw new L('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},n=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},n=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},n=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new L('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},n=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},n=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},n=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},n=e.d?["deriveBits"]:[];break;default:throw new L('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"EdDSA":t={name:e.crv},n=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},n=e.d?["deriveBits"]:[];break;default:throw new L('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new L('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:n}}(e),i=[r,null!==(t=e.ext)&&void 0!==t&&t,null!==(n=e.key_ops)&&void 0!==n?n:o];if("PBKDF2"===r.name)return s.subtle.importKey("raw",w(e.k),...i);const a={...e};return delete a.alg,delete a.use,s.subtle.importKey("jwk",a,...i)};async function Oe(e,t,n){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PUBLIC KEY-----"))throw new TypeError('"spki" must be SPKI formatted string');return Se(e,t,n)}async function xe(e,t,n){if("string"!=typeof e||0!==e.indexOf("-----BEGIN CERTIFICATE-----"))throw new TypeError('"x509" must be X.509 formatted string');return Pe(e,t,n)}async function Me(e,t,n){if("string"!=typeof e||0!==e.indexOf("-----BEGIN PRIVATE KEY-----"))throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Ee(e,t,n)}async function Ae(e,t,n){var r;if(!te(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return null!=n||(n=!0!==e.ext),n?ke({...e,alg:t,ext:null!==(r=e.ext)&&void 0!==r&&r}):w(e.k);case"RSA":if(void 0!==e.oth)throw new L('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return ke({...e,alg:t});default:throw new L('Unsupported "kty" (Key Type) Parameter value')}}const _e=(e,t,n)=>{e.startsWith("HS")||"dir"===e||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?((e,t)=>{if(!(t instanceof Uint8Array)){if(!Z(t))throw new TypeError($(e,t,...q,"Uint8Array"));if("secret"!==t.type)throw new TypeError(`${q.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}})(e,t):((e,t,n)=>{if(!Z(t))throw new TypeError($(e,t,...q));if("secret"===t.type)throw new TypeError(`${q.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if("sign"===n&&"public"===t.type)throw new TypeError(`${q.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if("decrypt"===n&&"public"===t.type)throw new TypeError(`${q.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&"verify"===n&&"private"===t.type)throw new TypeError(`${q.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&"encrypt"===n&&"private"===t.type)throw new TypeError(`${q.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)})(e,t,n)},Re=async(e,t,n,r,o)=>{if(!(i(n)||n instanceof Uint8Array))throw new TypeError(V(n,...q,"Uint8Array"));switch(B(e,r),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n instanceof Uint8Array&&W(n,parseInt(e.slice(-3),10)),async function(e,t,n,r,o){if(!(n instanceof Uint8Array))throw new TypeError(V(n,"Uint8Array"));const i=parseInt(e.slice(1,4),10),a=await s.subtle.importKey("raw",n.subarray(i>>3),"AES-CBC",!1,["encrypt"]),l=await s.subtle.importKey("raw",n.subarray(0,i>>3),{hash:"SHA-"+(i<<1),name:"HMAC"},!1,["sign"]),c=new Uint8Array(await s.subtle.encrypt({iv:r,name:"AES-CBC"},a,t)),u=p(o,r,c,h(o.length<<3));return{ciphertext:c,tag:new Uint8Array((await s.subtle.sign("HMAC",l,u)).slice(0,i>>3))}}(e,t,n,r,o);case"A128GCM":case"A192GCM":case"A256GCM":return n instanceof Uint8Array&&W(n,parseInt(e.slice(1,4),10)),async function(e,t,n,r,o){let i;n instanceof Uint8Array?i=await s.subtle.importKey("raw",n,"AES-GCM",!1,["encrypt"]):(F(n,e,"encrypt"),i=n);const a=new Uint8Array(await s.subtle.encrypt({additionalData:o,iv:r,name:"AES-GCM",tagLength:128},i,t)),l=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:l}}(e,t,n,r,o);default:throw new L("Unsupported JWE Content Encryption Algorithm")}},De=async function(e,t,n,r,o){switch(_e(e,t,"decrypt"),e){case"dir":if(void 0!==n)throw new O("Encountered unexpected JWE Encrypted Key");return t;case"ECDH-ES":if(void 0!==n)throw new O("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!te(r.epk))throw new O('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!le(t))throw new L("ECDH with the provided key is not allowed or not supported by your javascript runtime");const o=await Ae(r.epk,e);let s,i;if(void 0!==r.apu){if("string"!=typeof r.apu)throw new O('JOSE Header "apu" (Agreement PartyUInfo) invalid');try{s=w(r.apu)}catch(e){throw new O("Failed to base64url decode the apu")}}if(void 0!==r.apv){if("string"!=typeof r.apv)throw new O('JOSE Header "apv" (Agreement PartyVInfo) invalid');try{i=w(r.apv)}catch(e){throw new O("Failed to base64url decode the apv")}}const a=await ae(o,t,"ECDH-ES"===e?r.enc:e,"ECDH-ES"===e?de(r.enc):parseInt(e.slice(-5,-2),10),s,i);if("ECDH-ES"===e)return a;if(void 0===n)throw new O("JWE Encrypted Key missing");return ie(e.slice(-6),a,n)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if(void 0===n)throw new O("JWE Encrypted Key missing");return(async(e,t,n)=>{if(!i(t))throw new TypeError(V(t,...q));if(F(t,e,"decrypt","unwrapKey"),pe(e,t),t.usages.includes("decrypt"))return new Uint8Array(await s.subtle.decrypt(ue(e),t,n));if(t.usages.includes("unwrapKey")){const r=await s.subtle.unwrapKey("raw",n,t,ue(e),...ne);return new Uint8Array(await s.subtle.exportKey("raw",r))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')})(e,t,n);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(void 0===n)throw new O("JWE Encrypted Key missing");if("number"!=typeof r.p2c)throw new O('JOSE Header "p2c" (PBES2 Count) missing or invalid');const s=(null==o?void 0:o.maxPBES2Count)||1e4;if(r.p2c>s)throw new O('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof r.p2s)throw new O('JOSE Header "p2s" (PBES2 Salt) missing or invalid');let i;try{i=w(r.p2s)}catch(e){throw new O("Failed to base64url decode the p2s")}return(async(e,t,n,r,o)=>{const s=await ce(o,e,r,t);return ie(e.slice(-6),s,n)})(e,t,n,r.p2c,i)}case"A128KW":case"A192KW":case"A256KW":if(void 0===n)throw new O("JWE Encrypted Key missing");return ie(e,t,n);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(void 0===n)throw new O("JWE Encrypted Key missing");if("string"!=typeof r.iv)throw new O('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof r.tag)throw new O('JOSE Header "tag" (Authentication Tag) missing or invalid');let o,s;try{o=w(r.iv)}catch(e){throw new O("Failed to base64url decode the iv")}try{s=w(r.tag)}catch(e){throw new O("Failed to base64url decode the tag")}return async function(e,t,n,r,o){const s=e.slice(0,7);return Y(s,t,n,r,o,new Uint8Array(0))}(e,t,n,o,s)}default:throw new L('Invalid or unsupported "alg" (JWE Algorithm) header value')}},Te=function(e,t,n,r,o){if(void 0!==o.crit&&void 0===r.crit)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!r||void 0===r.crit)return new Set;if(!Array.isArray(r.crit)||0===r.crit.length||r.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;s=void 0!==n?new Map([...Object.entries(n),...t.entries()]):t;for(const t of r.crit){if(!s.has(t))throw new L(`Extension Header Parameter "${t}" is not recognized`);if(void 0===o[t])throw new e(`Extension Header Parameter "${t}" is missing`);if(s.get(t)&&void 0===r[t])throw new e(`Extension Header Parameter "${t}" MUST be integrity protected`)}return new Set(r.crit)},je=(e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)};async function Ie(e,t,n){var r;if(!te(e))throw new O("Flattened JWE must be an object");if(void 0===e.protected&&void 0===e.header&&void 0===e.unprotected)throw new O("JOSE Header missing");if("string"!=typeof e.iv)throw new O("JWE Initialization Vector missing or incorrect type");if("string"!=typeof e.ciphertext)throw new O("JWE Ciphertext missing or incorrect type");if("string"!=typeof e.tag)throw new O("JWE Authentication Tag missing or incorrect type");if(void 0!==e.protected&&"string"!=typeof e.protected)throw new O("JWE Protected Header incorrect type");if(void 0!==e.encrypted_key&&"string"!=typeof e.encrypted_key)throw new O("JWE Encrypted Key incorrect type");if(void 0!==e.aad&&"string"!=typeof e.aad)throw new O("JWE AAD incorrect type");if(void 0!==e.header&&!te(e.header))throw new O("JWE Shared Unprotected Header incorrect type");if(void 0!==e.unprotected&&!te(e.unprotected))throw new O("JWE Per-Recipient Unprotected Header incorrect type");let o;if(e.protected)try{const t=w(e.protected);o=JSON.parse(c.decode(t))}catch(e){throw new O("JWE Protected Header is invalid")}if(!ee(o,e.header,e.unprotected))throw new O("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");const s={...o,...e.header,...e.unprotected};if(Te(O,new Map,null==n?void 0:n.crit,o,s),void 0!==s.zip){if(!o||!o.zip)throw new O('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==s.zip)throw new L('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:i,enc:a}=s;if("string"!=typeof i||!i)throw new O("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof a||!a)throw new O("missing JWE Encryption Algorithm (enc) in JWE Header");const u=n&&je("keyManagementAlgorithms",n.keyManagementAlgorithms),d=n&&je("contentEncryptionAlgorithms",n.contentEncryptionAlgorithms);if(u&&!u.has(i))throw new C('"alg" (Algorithm) Header Parameter not allowed');if(d&&!d.has(a))throw new C('"enc" (Encryption Algorithm) Header Parameter not allowed');let h;if(void 0!==e.encrypted_key)try{h=w(e.encrypted_key)}catch(e){throw new O("Failed to base64url decode the encrypted_key")}let g,m,f,v=!1;"function"==typeof t&&(t=await t(o,e),v=!0);try{g=await De(i,t,h,s,n)}catch(e){if(e instanceof TypeError||e instanceof O||e instanceof L)throw e;g=he(a)}try{m=w(e.iv)}catch(e){throw new O("Failed to base64url decode the iv")}try{f=w(e.tag)}catch(e){throw new O("Failed to base64url decode the tag")}const y=l.encode(null!==(r=e.protected)&&void 0!==r?r:"");let b,E;b=void 0!==e.aad?p(y,l.encode("."),l.encode(e.aad)):y;try{E=w(e.ciphertext)}catch(e){throw new O("Failed to base64url decode the ciphertext")}let S=await Y(a,g,E,m,f,b);"DEF"===s.zip&&(S=await((null==n?void 0:n.inflateRaw)||X)(S));const P={plaintext:S};if(void 0!==e.protected&&(P.protectedHeader=o),void 0!==e.aad)try{P.additionalAuthenticatedData=w(e.aad)}catch(e){throw new O("Failed to base64url decode the aad")}return void 0!==e.unprotected&&(P.sharedUnprotectedHeader=e.unprotected),void 0!==e.header&&(P.unprotectedHeader=e.header),v?{...P,key:t}:P}async function He(e,t,n){if(e instanceof Uint8Array&&(e=c.decode(e)),"string"!=typeof e)throw new O("Compact JWE must be a string or Uint8Array");const{0:r,1:o,2:s,3:i,4:a,length:l}=e.split(".");if(5!==l)throw new O("Invalid Compact JWE");const u=await Ie({ciphertext:i,iv:s||void 0,protected:r||void 0,tag:a||void 0,encrypted_key:o||void 0},t,n),p={plaintext:u.plaintext,protectedHeader:u.protectedHeader};return"function"==typeof t?{...p,key:u.key}:p}async function Ue(e,t,n){if(!te(e))throw new O("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(te))throw new O("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new O("JWE Recipients has no members");for(const r of e.recipients)try{return await Ie({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:r.encrypted_key,header:r.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,n)}catch(e){}throw new P}const Be=async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:v(e)};if(!i(e))throw new TypeError(V(e,...q,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");const{ext:t,key_ops:n,alg:r,use:o,...a}=await s.subtle.exportKey("jwk",e);return a};async function We(e){return fe(e)}async function Ke(e){return ve(e)}async function Ne(e){return Be(e)}const ze=async function(e,t,n,r,o={}){let a,l,c;switch(_e(e,n,"encrypt"),e){case"dir":c=n;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!le(n))throw new L("ECDH with the provided key is not allowed or not supported by your javascript runtime");const{apu:u,apv:p}=o;let{epk:d}=o;d||(d=(await async function(e){if(!i(e))throw new TypeError(V(e,...q));return s.subtle.generateKey(e.algorithm,!0,["deriveBits"])}(n)).privateKey);const{x:h,y:g,crv:m,kty:f}=await Ne(d),y=await ae(n,d,"ECDH-ES"===e?t:e,"ECDH-ES"===e?de(t):parseInt(e.slice(-5,-2),10),u,p);if(l={epk:{x:h,crv:m,kty:f}},"EC"===f&&(l.epk.y=g),u&&(l.apu=v(u)),p&&(l.apv=v(p)),"ECDH-ES"===e){c=y;break}c=r||he(t);const w=e.slice(-6);a=await se(w,y,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":c=r||he(t),a=await(async(e,t,n)=>{if(!i(t))throw new TypeError(V(t,...q));if(F(t,e,"encrypt","wrapKey"),pe(e,t),t.usages.includes("encrypt"))return new Uint8Array(await s.subtle.encrypt(ue(e),t,n));if(t.usages.includes("wrapKey")){const r=await s.subtle.importKey("raw",n,...ne);return new Uint8Array(await s.subtle.wrapKey("raw",r,t,ue(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')})(e,n,c);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=r||he(t);const{p2c:s,p2s:i}=o;({encryptedKey:a,...l}=await(async(e,t,n,r=2048,o=I(new Uint8Array(16)))=>{const s=await ce(o,e,r,t);return{encryptedKey:await se(e.slice(-6),s,n),p2c:r,p2s:v(o)}})(e,n,c,s,i));break}case"A128KW":case"A192KW":case"A256KW":c=r||he(t),a=await se(e,n,c);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=r||he(t);const{iv:s}=o;({encryptedKey:a,...l}=await async function(e,t,n,r){const o=e.slice(0,7);r||(r=U(o));const{ciphertext:s,tag:i}=await Re(o,n,t,r,new Uint8Array(0));return{encryptedKey:s,iv:v(r),tag:v(i)}}(e,n,c,s));break}default:throw new L('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:a,parameters:l}},Je=Symbol();class Fe{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,t){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new O("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!ee(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new O("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");const n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Te(O,new Map,null==t?void 0:t.crit,this._protectedHeader,n),void 0!==n.zip){if(!this._protectedHeader||!this._protectedHeader.zip)throw new O('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if("DEF"!==n.zip)throw new L('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}const{alg:r,enc:o}=n;if("string"!=typeof r||!r)throw new O('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof o||!o)throw new O('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let s,i,a,u,d,h,g;if("dir"===r){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if("ECDH-ES"===r&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");{let n;({cek:i,encryptedKey:s,parameters:n}=await ze(r,o,e,this._cek,this._keyManagementParameters)),n&&(t&&Je in t?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...n}:this.setUnprotectedHeader(n):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...n}:this.setProtectedHeader(n))}if(this._iv||(this._iv=U(o)),u=this._protectedHeader?l.encode(v(JSON.stringify(this._protectedHeader))):l.encode(""),this._aad?(d=v(this._aad),a=p(u,l.encode("."),l.encode(d))):a=u,"DEF"===n.zip){const e=await((null==t?void 0:t.deflateRaw)||Q)(this._plaintext);({ciphertext:h,tag:g}=await Re(o,e,i,this._iv,a))}else({ciphertext:h,tag:g}=await Re(o,this._plaintext,i,this._iv,a));const m={ciphertext:v(h),iv:v(this._iv),tag:v(g)};return s&&(m.encrypted_key=v(s)),d&&(m.aad=d),this._protectedHeader&&(m.protected=c.decode(u)),this._sharedUnprotectedHeader&&(m.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(m.header=this._unprotectedHeader),m}}class Ge{constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}}class Ve{constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,t){const n=new Ge(this,e,{crit:null==t?void 0:t.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var t,n,r;if(!this._recipients.length)throw new O("at least one recipient must be added");if(e={deflateRaw:null==e?void 0:e.deflateRaw},1===this._recipients.length){const[t]=this._recipients,n=await new Fe(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(t.unprotectedHeader).encrypt(t.key,{...t.options,...e});let r={ciphertext:n.ciphertext,iv:n.iv,recipients:[{}],tag:n.tag};return n.aad&&(r.aad=n.aad),n.protected&&(r.protected=n.protected),n.unprotected&&(r.unprotected=n.unprotected),n.encrypted_key&&(r.recipients[0].encrypted_key=n.encrypted_key),n.header&&(r.recipients[0].header=n.header),r}let o;for(let e=0;e<this._recipients.length;e++){const t=this._recipients[e];if(!ee(this._protectedHeader,this._unprotectedHeader,t.unprotectedHeader))throw new O("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");const n={...this._protectedHeader,...this._unprotectedHeader,...t.unprotectedHeader},{alg:r}=n;if("string"!=typeof r||!r)throw new O('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("dir"===r||"ECDH-ES"===r)throw new O('"dir" and "ECDH-ES" alg may only be used with a single recipient');if("string"!=typeof n.enc||!n.enc)throw new O('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(o){if(o!==n.enc)throw new O('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients')}else o=n.enc;if(Te(O,new Map,t.options.crit,this._protectedHeader,n),!(void 0===n.zip||this._protectedHeader&&this._protectedHeader.zip))throw new O('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}const s=he(o);let i={ciphertext:"",iv:"",recipients:[],tag:""};for(let a=0;a<this._recipients.length;a++){const l=this._recipients[a],c={};i.recipients.push(c);const u={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+a:void 0;if(0===a){const t=await new Fe(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(s).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:u}).encrypt(l.key,{...l.options,...e,[Je]:!0});i.ciphertext=t.ciphertext,i.iv=t.iv,i.tag=t.tag,t.aad&&(i.aad=t.aad),t.protected&&(i.protected=t.protected),t.unprotected&&(i.unprotected=t.unprotected),c.encrypted_key=t.encrypted_key,t.header&&(c.header=t.header);continue}const{encryptedKey:p,parameters:d}=await ze((null===(t=l.unprotectedHeader)||void 0===t?void 0:t.alg)||(null===(n=this._protectedHeader)||void 0===n?void 0:n.alg)||(null===(r=this._unprotectedHeader)||void 0===r?void 0:r.alg),o,l.key,s,{p2c:u});c.encrypted_key=v(p),(l.unprotectedHeader||d)&&(c.header={...l.unprotectedHeader,...d})}return i}}function $e(e,t){const n=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:n,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:n,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:n,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:n,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new L(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}function Ze(e,t,n){if(i(t))return function(e,t,...n){switch(t){case"HS256":case"HS384":case"HS512":{if(!N(e.algorithm,"HMAC"))throw K("HMAC");const n=parseInt(t.slice(2),10);if(z(e.algorithm.hash)!==n)throw K(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!N(e.algorithm,"RSASSA-PKCS1-v1_5"))throw K("RSASSA-PKCS1-v1_5");const n=parseInt(t.slice(2),10);if(z(e.algorithm.hash)!==n)throw K(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!N(e.algorithm,"RSA-PSS"))throw K("RSA-PSS");const n=parseInt(t.slice(2),10);if(z(e.algorithm.hash)!==n)throw K(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":if("Ed25519"!==e.algorithm.name&&"Ed448"!==e.algorithm.name)throw K("Ed25519 or Ed448");break;case"ES256":case"ES384":case"ES512":{if(!N(e.algorithm,"ECDSA"))throw K("ECDSA");const n=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}(t);if(e.algorithm.namedCurve!==n)throw K(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}J(e,n)}(t,e,n),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(V(t,...q));return s.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[n])}throw new TypeError(V(t,...q,"Uint8Array"))}const qe=async(e,t,n,r)=>{const o=await Ze(e,t,"verify");pe(e,o);const i=$e(e,o.algorithm);try{return await s.subtle.verify(i,o,n,r)}catch(e){return!1}};async function Ye(e,t,n){var r;if(!te(e))throw new x("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new x('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new x("JWS Protected Header incorrect type");if(void 0===e.payload)throw new x("JWS Payload missing");if("string"!=typeof e.signature)throw new x("JWS Signature missing or incorrect type");if(void 0!==e.header&&!te(e.header))throw new x("JWS Unprotected Header incorrect type");let o={};if(e.protected)try{const t=w(e.protected);o=JSON.parse(c.decode(t))}catch(e){throw new x("JWS Protected Header is invalid")}if(!ee(o,e.header))throw new x("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const s={...o,...e.header};let i=!0;if(Te(x,new Map([["b64",!0]]),null==n?void 0:n.crit,o,s).has("b64")&&(i=o.b64,"boolean"!=typeof i))throw new x('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:a}=s;if("string"!=typeof a||!a)throw new x('JWS "alg" (Algorithm) Header Parameter missing or invalid');const u=n&&je("algorithms",n.algorithms);if(u&&!u.has(a))throw new C('"alg" (Algorithm) Header Parameter not allowed');if(i){if("string"!=typeof e.payload)throw new x("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new x("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(o,e),d=!0),_e(a,t,"verify");const h=p(l.encode(null!==(r=e.protected)&&void 0!==r?r:""),l.encode("."),"string"==typeof e.payload?l.encode(e.payload):e.payload);let g,m;try{g=w(e.signature)}catch(e){throw new x("Failed to base64url decode the signature")}if(!await qe(a,t,g,h))throw new j;if(i)try{m=w(e.payload)}catch(e){throw new x("Failed to base64url decode the payload")}else m="string"==typeof e.payload?l.encode(e.payload):e.payload;const f={payload:m};return void 0!==e.protected&&(f.protectedHeader=o),void 0!==e.header&&(f.unprotectedHeader=e.header),d?{...f,key:t}:f}async function Xe(e,t,n){if(e instanceof Uint8Array&&(e=c.decode(e)),"string"!=typeof e)throw new x("Compact JWS must be a string or Uint8Array");const{0:r,1:o,2:s,length:i}=e.split(".");if(3!==i)throw new x("Invalid Compact JWS");const a=await Ye({payload:o,protected:r,signature:s},t,n),l={payload:a.payload,protectedHeader:a.protectedHeader};return"function"==typeof t?{...l,key:a.key}:l}async function Qe(e,t,n){if(!te(e))throw new x("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(te))throw new x("JWS Signatures missing or incorrect type");for(const r of e.signatures)try{return await Ye({header:r.header,payload:e.payload,protected:r.protected,signature:r.signature},t,n)}catch(e){}throw new j}const et=e=>Math.floor(e.getTime()/1e3),tt=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,nt=e=>{const t=tt.exec(e);if(!t)throw new TypeError("Invalid time period format");const n=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(n);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(60*n);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(3600*n);case"day":case"days":case"d":return Math.round(86400*n);case"week":case"weeks":case"w":return Math.round(604800*n);default:return Math.round(31557600*n)}},rt=e=>e.toLowerCase().replace(/^application\//,""),ot=(e,t,n={})=>{const{typ:r}=n;if(r&&("string"!=typeof e.typ||rt(e.typ)!==rt(r)))throw new E('unexpected "typ" JWT header value',"typ","check_failed");let o;try{o=JSON.parse(c.decode(t))}catch(e){}if(!te(o))throw new M("JWT Claims Set must be a top-level JSON object");const{requiredClaims:s=[],issuer:i,subject:a,audience:l,maxTokenAge:u}=n;void 0!==u&&s.push("iat"),void 0!==l&&s.push("aud"),void 0!==a&&s.push("sub"),void 0!==i&&s.push("iss");for(const e of new Set(s.reverse()))if(!(e in o))throw new E(`missing required "${e}" claim`,e,"missing");if(i&&!(Array.isArray(i)?i:[i]).includes(o.iss))throw new E('unexpected "iss" claim value',"iss","check_failed");if(a&&o.sub!==a)throw new E('unexpected "sub" claim value',"sub","check_failed");if(l&&(d="string"==typeof l?[l]:l,!("string"==typeof(p=o.aud)?d.includes(p):Array.isArray(p)&&d.some(Set.prototype.has.bind(new Set(p))))))throw new E('unexpected "aud" claim value',"aud","check_failed");var p,d;let h;switch(typeof n.clockTolerance){case"string":h=nt(n.clockTolerance);break;case"number":h=n.clockTolerance;break;case"undefined":h=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:g}=n,m=et(g||new Date);if((void 0!==o.iat||u)&&"number"!=typeof o.iat)throw new E('"iat" claim must be a number',"iat","invalid");if(void 0!==o.nbf){if("number"!=typeof o.nbf)throw new E('"nbf" claim must be a number',"nbf","invalid");if(o.nbf>m+h)throw new E('"nbf" claim timestamp check failed',"nbf","check_failed")}if(void 0!==o.exp){if("number"!=typeof o.exp)throw new E('"exp" claim must be a number',"exp","invalid");if(o.exp<=m-h)throw new S('"exp" claim timestamp check failed',"exp","check_failed")}if(u){const e=m-o.iat;if(e-h>("number"==typeof u?u:nt(u)))throw new S('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(e<0-h)throw new E('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return o};async function st(e,t,n){var r;const o=await Xe(e,t,n);if((null===(r=o.protectedHeader.crit)||void 0===r?void 0:r.includes("b64"))&&!1===o.protectedHeader.b64)throw new M("JWTs MUST NOT use unencoded payload");const s={payload:ot(o.protectedHeader,o.payload,n),protectedHeader:o.protectedHeader};return"function"==typeof t?{...s,key:o.key}:s}async function it(e,t,n){const r=await He(e,t,n),o=ot(r.protectedHeader,r.plaintext,n),{protectedHeader:s}=r;if(void 0!==s.iss&&s.iss!==o.iss)throw new E('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(void 0!==s.sub&&s.sub!==o.sub)throw new E('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(void 0!==s.aud&&JSON.stringify(s.aud)!==JSON.stringify(o.aud))throw new E('replicated "aud" claim header parameter mismatch',"aud","mismatch");const i={payload:o,protectedHeader:s};return"function"==typeof t?{...i,key:r.key}:i}class at{constructor(e){this._flattened=new Fe(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){const n=await this._flattened.encrypt(e,t);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}class lt{constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,t){if(!this._protectedHeader&&!this._unprotectedHeader)throw new x("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!ee(this._protectedHeader,this._unprotectedHeader))throw new x("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");const n={...this._protectedHeader,...this._unprotectedHeader};let r=!0;if(Te(x,new Map([["b64",!0]]),null==t?void 0:t.crit,this._protectedHeader,n).has("b64")&&(r=this._protectedHeader.b64,"boolean"!=typeof r))throw new x('The "b64" (base64url-encode payload) Header Parameter must be a boolean');const{alg:o}=n;if("string"!=typeof o||!o)throw new x('JWS "alg" (Algorithm) Header Parameter missing or invalid');_e(o,e,"sign");let i,a=this._payload;r&&(a=l.encode(v(a))),i=this._protectedHeader?l.encode(v(JSON.stringify(this._protectedHeader))):l.encode("");const u=p(i,l.encode("."),a),d=await(async(e,t,n)=>{const r=await Ze(e,t,"sign");pe(e,r);const o=await s.subtle.sign($e(e,r.algorithm),r,n);return new Uint8Array(o)})(o,e,u),h={signature:v(d),payload:""};return r&&(h.payload=c.decode(a)),this._unprotectedHeader&&(h.header=this._unprotectedHeader),this._protectedHeader&&(h.protected=c.decode(i)),h}}class ct{constructor(e){this._flattened=new lt(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){const n=await this._flattened.sign(e,t);if(void 0===n.payload)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}class ut{constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}}class pt{constructor(e){this._signatures=[],this._payload=e}addSignature(e,t){const n=new ut(this,e,t);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new x("at least one signature must be added");const e={signatures:[],payload:""};for(let t=0;t<this._signatures.length;t++){const n=this._signatures[t],r=new lt(this._payload);r.setProtectedHeader(n.protectedHeader),r.setUnprotectedHeader(n.unprotectedHeader);const{payload:o,...s}=await r.sign(n.key,n.options);if(0===t)e.payload=o;else if(e.payload!==o)throw new x("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(s)}return e}}class dt{constructor(e){if(!te(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return this._payload="number"==typeof e?{...this._payload,nbf:e}:{...this._payload,nbf:et(new Date)+nt(e)},this}setExpirationTime(e){return this._payload="number"==typeof e?{...this._payload,exp:e}:{...this._payload,exp:et(new Date)+nt(e)},this}setIssuedAt(e){return this._payload=void 0===e?{...this._payload,iat:et(new Date)}:{...this._payload,iat:e},this}}class ht extends dt{setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,t){var n;const r=new ct(l.encode(JSON.stringify(this._payload)));if(r.setProtectedHeader(this._protectedHeader),Array.isArray(null===(n=this._protectedHeader)||void 0===n?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&!1===this._protectedHeader.b64)throw new M("JWTs MUST NOT use unencoded payload");return r.sign(e,t)}}class gt extends dt{setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,t){const n=new at(l.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(e,t)}}const mt=(e,t)=>{if("string"!=typeof e||!e)throw new A(`${t} missing or invalid`)};async function ft(e,t){if(!te(e))throw new TypeError("JWK must be an object");if(null!=t||(t="sha256"),"sha256"!==t&&"sha384"!==t&&"sha512"!==t)throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let n;switch(e.kty){case"EC":mt(e.crv,'"crv" (Curve) Parameter'),mt(e.x,'"x" (X Coordinate) Parameter'),mt(e.y,'"y" (Y Coordinate) Parameter'),n={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":mt(e.crv,'"crv" (Subtype of Key Pair) Parameter'),mt(e.x,'"x" (Public Key) Parameter'),n={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":mt(e.e,'"e" (Exponent) Parameter'),mt(e.n,'"n" (Modulus) Parameter'),n={e:e.e,kty:e.kty,n:e.n};break;case"oct":mt(e.k,'"k" (Key Value) Parameter'),n={k:e.k,kty:e.kty};break;default:throw new L('"kty" (Key Type) Parameter missing or unsupported')}const r=l.encode(JSON.stringify(n));return v(await a(t,r))}async function vt(e,t){null!=t||(t="sha256");const n=await ft(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${n}`}async function yt(e,t){const n={...e,...null==t?void 0:t.header};if(!te(n.jwk))throw new x('"jwk" (JSON Web Key) Header Parameter must be a JSON object');const r=await Ae({...n.jwk,ext:!0},n.alg,!0);if(r instanceof Uint8Array||"public"!==r.type)throw new x('"jwk" (JSON Web Key) Header Parameter must be a public key');return r}function wt(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(bt)}function bt(e){return te(e)}class Et{constructor(e){if(this._cached=new WeakMap,!wt(e))throw new _("JSON Web Key Set malformed");var t;this._jwks=(t=e,"function"==typeof structuredClone?structuredClone(t):JSON.parse(JSON.stringify(t)))}async getKey(e,t){const{alg:n,kid:r}={...e,...null==t?void 0:t.header},o=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new L('Unsupported "alg" value for a JSON Web Key Set')}}(n),s=this._jwks.keys.filter(e=>{let t=o===e.kty;if(t&&"string"==typeof r&&(t=r===e.kid),t&&"string"==typeof e.alg&&(t=n===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t&&"EdDSA"===n&&(t="Ed25519"===e.crv||"Ed448"===e.crv),t)switch(n){case"ES256":t="P-256"===e.crv;break;case"ES256K":t="secp256k1"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv}return t}),{0:i,length:a}=s;if(0===a)throw new R;if(1!==a){const e=new D,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(const e of s)try{yield await St(t,e,n)}catch(e){continue}},e}return St(this._cached,i,n)}}async function St(e,t,n){const r=e.get(t)||e.set(t,{}).get(t);if(void 0===r[n]){const e=await Ae({...t,ext:!0},n);if(e instanceof Uint8Array||"public"!==e.type)throw new _("JSON Web Key Set members must be public keys");r[n]=e}return r[n]}function Ct(e){const t=new Et(e);return async function(e,n){return t.getKey(e,n)}}class Lt extends Et{constructor(e,t){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:null==t?void 0:t.agent,headers:null==t?void 0:t.headers},this._timeoutDuration="number"==typeof(null==t?void 0:t.timeoutDuration)?null==t?void 0:t.timeoutDuration:5e3,this._cooldownDuration="number"==typeof(null==t?void 0:t.cooldownDuration)?null==t?void 0:t.cooldownDuration:3e4,this._cacheMaxAge="number"==typeof(null==t?void 0:t.cacheMaxAge)?null==t?void 0:t.cacheMaxAge:6e5}coolingDown(){return"number"==typeof this._jwksTimestamp&&Date.now()<this._jwksTimestamp+this._cooldownDuration}fresh(){return"number"==typeof this._jwksTimestamp&&Date.now()<this._jwksTimestamp+this._cacheMaxAge}async getKey(e,t){this._jwks&&this.fresh()||await this.reload();try{return await super.getKey(e,t)}catch(n){if(n instanceof R&&!1===this.coolingDown())return await this.reload(),super.getKey(e,t);throw n}}async reload(){this._pendingFetch&&("undefined"!=typeof WebSocketPair||"undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"undefined"!=typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=(async(e,t,n)=>{let r,o,s=!1;"function"==typeof AbortController&&(r=new AbortController,o=setTimeout(()=>{s=!0,r.abort()},t));const i=await fetch(e.href,{signal:r?r.signal:void 0,redirect:"manual",headers:n.headers}).catch(e=>{if(s)throw new T;throw e});if(void 0!==o&&clearTimeout(o),200!==i.status)throw new b("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await i.json()}catch(e){throw new b("Failed to parse the JSON Web Key Set HTTP response as JSON")}})(this._url,this._timeoutDuration,this._options).then(e=>{if(!wt(e))throw new _("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}}function Pt(e,t){const n=new Lt(e,t);return async function(e,t){return n.getKey(e,t)}}class kt extends dt{encode(){return`${v(JSON.stringify({alg:"none"}))}.${v(JSON.stringify(this._payload))}.`}static decode(e,t){if("string"!=typeof e)throw new M("Unsecured JWT must be a string");const{0:n,1:r,2:o,length:s}=e.split(".");if(3!==s||""!==o)throw new M("Invalid Unsecured JWT");let i;try{if(i=JSON.parse(c.decode(w(n))),"none"!==i.alg)throw new Error}catch(e){throw new M("Invalid Unsecured JWT")}return{payload:ot(i,w(r),t),header:i}}}const Ot=v,xt=w;function Mt(e){let t;if("string"==typeof e){const n=e.split(".");3!==n.length&&5!==n.length||([t]=n)}else if("object"==typeof e&&e){if(!("protected"in e))throw new TypeError("Token does not contain a Protected Header");t=e.protected}try{if("string"!=typeof t||!t)throw new Error;const e=JSON.parse(c.decode(xt(t)));if(!te(e))throw new Error;return e}catch(e){throw new TypeError("Invalid Token or Protected Header formatting")}}function At(e){if("string"!=typeof e)throw new M("JWTs must use Compact JWS serialization, JWT must be a string");const{1:t,length:n}=e.split(".");if(5===n)throw new M("Only JWTs using Compact JWS serialization can be decoded");if(3!==n)throw new M("Invalid JWT");if(!t)throw new M("JWTs must contain a payload");let r,o;try{r=xt(t)}catch(e){throw new M("Failed to base64url decode the payload")}try{o=JSON.parse(c.decode(r))}catch(e){throw new M("Failed to parse the decoded payload as JSON")}if(!te(o))throw new M("Invalid JWT Claims Set");return o}function _t(e){var t;const n=null!==(t=null==e?void 0:e.modulusLength)&&void 0!==t?t:2048;if("number"!=typeof n||n<2048)throw new L("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return n}async function Rt(e,t){return async function(e,t){var n,r,o;let i,a;switch(e){case"PS256":case"PS384":case"PS512":i={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:_t(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":i={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:_t(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":i={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:_t(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":i={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":i={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":i={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];const o=null!==(n=null==t?void 0:t.crv)&&void 0!==n?n:"Ed25519";switch(o){case"Ed25519":case"Ed448":i={name:o};break;default:throw new L("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];const e=null!==(r=null==t?void 0:t.crv)&&void 0!==r?r:"P-256";switch(e){case"P-256":case"P-384":case"P-521":i={name:"ECDH",namedCurve:e};break;case"X25519":case"X448":i={name:e};break;default:throw new L("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new L('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return s.subtle.generateKey(i,null!==(o=null==t?void 0:t.extractable)&&void 0!==o&&o,a)}(e,t)}async function Dt(e,t){return async function(e,t){var n;let r,o,i;switch(e){case"HS256":case"HS384":case"HS512":r=parseInt(e.slice(-3),10),o={name:"HMAC",hash:`SHA-${r}`,length:r},i=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r=parseInt(e.slice(-3),10),I(new Uint8Array(r>>3));case"A128KW":case"A192KW":case"A256KW":r=parseInt(e.slice(1,4),10),o={name:"AES-KW",length:r},i=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":r=parseInt(e.slice(1,4),10),o={name:"AES-GCM",length:r},i=["encrypt","decrypt"];break;default:throw new L('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return s.subtle.generateKey(o,null!==(n=null==t?void 0:t.extractable)&&void 0!==n&&n,i)}(e,t)}const Tt="WebCryptoAPI"},5608:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>j,__assign:()=>s,__asyncDelegator:()=>P,__asyncGenerator:()=>L,__asyncValues:()=>k,__await:()=>C,__awaiter:()=>g,__classPrivateFieldGet:()=>R,__classPrivateFieldIn:()=>T,__classPrivateFieldSet:()=>D,__createBinding:()=>f,__decorate:()=>a,__disposeResources:()=>H,__esDecorate:()=>c,__exportStar:()=>v,__extends:()=>o,__generator:()=>m,__importDefault:()=>_,__importStar:()=>A,__makeTemplateObject:()=>O,__metadata:()=>h,__param:()=>l,__propKey:()=>p,__read:()=>w,__rest:()=>i,__rewriteRelativeImportExtension:()=>U,__runInitializers:()=>u,__setFunctionName:()=>d,__spread:()=>b,__spreadArray:()=>S,__spreadArrays:()=>E,__values:()=>y,default:()=>B});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var s=function(){return s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},s.apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function a(e,t,n,r){var o,s=arguments.length,i=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(i=(s<3?o(i):s>3?o(t,n,i):o(t,n))||i);return s>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,o,s){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),d=!1,h=n.length-1;h>=0;h--){var g={};for(var m in r)g[m]="access"===m?{}:r[m];for(var m in r.access)g.access[m]=r.access[m];g.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(e||null))};var f=(0,n[h])("accessor"===l?{get:p.get,set:p.set}:p[c],g);if("accessor"===l){if(void 0===f)continue;if(null===f||"object"!=typeof f)throw new TypeError("Object expected");(a=i(f.get))&&(p.get=a),(a=i(f.set))&&(p.set=a),(a=i(f.init))&&o.unshift(a)}else(a=i(f))&&("field"===l?o.unshift(a):p[c]=a)}u&&Object.defineProperty(u,r.name,p),d=!0}function u(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function p(e){return"symbol"==typeof e?e:"".concat(e)}function d(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function g(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}l((r=r.apply(e,t||[])).next())})}function m(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}var f=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function v(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||f(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,s=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(o)throw o.error}}return i}function b(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(w(arguments[t]));return e}function E(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var s=arguments[t],i=0,a=s.length;i<a;i++,o++)r[o]=s[i];return r}function S(e,t,n){if(n||2===arguments.length)for(var r,o=0,s=t.length;o<s;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function C(e){return this instanceof C?(this.v=e,this):new C(e)}function L(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),s=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),i("next"),i("throw"),i("return",function(e){return function(t){return Promise.resolve(t).then(e,c)}}),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise(function(n,r){s.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=o[e](t)).value instanceof C?Promise.resolve(n.value.v).then(l,c):u(s[0][2],n)}catch(e){u(s[0][3],e)}var n}function l(e){a("next",e)}function c(e){a("throw",e)}function u(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function P(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:C(e[r](t)),done:!1}:o?o(t):t}:o}}function k(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,o){!function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}(r,o,(t=e[n](t)).done,t.value)})}}}function O(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var x=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},M=function(e){return M=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},M(e)};function A(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=M(e),r=0;r<n.length;r++)"default"!==n[r]&&f(t,e,n[r]);return x(t,e),t}function _(e){return e&&e.__esModule?e:{default:e}}function R(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function D(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function T(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function j(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var I="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function H(e){function t(t){e.error=e.hasError?new I(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function o(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(s).then(o,function(e){return t(e),o()})}else r|=1}catch(e){t(e)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function U(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,o,s){return n?t?".jsx":".js":!r||o&&s?r+o+"."+s.toLowerCase()+"js":e}):e}const B={__extends:o,__assign:s,__rest:i,__decorate:a,__param:l,__esDecorate:c,__runInitializers:u,__propKey:p,__setFunctionName:d,__metadata:h,__awaiter:g,__generator:m,__createBinding:f,__exportStar:v,__values:y,__read:w,__spread:b,__spreadArrays:E,__spreadArray:S,__await:C,__asyncGenerator:L,__asyncDelegator:P,__asyncValues:k,__makeTemplateObject:O,__importStar:A,__importDefault:_,__classPrivateFieldGet:R,__classPrivateFieldSet:D,__classPrivateFieldIn:T,__addDisposableResource:j,__disposeResources:H,__rewriteRelativeImportExtension:U}},6634:function(e){e.exports=function(){"use strict";function e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}return function t(n,r){function o(t,o,s){if("undefined"!=typeof document){"number"==typeof(s=e({},r,s)).expires&&(s.expires=new Date(Date.now()+864e5*s.expires)),s.expires&&(s.expires=s.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var i="";for(var a in s)s[a]&&(i+="; "+a,!0!==s[a]&&(i+="="+s[a].split(";")[0]));return document.cookie=t+"="+n.write(o,t)+i}}return Object.create({set:o,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var t=document.cookie?document.cookie.split("; "):[],r={},o=0;o<t.length;o++){var s=t[o].split("="),i=s.slice(1).join("=");try{var a=decodeURIComponent(s[0]);if(r[a]=n.read(i,a),e===a)break}catch(e){}}return e?r[e]:r}},remove:function(t,n){o(t,"",e({},n,{expires:-1}))},withAttributes:function(n){return t(this.converter,e({},this.attributes,n))},withConverter:function(n){return t(e({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(r)},converter:{value:Object.freeze(n)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})}()},7764:(e,t,n)=>{"use strict";function r(e,t){return function(){return e.apply(t,arguments)}}const{toString:o}=Object.prototype,{getPrototypeOf:s}=Object,{iterator:i,toStringTag:a}=Symbol,l=(c=Object.create(null),e=>{const t=o.call(e);return c[t]||(c[t]=t.slice(8,-1).toLowerCase())});var c;const u=e=>(e=e.toLowerCase(),t=>l(t)===e),p=e=>t=>typeof t===e,{isArray:d}=Array,h=p("undefined");function g(e){return null!==e&&!h(e)&&null!==e.constructor&&!h(e.constructor)&&v(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const m=u("ArrayBuffer"),f=p("string"),v=p("function"),y=p("number"),w=e=>null!==e&&"object"==typeof e,b=e=>{if("object"!==l(e))return!1;const t=s(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||a in e||i in e)},E=u("Date"),S=u("File"),C=u("Blob"),L=u("FileList"),P=u("URLSearchParams"),[k,O,x,M]=["ReadableStream","Request","Response","Headers"].map(u);function A(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),d(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{if(g(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let i;for(r=0;r<s;r++)i=o[r],t.call(null,e[i],i,e)}}function _(e,t){if(g(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const R="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:n.g,D=e=>!h(e)&&e!==R,T=(j="undefined"!=typeof Uint8Array&&s(Uint8Array),e=>j&&e instanceof j);var j;const I=u("HTMLFormElement"),H=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),U=u("RegExp"),B=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};A(n,(n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)}),Object.defineProperties(e,r)},W=u("AsyncFunction"),K=(N="function"==typeof setImmediate,z=v(R.postMessage),N?setImmediate:z?(J=`axios@${Math.random()}`,F=[],R.addEventListener("message",({source:e,data:t})=>{e===R&&t===J&&F.length&&F.shift()()},!1),e=>{F.push(e),R.postMessage(J,"*")}):e=>setTimeout(e));var N,z,J,F;const G="undefined"!=typeof queueMicrotask?queueMicrotask.bind(R):"undefined"!=typeof process&&process.nextTick||K;var V={isArray:d,isArrayBuffer:m,isBuffer:g,isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||v(e.append)&&("formdata"===(t=l(e))||"object"===t&&v(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&m(e.buffer),t},isString:f,isNumber:y,isBoolean:e=>!0===e||!1===e,isObject:w,isPlainObject:b,isEmptyObject:e=>{if(!w(e)||g(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(e){return!1}},isReadableStream:k,isRequest:O,isResponse:x,isHeaders:M,isUndefined:h,isDate:E,isFile:S,isBlob:C,isRegExp:U,isFunction:v,isStream:e=>w(e)&&v(e.pipe),isURLSearchParams:P,isTypedArray:T,isFileList:L,forEach:A,merge:function e(){const{caseless:t,skipUndefined:n}=D(this)&&this||{},r={},o=(o,s)=>{const i=t&&_(r,s)||s;b(r[i])&&b(o)?r[i]=e(r[i],o):b(o)?r[i]=e({},o):d(o)?r[i]=o.slice():n&&h(o)||(r[i]=o)};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&A(arguments[e],o);return r},extend:(e,t,n,{allOwnKeys:o}={})=>(A(t,(t,o)=>{n&&v(t)?e[o]=r(t,n):e[o]=t},{allOwnKeys:o}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,i,a;const l={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||l[a]||(t[a]=e[a],l[a]=!0);e=!1!==n&&s(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:l,kindOfTest:u,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(d(e))return e;let t=e.length;if(!y(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[i]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:I,hasOwnProperty:H,hasOwnProp:H,reduceDescriptors:B,freezeMethods:e=>{B(e,(t,n)=>{if(v(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];v(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach(e=>{n[e]=!0})};return d(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:_,global:R,isContextDefined:D,isSpecCompliantForm:function(e){return!!(e&&v(e.append)&&"FormData"===e[a]&&e[i])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(w(e)){if(t.indexOf(e)>=0)return;if(g(e))return e;if(!("toJSON"in e)){t[r]=e;const o=d(e)?[]:{};return A(e,(e,t)=>{const s=n(e,r+1);!h(s)&&(o[t]=s)}),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:W,isThenable:e=>e&&(w(e)||v(e))&&v(e.then)&&v(e.catch),setImmediate:K,asap:G,isIterable:e=>null!=e&&v(e[i])};function $(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}V.inherits($,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:V.toJSONObject(this.config),code:this.code,status:this.status}}});const Z=$.prototype,q={};function Y(e){return V.isPlainObject(e)||V.isArray(e)}function X(e){return V.endsWith(e,"[]")?e.slice(0,-2):e}function Q(e,t,n){return e?e.concat(t).map(function(e,t){return e=X(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{q[e]={value:e}}),Object.defineProperties($,q),Object.defineProperty(Z,"isAxiosError",{value:!0}),$.from=(e,t,n,r,o,s)=>{const i=Object.create(Z);V.toFlatObject(e,i,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e);const a=e&&e.message?e.message:"Error",l=null==t&&e?e.code:t;return $.call(i,a,l,n,r,o),e&&null==i.cause&&Object.defineProperty(i,"cause",{value:e,configurable:!0}),i.name=e&&e.name||"Error",s&&Object.assign(i,s),i};const ee=V.toFlatObject(V,{},null,function(e){return/^is[A-Z]/.test(e)});function te(e,t,n){if(!V.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=V.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!V.isUndefined(t[e])})).metaTokens,o=n.visitor||c,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&V.isSpecCompliantForm(t);if(!V.isFunction(o))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(V.isDate(e))return e.toISOString();if(V.isBoolean(e))return e.toString();if(!a&&V.isBlob(e))throw new $("Blob is not supported. Use a Buffer instead.");return V.isArrayBuffer(e)||V.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,o){let a=e;if(e&&!o&&"object"==typeof e)if(V.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(V.isArray(e)&&function(e){return V.isArray(e)&&!e.some(Y)}(e)||(V.isFileList(e)||V.endsWith(n,"[]"))&&(a=V.toArray(e)))return n=X(n),a.forEach(function(e,r){!V.isUndefined(e)&&null!==e&&t.append(!0===i?Q([n],r,s):null===i?n:n+"[]",l(e))}),!1;return!!Y(e)||(t.append(Q(o,n,s),l(e)),!1)}const u=[],p=Object.assign(ee,{defaultVisitor:c,convertValue:l,isVisitable:Y});if(!V.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!V.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),V.forEach(n,function(n,s){!0===(!(V.isUndefined(n)||null===n)&&o.call(t,n,V.isString(s)?s.trim():s,r,p))&&e(n,r?r.concat(s):[s])}),u.pop()}}(e),t}function ne(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function re(e,t){this._pairs=[],e&&te(e,this,t)}const oe=re.prototype;function se(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function ie(e,t,n){if(!t)return e;const r=n&&n.encode||se;V.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(s=o?o(t,n):V.isURLSearchParams(t)?t.toString():new re(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}oe.append=function(e,t){this._pairs.push([e,t])},oe.toString=function(e){const t=e?function(t){return e.call(this,t,ne)}:ne;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};var ae=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){V.forEach(this.handlers,function(t){null!==t&&e(t)})}},le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ce={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:re,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]};const ue="undefined"!=typeof window&&"undefined"!=typeof document,pe="object"==typeof navigator&&navigator||void 0,de=ue&&(!pe||["ReactNative","NativeScript","NS"].indexOf(pe.product)<0),he="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,ge=ue&&window.location.href||"http://localhost";var me={...Object.freeze({__proto__:null,hasBrowserEnv:ue,hasStandardBrowserWebWorkerEnv:he,hasStandardBrowserEnv:de,navigator:pe,origin:ge}),...ce};function fe(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;return s=!s&&V.isArray(r)?r.length:s,a?(V.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i):(r[s]&&V.isObject(r[s])||(r[s]=[]),t(e,n,r[s],o)&&V.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!i)}if(V.isFormData(e)&&V.isFunction(e.entries)){const n={};return V.forEachEntry(e,(e,r)=>{t(function(e){return V.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),r,n,0)}),n}return null}const ve={transitional:le,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=V.isObject(e);if(o&&V.isHTMLForm(e)&&(e=new FormData(e)),V.isFormData(e))return r?JSON.stringify(fe(e)):e;if(V.isArrayBuffer(e)||V.isBuffer(e)||V.isStream(e)||V.isFile(e)||V.isBlob(e)||V.isReadableStream(e))return e;if(V.isArrayBufferView(e))return e.buffer;if(V.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return te(e,new me.classes.URLSearchParams,{visitor:function(e,t,n,r){return me.isNode&&V.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}(e,this.formSerializer).toString();if((s=V.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return te(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e){if(V.isString(e))try{return(0,JSON.parse)(e),V.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ve.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(V.isResponse(e)||V.isReadableStream(e))return e;if(e&&V.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n){if("SyntaxError"===e.name)throw $.from(e,$.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:me.classes.FormData,Blob:me.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};V.forEach(["delete","get","head","post","put","patch"],e=>{ve.headers[e]={}});var ye=ve;const we=V.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),be=Symbol("internals");function Ee(e){return e&&String(e).trim().toLowerCase()}function Se(e){return!1===e||null==e?e:V.isArray(e)?e.map(Se):String(e)}function Ce(e,t,n,r,o){return V.isFunction(r)?r.call(this,t,n):(o&&(t=n),V.isString(t)?V.isString(r)?-1!==t.indexOf(r):V.isRegExp(r)?r.test(t):void 0:void 0)}class Le{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Ee(t);if(!o)throw new Error("header name must be a non-empty string");const s=V.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=Se(e))}const s=(e,t)=>V.forEach(e,(e,n)=>o(e,n,t));if(V.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(V.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach(function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&we[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t})(e),t);else if(V.isObject(e)&&V.isIterable(e)){let n,r,o={};for(const t of e){if(!V.isArray(t))throw TypeError("Object iterator must return a key-value pair");o[r=t[0]]=(n=o[r])?V.isArray(n)?[...n,t[1]]:[n,t[1]]:t[1]}s(o,t)}else null!=e&&o(t,e,n);return this}get(e,t){if(e=Ee(e)){const n=V.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(V.isFunction(t))return t.call(this,e,n);if(V.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ee(e)){const n=V.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ce(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Ee(e)){const o=V.findKey(n,e);!o||t&&!Ce(0,n[o],o,t)||(delete n[o],r=!0)}}return V.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!Ce(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return V.forEach(this,(r,o)=>{const s=V.findKey(n,o);if(s)return t[s]=Se(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}(o):String(o).trim();i!==o&&delete t[o],t[i]=Se(r),n[i]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return V.forEach(this,(n,r)=>{null!=n&&!1!==n&&(t[r]=e&&V.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){const t=(this[be]=this[be]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=Ee(e);t[r]||(function(e,t){const n=V.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})})}(n,e),t[r]=!0)}return V.isArray(e)?e.forEach(r):r(e),this}}Le.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),V.reduceDescriptors(Le.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),V.freezeMethods(Le);var Pe=Le;function ke(e,t){const n=this||ye,r=t||n,o=Pe.from(r.headers);let s=r.data;return V.forEach(e,function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Oe(e){return!(!e||!e.__CANCEL__)}function xe(e,t,n){$.call(this,null==e?"canceled":e,$.ERR_CANCELED,t,n),this.name="CanceledError"}function Me(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new $("Request failed with status code "+n.status,[$.ERR_BAD_REQUEST,$.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}V.inherits(xe,$,{__CANCEL__:!0});const Ae=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const l=Date.now(),c=r[i];o||(o=l),n[s]=a,r[s]=l;let u=i,p=0;for(;u!==s;)p+=n[u++],u%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),l-o<t)return;const d=c&&l-c;return d?Math.round(1e3*p/d):void 0}}(50,250);return function(n,s){let i,a,l=0,c=1e3/s;const u=(n,s=Date.now())=>{l=s,i=null,a&&(clearTimeout(a),a=null),(n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,l=o(a);r=s,e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:l||void 0,estimated:l&&i&&s<=i?(i-s)/l:void 0,event:n,lengthComputable:null!=i,[t?"download":"upload"]:!0})})(...n)};return[(...e)=>{const t=Date.now(),n=t-l;n>=c?u(e,t):(i=e,a||(a=setTimeout(()=>{a=null,u(i)},c-n)))},()=>i&&u(i)]}(0,n)},_e=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Re=e=>(...t)=>V.asap(()=>e(...t));var De=me.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,me.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(me.origin),me.navigator&&/(msie|trident)/i.test(me.navigator.userAgent)):()=>!0,Te=me.hasStandardBrowserEnv?{write(e,t,n,r,o,s,i){if("undefined"==typeof document)return;const a=[`${e}=${encodeURIComponent(t)}`];V.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),V.isString(r)&&a.push(`path=${r}`),V.isString(o)&&a.push(`domain=${o}`),!0===s&&a.push("secure"),V.isString(i)&&a.push(`SameSite=${i}`),document.cookie=a.join("; ")},read(e){if("undefined"==typeof document)return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read:()=>null,remove(){}};function je(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(r||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Ie=e=>e instanceof Pe?{...e}:e;function He(e,t){t=t||{};const n={};function r(e,t,n,r){return V.isPlainObject(e)&&V.isPlainObject(t)?V.merge.call({caseless:r},e,t):V.isPlainObject(t)?V.merge({},t):V.isArray(t)?t.slice():t}function o(e,t,n,o){return V.isUndefined(t)?V.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!V.isUndefined(t))return r(void 0,t)}function i(e,t){return V.isUndefined(t)?V.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const l={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,n)=>o(Ie(e),Ie(t),0,!0)};return V.forEach(Object.keys({...e,...t}),function(r){const s=l[r]||o,i=s(e[r],t[r],r);V.isUndefined(i)&&s!==a||(n[r]=i)}),n}var Ue=e=>{const t=He({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:s,headers:i,auth:a}=t;if(t.headers=i=Pe.from(i),t.url=ie(je(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),V.isFormData(n))if(me.hasStandardBrowserEnv||me.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(V.isFunction(n.getHeaders)){const e=n.getHeaders(),t=["content-type","content-length"];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&i.set(e,n)})}if(me.hasStandardBrowserEnv&&(r&&V.isFunction(r)&&(r=r(t)),r||!1!==r&&De(t.url))){const e=o&&s&&Te.read(s);e&&i.set(o,e)}return t},Be="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(t,n){const r=Ue(e);let o=r.data;const s=Pe.from(r.headers).normalize();let i,a,l,c,u,{responseType:p,onUploadProgress:d,onDownloadProgress:h}=r;function g(){c&&c(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function f(){if(!m)return;const r=Pe.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());Me(function(e){t(e),g()},function(e){n(e),g()},{data:p&&"text"!==p&&"json"!==p?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=f:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(f)},m.onabort=function(){m&&(n(new $("Request aborted",$.ECONNABORTED,e,m)),m=null)},m.onerror=function(t){const r=new $(t&&t.message?t.message:"Network Error",$.ERR_NETWORK,e,m);r.event=t||null,n(r),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||le;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new $(t,o.clarifyTimeoutError?$.ETIMEDOUT:$.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&V.forEach(s.toJSON(),function(e,t){m.setRequestHeader(t,e)}),V.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),p&&"json"!==p&&(m.responseType=r.responseType),h&&([l,u]=Ae(h,!0),m.addEventListener("progress",l)),d&&m.upload&&([a,c]=Ae(d),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",c)),(r.cancelToken||r.signal)&&(i=t=>{m&&(n(!t||t.type?new xe(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const v=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);v&&-1===me.protocols.indexOf(v)?n(new $("Unsupported protocol "+v+":",$.ERR_BAD_REQUEST,e)):m.send(o||null)})},We=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof $?t:new xe(t instanceof Error?t.message:t))}};let s=t&&setTimeout(()=>{s=null,o(new $(`timeout ${t} of ms exceeded`,$.ETIMEDOUT))},t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)}),e=null)};e.forEach(e=>e.addEventListener("abort",o));const{signal:a}=r;return a.unsubscribe=()=>V.asap(i),a}};const Ke=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},Ne=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}}(e))yield*Ke(n,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return a(),void e.close();let s=r.byteLength;if(n){let e=i+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},{isFunction:ze}=V,Je=(({Request:e,Response:t})=>({Request:e,Response:t}))(V.global),{ReadableStream:Fe,TextEncoder:Ge}=V.global,Ve=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},$e=e=>{e=V.merge.call({skipUndefined:!0},Je,e);const{fetch:t,Request:n,Response:r}=e,o=t?ze(t):"function"==typeof fetch,s=ze(n),i=ze(r);if(!o)return!1;const a=o&&ze(Fe),l=o&&("function"==typeof Ge?(c=new Ge,e=>c.encode(e)):async e=>new Uint8Array(await new n(e).arrayBuffer()));var c;const u=s&&a&&Ve(()=>{let e=!1;const t=new n(me.origin,{body:new Fe,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),p=i&&a&&Ve(()=>V.isReadableStream(new r("").body)),d={stream:p&&(e=>e.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new $(`Response type '${e}' is not supported`,$.ERR_NOT_SUPPORT,n)})});return async e=>{let{url:o,method:i,data:a,signal:c,cancelToken:h,timeout:g,onDownloadProgress:m,onUploadProgress:f,responseType:v,headers:y,withCredentials:w="same-origin",fetchOptions:b}=Ue(e),E=t||fetch;v=v?(v+"").toLowerCase():"text";let S=We([c,h&&h.toAbortSignal()],g),C=null;const L=S&&S.unsubscribe&&(()=>{S.unsubscribe()});let P;try{if(f&&u&&"get"!==i&&"head"!==i&&0!==(P=await(async(e,t)=>{const r=V.toFiniteNumber(e.getContentLength());return null==r?(async e=>{if(null==e)return 0;if(V.isBlob(e))return e.size;if(V.isSpecCompliantForm(e)){const t=new n(me.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return V.isArrayBufferView(e)||V.isArrayBuffer(e)?e.byteLength:(V.isURLSearchParams(e)&&(e+=""),V.isString(e)?(await l(e)).byteLength:void 0)})(t):r})(y,a))){let e,t=new n(o,{method:"POST",body:a,duplex:"half"});if(V.isFormData(a)&&(e=t.headers.get("content-type"))&&y.setContentType(e),t.body){const[e,n]=_e(P,Ae(Re(f)));a=Ne(t.body,65536,e,n)}}V.isString(w)||(w=w?"include":"omit");const t=s&&"credentials"in n.prototype,c={...b,signal:S,method:i.toUpperCase(),headers:y.normalize().toJSON(),body:a,duplex:"half",credentials:t?w:void 0};C=s&&new n(o,c);let h=await(s?E(C,b):E(o,c));const g=p&&("stream"===v||"response"===v);if(p&&(m||g&&L)){const e={};["status","statusText","headers"].forEach(t=>{e[t]=h[t]});const t=V.toFiniteNumber(h.headers.get("content-length")),[n,o]=m&&_e(t,Ae(Re(m),!0))||[];h=new r(Ne(h.body,65536,n,()=>{o&&o(),L&&L()}),e)}v=v||"text";let k=await d[V.findKey(d,v)||"text"](h,e);return!g&&L&&L(),await new Promise((t,n)=>{Me(t,n,{data:k,headers:Pe.from(h.headers),status:h.status,statusText:h.statusText,config:e,request:C})})}catch(t){if(L&&L(),t&&"TypeError"===t.name&&/Load failed|fetch/i.test(t.message))throw Object.assign(new $("Network Error",$.ERR_NETWORK,e,C),{cause:t.cause||t});throw $.from(t,t&&t.code,e,C)}}},Ze=new Map,qe=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:o}=t,s=[r,o,n];let i,a,l=s.length,c=Ze;for(;l--;)i=s[l],a=c.get(i),void 0===a&&c.set(i,a=l?new Map:$e(t)),c=a;return a};qe();const Ye={http:null,xhr:Be,fetch:{get:qe}};V.forEach(Ye,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}});const Xe=e=>`- ${e}`,Qe=e=>V.isFunction(e)||null===e||!1===e;var et=function(e,t){e=V.isArray(e)?e:[e];const{length:n}=e;let r,o;const s={};for(let i=0;i<n;i++){let n;if(r=e[i],o=r,!Qe(r)&&(o=Ye[(n=String(r)).toLowerCase()],void 0===o))throw new $(`Unknown adapter '${n}'`);if(o&&(V.isFunction(o)||(o=o.get(t))))break;s[n||"#"+i]=o}if(!o){const e=Object.entries(s).map(([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build"));throw new $("There is no suitable adapter to dispatch the request "+(n?e.length>1?"since :\n"+e.map(Xe).join("\n"):" "+Xe(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return o};function tt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new xe(null,e)}function nt(e){return tt(e),e.headers=Pe.from(e.headers),e.data=ke.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),et(e.adapter||ye.adapter,e)(e).then(function(t){return tt(e),t.data=ke.call(e,e.transformResponse,t),t.headers=Pe.from(t.headers),t},function(t){return Oe(t)||(tt(e),t&&t.response&&(t.response.data=ke.call(e,e.transformResponse,t.response),t.response.headers=Pe.from(t.response.headers))),Promise.reject(t)})}const rt="1.13.2",ot={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ot[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const st={};ot.transitional=function(e,t,n){function r(e,t){return"[Axios v"+rt+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new $(r(o," has been removed"+(t?" in "+t:"")),$.ERR_DEPRECATED);return t&&!st[o]&&(st[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},ot.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};var it={assertOptions:function(e,t,n){if("object"!=typeof e)throw new $("options must be an object",$.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new $("option "+s+" must be "+n,$.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new $("Unknown option "+s,$.ERR_BAD_OPTION)}},validators:ot};const at=it.validators;class lt{constructor(e){this.defaults=e||{},this.interceptors={request:new ae,response:new ae}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=He(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&it.assertOptions(n,{silentJSONParsing:at.transitional(at.boolean),forcedJSONParsing:at.transitional(at.boolean),clarifyTimeoutError:at.transitional(at.boolean)},!1),null!=r&&(V.isFunction(r)?t.paramsSerializer={serialize:r}:it.assertOptions(r,{encode:at.function,serialize:at.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),it.assertOptions(t,{baseUrl:at.spelling("baseURL"),withXsrfToken:at.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&V.merge(o.common,o[t.method]);o&&V.forEach(["delete","get","head","post","put","patch","common"],e=>{delete o[e]}),t.headers=Pe.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach(function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))});const l=[];let c;this.interceptors.response.forEach(function(e){l.push(e.fulfilled,e.rejected)});let u,p=0;if(!a){const e=[nt.bind(this),void 0];for(e.unshift(...i),e.push(...l),u=e.length,c=Promise.resolve(t);p<u;)c=c.then(e[p++],e[p++]);return c}u=i.length;let d=t;for(;p<u;){const e=i[p++],t=i[p++];try{d=e(d)}catch(e){t.call(this,e);break}}try{c=nt.call(this,d)}catch(e){return Promise.reject(e)}for(p=0,u=l.length;p<u;)c=c.then(l[p++],l[p++]);return c}getUri(e){return ie(je((e=He(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}V.forEach(["delete","get","head","options"],function(e){lt.prototype[e]=function(t,n){return this.request(He(n||{},{method:e,url:t,data:(n||{}).data}))}}),V.forEach(["post","put","patch"],function(e){function t(t){return function(n,r,o){return this.request(He(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}lt.prototype[e]=t(),lt.prototype[e+"Form"]=t(!0)});var ct=lt;class ut{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(e){t=e});const n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t;const r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,o){n.reason||(n.reason=new xe(e,r,o),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new ut(function(t){e=t}),cancel:e}}}var pt=ut;const dt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(dt).forEach(([e,t])=>{dt[t]=e});var ht=dt;const gt=function e(t){const n=new ct(t),o=r(ct.prototype.request,n);return V.extend(o,ct.prototype,n,{allOwnKeys:!0}),V.extend(o,n,null,{allOwnKeys:!0}),o.create=function(n){return e(He(t,n))},o}(ye);gt.Axios=ct,gt.CanceledError=xe,gt.CancelToken=pt,gt.isCancel=Oe,gt.VERSION=rt,gt.toFormData=te,gt.AxiosError=$,gt.Cancel=gt.CanceledError,gt.all=function(e){return Promise.all(e)},gt.spread=function(e){return function(t){return e.apply(null,t)}},gt.isAxiosError=function(e){return V.isObject(e)&&!0===e.isAxiosError},gt.mergeConfig=He,gt.AxiosHeaders=Pe,gt.formToJSON=e=>fe(V.isHTMLForm(e)?new FormData(e):e),gt.getAdapter=et,gt.HttpStatusCode=ht,gt.default=gt,e.exports=gt},7792:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l,useDeepCompareEffectNoCheck:()=>c,useDeepCompareMemoize:()=>a});var r=n(9155),o=Object.prototype.hasOwnProperty;function s(e,t,n){for(n of e.keys())if(i(n,t))return n}function i(e,t){var n,r,a;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&i(e[r],t[r]););return-1===r}if(n===Set){if(e.size!==t.size)return!1;for(r of e){if((a=r)&&"object"==typeof a&&!(a=s(t,a)))return!1;if(!t.has(a))return!1}return!0}if(n===Map){if(e.size!==t.size)return!1;for(r of e){if((a=r[0])&&"object"==typeof a&&!(a=s(t,a)))return!1;if(!i(r[1],t.get(a)))return!1}return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((r=e.byteLength)===t.byteLength)for(;r--&&e.getInt8(r)===t.getInt8(r););return-1===r}if(ArrayBuffer.isView(e)){if((r=e.byteLength)===t.byteLength)for(;r--&&e[r]===t[r];);return-1===r}if(!n||"object"==typeof e){for(n in r=0,e){if(o.call(e,n)&&++r&&!o.call(t,n))return!1;if(!(n in t)||!i(e[n],t[n]))return!1}return Object.keys(t).length===r}}return e!=e&&t!=t}function a(e){var t=r.useRef(e),n=r.useRef(0);return i(e,t.current)||(t.current=e,n.current+=1),r.useMemo(function(){return t.current},[n.current])}function l(e,t){return r.useEffect(e,a(t))}function c(e,t){return r.useEffect(e,a(t))}},8628:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Autocomplete:()=>er,BicyclingLayer:()=>X,BicyclingLayerF:()=>Y,Circle:()=>en,CircleF:()=>Qt,Data:()=>an,DataF:()=>sn,DirectionsRenderer:()=>Vn,DirectionsService:()=>Jn,DistanceMatrixService:()=>$n,DrawingManager:()=>ie,DrawingManagerF:()=>se,FLOAT_PANE:()=>En,GoogleMap:()=>w,GoogleMapsMarkerClusterer:()=>Et,GoogleMarkerClusterer:()=>Lt,GroundOverlay:()=>Dn,GroundOverlayF:()=>Rn,HeatmapLayer:()=>Bn,HeatmapLayerF:()=>Un,InfoBox:()=>He,InfoBoxF:()=>Ie,InfoWindow:()=>xt,InfoWindowF:()=>Ot,KmlLayer:()=>dn,LoadScript:()=>_,LoadScriptNext:()=>I,MAP_PANE:()=>Sn,MARKER_LAYER:()=>Cn,MapContext:()=>d,Marker:()=>he,MarkerClusterer:()=>Le,MarkerClustererF:()=>Ce,MarkerF:()=>de,OVERLAY_LAYER:()=>Ln,OVERLAY_MOUSE_TARGET:()=>Pn,OverlayView:()=>On,OverlayViewF:()=>kn,Polygon:()=>Kt,PolygonF:()=>Wt,Polyline:()=>jt,PolylineF:()=>Tt,Rectangle:()=>Vt,RectangleF:()=>Gt,StandaloneSearchBox:()=>Yn,StreetViewPanorama:()=>Nn,StreetViewService:()=>zn,TrafficLayer:()=>q,TrafficLayerF:()=>Z,TransitLayer:()=>ee,TransitLayerF:()=>Q,useGoogleMap:()=>h,useJsApiLoader:()=>J,useLoadScript:()=>D});var r,o,s=n(5272),i=n(9155),a=n(9514);function l(e){return l="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},l(e)}function c(e,t,n){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var p=u(o?r:(o=1,r=function(e,t,n,r,o,s,i,a){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,s,i,a],u=0;(l=new Error(t.replace(/%s/g,function(){return c[u++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}})),d=(0,i.createContext)(null);function h(){p(!!i.useContext,"useGoogleMap is React hook and requires React version 16.8+");var e=(0,i.useContext)(d);return p(!!e,"useGoogleMap needs a GoogleMap available up in the tree"),e}function g(e){google.maps.event.removeListener(e)}function m(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).forEach(g)}function f(e){var{updaterMap:t,eventMap:n,prevProps:r,nextProps:o,instance:s}=e,i=function(e,t,n){var r,o,s,i=(r=n,o=function(n,r,o){return"function"==typeof e[o]&&n.push(google.maps.event.addListener(t,r,e[o])),n},s=[],Object.keys(r).reduce(function(e,t){return o(e,r[t],t)},s));return i}(o,s,n);return function(e,t,n,r){var o,s,i={};o=e,s=(e,o)=>{var s=n[o];s!==t[o]&&(i[o]=s,e(r,s))},Object.keys(o).forEach(e=>s(o[e],e))}(t,r,o,s),i}var v={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"},y={extraMapTypes(e,t){t.forEach(function(t,n){e.mapTypes.set(String(n),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,i.memo)(function(e){var{children:t,options:n,id:r,mapContainerStyle:o,mapContainerClassName:a,center:l,onClick:c,onDblClick:u,onDrag:p,onDragEnd:h,onDragStart:g,onMouseMove:m,onMouseOut:f,onMouseOver:v,onMouseDown:y,onMouseUp:w,onRightClick:b,onCenterChanged:E,onLoad:S,onUnmount:C}=e,[L,P]=(0,i.useState)(null),k=(0,i.useRef)(null),[O,x]=(0,i.useState)(null),[M,A]=(0,i.useState)(null),[_,R]=(0,i.useState)(null),[D,T]=(0,i.useState)(null),[j,I]=(0,i.useState)(null),[H,U]=(0,i.useState)(null),[B,W]=(0,i.useState)(null),[K,N]=(0,i.useState)(null),[z,J]=(0,i.useState)(null),[F,G]=(0,i.useState)(null),[V,$]=(0,i.useState)(null),[Z,q]=(0,i.useState)(null);return(0,i.useEffect)(()=>{n&&null!==L&&L.setOptions(n)},[L,n]),(0,i.useEffect)(()=>{null!==L&&void 0!==l&&L.setCenter(l)},[L,l]),(0,i.useEffect)(()=>{L&&u&&(null!==M&&google.maps.event.removeListener(M),A(google.maps.event.addListener(L,"dblclick",u)))},[u]),(0,i.useEffect)(()=>{L&&h&&(null!==_&&google.maps.event.removeListener(_),R(google.maps.event.addListener(L,"dragend",h)))},[h]),(0,i.useEffect)(()=>{L&&g&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(L,"dragstart",g)))},[g]),(0,i.useEffect)(()=>{L&&y&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(L,"mousedown",y)))},[y]),(0,i.useEffect)(()=>{L&&m&&(null!==H&&google.maps.event.removeListener(H),U(google.maps.event.addListener(L,"mousemove",m)))},[m]),(0,i.useEffect)(()=>{L&&f&&(null!==B&&google.maps.event.removeListener(B),W(google.maps.event.addListener(L,"mouseout",f)))},[f]),(0,i.useEffect)(()=>{L&&v&&(null!==K&&google.maps.event.removeListener(K),N(google.maps.event.addListener(L,"mouseover",v)))},[v]),(0,i.useEffect)(()=>{L&&w&&(null!==z&&google.maps.event.removeListener(z),J(google.maps.event.addListener(L,"mouseup",w)))},[w]),(0,i.useEffect)(()=>{L&&b&&(null!==F&&google.maps.event.removeListener(F),G(google.maps.event.addListener(L,"rightclick",b)))},[b]),(0,i.useEffect)(()=>{L&&c&&(null!==V&&google.maps.event.removeListener(V),$(google.maps.event.addListener(L,"click",c)))},[c]),(0,i.useEffect)(()=>{L&&p&&(null!==Z&&google.maps.event.removeListener(Z),q(google.maps.event.addListener(L,"drag",p)))},[p]),(0,i.useEffect)(()=>{L&&E&&(null!==O&&google.maps.event.removeListener(O),x(google.maps.event.addListener(L,"center_changed",E)))},[c]),(0,i.useEffect)(()=>{var e=null===k.current?null:new google.maps.Map(k.current,n);return P(e),null!==e&&S&&S(e),()=>{null!==e&&C&&C(e)}},[]),(0,s.jsx)("div",{id:r,ref:k,style:o,className:a,children:(0,s.jsx)(d.Provider,{value:L,children:null!==L?t:null})})});class w extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{map:null}),c(this,"registeredEvents",[]),c(this,"mapRef",null),c(this,"getInstance",()=>null===this.mapRef?null:new google.maps.Map(this.mapRef,this.props.options)),c(this,"panTo",e=>{var t=this.getInstance();t&&t.panTo(e)}),c(this,"setMapCallback",()=>{null!==this.state.map&&this.props.onLoad&&this.props.onLoad(this.state.map)}),c(this,"getRef",e=>{this.mapRef=e})}componentDidMount(){var e=this.getInstance();this.registeredEvents=f({updaterMap:y,eventMap:v,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{map:e}},this.setMapCallback)}componentDidUpdate(e){null!==this.state.map&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:y,eventMap:v,prevProps:e,nextProps:this.props,instance:this.state.map}))}componentWillUnmount(){null!==this.state.map&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),m(this.registeredEvents))}render(){return(0,s.jsx)("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName,children:(0,s.jsx)(d.Provider,{value:this.state.map,children:null!==this.state.map?this.props.children:null})})}}function b(e,t,n,r,o,s,i){try{var a=e[s](i),l=a.value}catch(e){return void n(e)}a.done?t(l):Promise.resolve(l).then(r,o)}function E(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var s=e.apply(t,n);function i(e){b(s,r,o,i,a,"next",e)}function a(e){b(s,r,o,i,a,"throw",e)}i(void 0)})}}function S(e){var{googleMapsApiKey:t,googleMapsClientId:n,version:r="weekly",language:o,region:s,libraries:i,channel:a,mapIds:l,authReferrerPolicy:c,apiUrl:u="https://maps.googleapis.com"}=e,d=[];return p(t&&n||!(t&&n),"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?d.push("key=".concat(t)):n&&d.push("client=".concat(n)),r&&d.push("v=".concat(r)),o&&d.push("language=".concat(o)),s&&d.push("region=".concat(s)),i&&i.length&&d.push("libraries=".concat(i.sort().join(","))),a&&d.push("channel=".concat(a)),l&&l.length&&d.push("map_ids=".concat(l.join(","))),c&&d.push("auth_referrer_policy=".concat(c)),d.push("loading=async"),d.push("callback=initMap"),"".concat(u,"/maps/api/js?").concat(d.join("&"))}var C="undefined"!=typeof document;function L(e){var{url:t,id:n,nonce:r}=e;return C?new Promise(function(e,o){var s=document.getElementById(n),i=window;if(s){var a=s.getAttribute("data-state");if(s.src===t&&"error"!==a){if("ready"===a)return e(n);var l=i.initMap,c=s.onerror;return i.initMap=function(){l&&l(),e(n)},void(s.onerror=function(e){c&&c(e),o(e)})}s.remove()}var u=document.createElement("script");u.type="text/javascript",u.src=t,u.id=n,u.async=!0,u.nonce=r||"",u.onerror=function(e){u.setAttribute("data-state","error"),o(e)},i.initMap=function(){u.setAttribute("data-state","ready"),e(n)},document.head.appendChild(u)}).catch(e=>{throw console.error("injectScript error: ",e),e}):Promise.reject(new Error("document is undefined"))}function P(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 k(){var e=document.getElementsByTagName("head")[0];if(e){var t=e.insertBefore.bind(e);e.insertBefore=function(n,r){return P(n)||Reflect.apply(t,e,[n,r]),n};var n=e.appendChild.bind(e);e.appendChild=function(t){return P(t)||Reflect.apply(n,e,[t]),t}}}var O=!1;function x(){return(0,s.jsx)("div",{children:"Loading..."})}var M,A={id:"script-loader",version:"weekly"};class _ extends i.PureComponent{constructor(){super(...arguments),c(this,"check",null),c(this,"state",{loaded:!1}),c(this,"cleanupCallback",()=>{delete window.google.maps,this.injectScript()}),c(this,"isCleaningUp",E(function*(){return new Promise(function(e){if(O){if(C)var t=window.setInterval(function(){O||(window.clearInterval(t),e())},1)}else e()})})),c(this,"cleanup",()=>{O=!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)})}),c(this,"injectScript",()=>{this.props.preventGoogleFontsLoading&&k(),p(!!this.props.id,'LoadScript requires "id" prop to be a string: %s',this.props.id),L({id:this.props.id,nonce:this.props.nonce,url:S(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 <LoadScript />\n Otherwise it is a Network issue.\n "))})}),c(this,"getRef",e=>{this.check=e})}componentDidMount(){if(C){if(window.google&&window.google.maps&&!O)return void console.error("google api is already presented");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,O=!1)},1),this.props.onUnmount&&this.props.onUnmount())}render(){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{ref:this.getRef}),this.state.loaded?this.props.children:this.props.loadingElement||(0,s.jsx)(x,{})]})}}function R(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function D(e){var{id:t=A.id,version:n=A.version,nonce:r,googleMapsApiKey:o,googleMapsClientId:s,language:a,region:l,libraries:c,preventGoogleFontsLoading:u,channel:d,mapIds:h,authReferrerPolicy:g,apiUrl:m="https://maps.googleapis.com"}=e,f=(0,i.useRef)(!1),[v,y]=(0,i.useState)(!1),[w,b]=(0,i.useState)(void 0);(0,i.useEffect)(function(){return f.current=!0,()=>{f.current=!1}},[]),(0,i.useEffect)(function(){C&&u&&k()},[u]),(0,i.useEffect)(function(){v&&p(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[v]);var E=S({version:n,googleMapsApiKey:o,googleMapsClientId:s,language:a,region:l,libraries:c,channel:d,mapIds:h,authReferrerPolicy:g,apiUrl:m});(0,i.useEffect)(function(){function e(){f.current&&(y(!0),M=E)}C&&(window.google&&window.google.maps&&M===E?e():L({id:t,url:E,nonce:r}).then(e).catch(function(e){f.current&&b(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(s||"-",")\n Otherwise it is a Network issue.\n ")),console.error(e)}))},[t,E,r]);var P=(0,i.useRef)(void 0);return(0,i.useEffect)(function(){P.current&&c!==P.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"),P.current=c},[c]),{isLoaded:v,loadError:w,url:E}}c(_,"defaultProps",A);var T=["loadingElement","onLoad","onError","onUnmount","children"],j=(0,s.jsx)(x,{}),I=(0,i.memo)(function(e){var{loadingElement:t,onLoad:n,onError:r,onUnmount:o,children:s}=e,a=R(e,T),{isLoaded:l,loadError:c}=D(a);return(0,i.useEffect)(function(){l&&"function"==typeof n&&n()},[l,n]),(0,i.useEffect)(function(){c&&"function"==typeof r&&r(c)},[c,r]),(0,i.useEffect)(function(){return()=>{o&&o()}},[o]),l?s:t||j});function H(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}"function"==typeof SuppressedError&&SuppressedError;var U,B=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!==o--;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!==o--;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;0!==o--;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!=t&&n!=n},W=H(B),K="__googleMapsScriptId";!function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"}(U||(U={}));class N{constructor(e){var{apiKey:t,authReferrerPolicy:n,channel:r,client:o,id:s=K,language:i,libraries:a=[],mapIds:l,nonce:c,region:u,retries:p=3,url:d="https://maps.googleapis.com/maps/api/js",version:h}=e;if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=t,this.authReferrerPolicy=n,this.channel=r,this.client=o,this.id=s||K,this.language=i,this.libraries=a,this.mapIds=l,this.nonce=c,this.region=u,this.retries=p,this.url=d,this.version=h,N.instance){if(!W(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?U.FAILURE:this.done?U.SUCCESS:this.loading?U.LOADING:U.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+="&region=".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(n=>{n?t(n.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,t;if(document.getElementById(this.id))this.callback();else{var n={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(n).forEach(e=>!n[e]&&delete n[e]),(null===(t=null===(e=null===window||void 0===window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{var t,n,r,o="The Google Maps JavaScript API",s="google",i="importLibrary",a="__ib__",l=document,c=window,u=(c=c[s]||(c[s]={})).maps||(c.maps={}),p=new Set,d=new URLSearchParams,h=()=>t||(t=new Promise((i,c)=>{return h=this,m=function*(){var h;for(r in yield n=l.createElement("script"),n.id=this.id,d.set("libraries",[...p]+""),e)d.set(r.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[r]);d.set("callback",s+".maps."+a),n.src=this.url+"?"+d,u[a]=i,n.onerror=()=>t=c(Error(o+" could not load.")),n.nonce=this.nonce||(null===(h=l.querySelector("script[nonce]"))||void 0===h?void 0:h.nonce)||"",l.head.append(n)},new((g=void 0)||(g=Promise))(function(e,t){function n(e){try{o(m.next(e))}catch(e){t(e)}}function r(e){try{o(m.throw(e))}catch(e){t(e)}}function o(t){var o;t.done?e(t.value):(o=t.value,o instanceof g?o:new g(function(e){e(o)})).then(n,r)}o((m=m.apply(h,[])).next())});var h,g,m}));u[i]?console.warn(o+" only loads once. Ignoring:",e):u[i]=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return p.add(e)&&h().then(()=>u[i](e,...n))}})(n);var r=this.libraries.map(e=>this.importLibrary(e));r.length||r.push(this.importLibrary("core")),Promise.all(r).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)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=!0,this.setScript()}}}var z=["maps"];function J(e){var{id:t=A.id,version:n=A.version,nonce:r,googleMapsApiKey:o,language:s,region:a,libraries:l=z,preventGoogleFontsLoading:c,mapIds:u,authReferrerPolicy:p}=e,d=(0,i.useRef)(!1),[h,g]=(0,i.useState)(!1),[m,f]=(0,i.useState)(void 0);(0,i.useEffect)(function(){return d.current=!0,()=>{d.current=!1}},[]);var v=(0,i.useMemo)(()=>new N({id:t,apiKey:o,version:n,libraries:l,language:s||"en",region:a||"US",mapIds:u||[],nonce:r||"",authReferrerPolicy:p||"origin"}),[t,o,n,l,s,a,u,r,p]);(0,i.useEffect)(function(){h||v.load().then(()=>{d.current&&g(!0)}).catch(e=>{f(e)})},[]),(0,i.useEffect)(()=>{C&&c&&k()},[c]);var y=(0,i.useRef)();return(0,i.useEffect)(()=>{y.current&&l!==y.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"),y.current=l},[l]),{isLoaded:h,loadError:m}}function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var V={},$={options(e,t){e.setOptions(t)}},Z=(0,i.memo)(function(e){var{options:t,onLoad:n,onUnmount:r}=e,o=(0,i.useContext)(d),[s,a]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==s&&s.setMap(o)},[o]),(0,i.useEffect)(()=>{t&&null!==s&&s.setOptions(t)},[s,t]),(0,i.useEffect)(()=>{var e=new google.maps.TrafficLayer(G(G({},t),{},{map:o}));return a(e),n&&n(e),()=>{null!==s&&(r&&r(s),s.setMap(null))}},[]),null});class q extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{trafficLayer:null}),c(this,"setTrafficLayerCallback",()=>{null!==this.state.trafficLayer&&this.props.onLoad&&this.props.onLoad(this.state.trafficLayer)}),c(this,"registeredEvents",[])}componentDidMount(){var e=new google.maps.TrafficLayer(G(G({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:$,eventMap:V,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{trafficLayer:e}},this.setTrafficLayerCallback)}componentDidUpdate(e){null!==this.state.trafficLayer&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:$,eventMap:V,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))}componentWillUnmount(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),m(this.registeredEvents),this.state.trafficLayer.setMap(null))}render(){return null}}c(q,"contextType",d);var Y=(0,i.memo)(function(e){var{onLoad:t,onUnmount:n}=e,r=(0,i.useContext)(d),[o,s]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==o&&o.setMap(r)},[r]),(0,i.useEffect)(()=>{var e=new google.maps.BicyclingLayer;return s(e),e.setMap(r),t&&t(e),()=>{null!==e&&(n&&n(e),e.setMap(null))}},[]),null});class X extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{bicyclingLayer:null}),c(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}}c(X,"contextType",d);var Q=(0,i.memo)(function(e){var{onLoad:t,onUnmount:n}=e,r=(0,i.useContext)(d),[o,s]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==o&&o.setMap(r)},[r]),(0,i.useEffect)(()=>{var e=new google.maps.TransitLayer;return s(e),e.setMap(r),t&&t(e),()=>{null!==o&&(n&&n(o),o.setMap(null))}},[]),null});class ee extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{transitLayer:null}),c(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 te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(ee,"contextType",d);var re={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},oe={drawingMode(e,t){e.setDrawingMode(t)},options(e,t){e.setOptions(t)}},se=(0,i.memo)(function(e){var{options:t,drawingMode:n,onCircleComplete:r,onMarkerComplete:o,onOverlayComplete:s,onPolygonComplete:a,onPolylineComplete:l,onRectangleComplete:c,onLoad:u,onUnmount:h}=e,g=(0,i.useContext)(d),[m,f]=(0,i.useState)(null),[v,y]=(0,i.useState)(null),[w,b]=(0,i.useState)(null),[E,S]=(0,i.useState)(null),[C,L]=(0,i.useState)(null),[P,k]=(0,i.useState)(null),[O,x]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==m&&m.setMap(g)},[g]),(0,i.useEffect)(()=>{t&&null!==m&&m.setOptions(t)},[m,t]),(0,i.useEffect)(()=>{null!==m&&m.setDrawingMode(null!=n?n:null)},[m,n]),(0,i.useEffect)(()=>{m&&r&&(null!==v&&google.maps.event.removeListener(v),y(google.maps.event.addListener(m,"circlecomplete",r)))},[m,r]),(0,i.useEffect)(()=>{m&&o&&(null!==w&&google.maps.event.removeListener(w),b(google.maps.event.addListener(m,"markercomplete",o)))},[m,o]),(0,i.useEffect)(()=>{m&&s&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(m,"overlaycomplete",s)))},[m,s]),(0,i.useEffect)(()=>{m&&a&&(null!==C&&google.maps.event.removeListener(C),L(google.maps.event.addListener(m,"polygoncomplete",a)))},[m,a]),(0,i.useEffect)(()=>{m&&l&&(null!==P&&google.maps.event.removeListener(P),k(google.maps.event.addListener(m,"polylinecomplete",l)))},[m,l]),(0,i.useEffect)(()=>{m&&c&&(null!==O&&google.maps.event.removeListener(O),x(google.maps.event.addListener(m,"rectanglecomplete",c)))},[m,c]),(0,i.useEffect)(()=>{p(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var e=new google.maps.drawing.DrawingManager(ne(ne({},t),{},{map:g}));return n&&e.setDrawingMode(n),r&&y(google.maps.event.addListener(e,"circlecomplete",r)),o&&b(google.maps.event.addListener(e,"markercomplete",o)),s&&S(google.maps.event.addListener(e,"overlaycomplete",s)),a&&L(google.maps.event.addListener(e,"polygoncomplete",a)),l&&k(google.maps.event.addListener(e,"polylinecomplete",l)),c&&x(google.maps.event.addListener(e,"rectanglecomplete",c)),f(e),u&&u(e),()=>{null!==m&&(v&&google.maps.event.removeListener(v),w&&google.maps.event.removeListener(w),E&&google.maps.event.removeListener(E),C&&google.maps.event.removeListener(C),P&&google.maps.event.removeListener(P),O&&google.maps.event.removeListener(O),h&&h(m),m.setMap(null))}},[]),null});class ie extends i.PureComponent{constructor(e){super(e),c(this,"registeredEvents",[]),c(this,"state",{drawingManager:null}),c(this,"setDrawingManagerCallback",()=>{null!==this.state.drawingManager&&this.props.onLoad&&this.props.onLoad(this.state.drawingManager)}),p(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing)}componentDidMount(){var e=new google.maps.drawing.DrawingManager(ne(ne({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:oe,eventMap:re,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{drawingManager:e}},this.setDrawingManagerCallback)}componentDidUpdate(e){null!==this.state.drawingManager&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:oe,eventMap:re,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))}componentWillUnmount(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),m(this.registeredEvents),this.state.drawingManager.setMap(null))}render(){return null}}function ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ae(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ae(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(ie,"contextType",d);var ce={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},ue={animation(e,t){e.setAnimation(t)},clickable(e,t){e.setClickable(t)},cursor(e,t){e.setCursor(t)},draggable(e,t){e.setDraggable(t)},icon(e,t){e.setIcon(t)},label(e,t){e.setLabel(t)},map(e,t){e.setMap(t)},opacity(e,t){e.setOpacity(t)},options(e,t){e.setOptions(t)},position(e,t){e.setPosition(t)},shape(e,t){e.setShape(t)},title(e,t){e.setTitle(t)},visible(e,t){e.setVisible(t)},zIndex(e,t){e.setZIndex(t)}},pe={},de=(0,i.memo)(function(e){var{position:t,options:n,clusterer:r,noClustererRedraw:o,children:a,draggable:l,visible:c,animation:u,clickable:p,cursor:h,icon:g,label:m,opacity:f,shape:v,title:y,zIndex:w,onClick:b,onDblClick:E,onDrag:S,onDragEnd:C,onDragStart:L,onMouseOut:P,onMouseOver:k,onMouseUp:O,onMouseDown:x,onRightClick:M,onClickableChanged:A,onCursorChanged:_,onAnimationChanged:R,onDraggableChanged:D,onFlatChanged:T,onIconChanged:j,onPositionChanged:I,onShapeChanged:H,onTitleChanged:U,onVisibleChanged:B,onZindexChanged:W,onLoad:K,onUnmount:N}=e,z=(0,i.useContext)(d),[J,F]=(0,i.useState)(null),[G,V]=(0,i.useState)(null),[$,Z]=(0,i.useState)(null),[q,Y]=(0,i.useState)(null),[X,Q]=(0,i.useState)(null),[ee,te]=(0,i.useState)(null),[ne,re]=(0,i.useState)(null),[oe,se]=(0,i.useState)(null),[ie,ae]=(0,i.useState)(null),[ce,ue]=(0,i.useState)(null),[de,he]=(0,i.useState)(null),[ge,me]=(0,i.useState)(null),[fe,ve]=(0,i.useState)(null),[ye,we]=(0,i.useState)(null),[be,Ee]=(0,i.useState)(null),[Se,Ce]=(0,i.useState)(null),[Le,Pe]=(0,i.useState)(null),[ke,Oe]=(0,i.useState)(null),[xe,Me]=(0,i.useState)(null),[Ae,_e]=(0,i.useState)(null),[Re,De]=(0,i.useState)(null),[Te,je]=(0,i.useState)(null);(0,i.useEffect)(()=>{null!==J&&J.setMap(z)},[z]),(0,i.useEffect)(()=>{void 0!==n&&null!==J&&J.setOptions(n)},[J,n]),(0,i.useEffect)(()=>{void 0!==l&&null!==J&&J.setDraggable(l)},[J,l]),(0,i.useEffect)(()=>{t&&null!==J&&J.setPosition(t)},[J,t]),(0,i.useEffect)(()=>{void 0!==c&&null!==J&&J.setVisible(c)},[J,c]),(0,i.useEffect)(()=>{null==J||J.setAnimation(u)},[J,u]),(0,i.useEffect)(()=>{J&&void 0!==p&&J.setClickable(p)},[J,p]),(0,i.useEffect)(()=>{J&&void 0!==h&&J.setCursor(h)},[J,h]),(0,i.useEffect)(()=>{J&&void 0!==g&&J.setIcon(g)},[J,g]),(0,i.useEffect)(()=>{J&&void 0!==m&&J.setLabel(m)},[J,m]),(0,i.useEffect)(()=>{J&&void 0!==f&&J.setOpacity(f)},[J,f]),(0,i.useEffect)(()=>{J&&void 0!==v&&J.setShape(v)},[J,v]),(0,i.useEffect)(()=>{J&&void 0!==y&&J.setTitle(y)},[J,y]),(0,i.useEffect)(()=>{J&&void 0!==w&&J.setZIndex(w)},[J,w]),(0,i.useEffect)(()=>{J&&E&&(null!==G&&google.maps.event.removeListener(G),V(google.maps.event.addListener(J,"dblclick",E)))},[E]),(0,i.useEffect)(()=>{J&&C&&(null!==$&&google.maps.event.removeListener($),Z(google.maps.event.addListener(J,"dragend",C)))},[C]),(0,i.useEffect)(()=>{J&&L&&(null!==q&&google.maps.event.removeListener(q),Y(google.maps.event.addListener(J,"dragstart",L)))},[L]),(0,i.useEffect)(()=>{J&&x&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(J,"mousedown",x)))},[x]),(0,i.useEffect)(()=>{J&&P&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(J,"mouseout",P)))},[P]),(0,i.useEffect)(()=>{J&&k&&(null!==ne&&google.maps.event.removeListener(ne),re(google.maps.event.addListener(J,"mouseover",k)))},[k]),(0,i.useEffect)(()=>{J&&O&&(null!==oe&&google.maps.event.removeListener(oe),se(google.maps.event.addListener(J,"mouseup",O)))},[O]),(0,i.useEffect)(()=>{J&&M&&(null!==ie&&google.maps.event.removeListener(ie),ae(google.maps.event.addListener(J,"rightclick",M)))},[M]),(0,i.useEffect)(()=>{J&&b&&(null!==ce&&google.maps.event.removeListener(ce),ue(google.maps.event.addListener(J,"click",b)))},[b]),(0,i.useEffect)(()=>{J&&S&&(null!==de&&google.maps.event.removeListener(de),he(google.maps.event.addListener(J,"drag",S)))},[S]),(0,i.useEffect)(()=>{J&&A&&(null!==ge&&google.maps.event.removeListener(ge),me(google.maps.event.addListener(J,"clickable_changed",A)))},[A]),(0,i.useEffect)(()=>{J&&_&&(null!==fe&&google.maps.event.removeListener(fe),ve(google.maps.event.addListener(J,"cursor_changed",_)))},[_]),(0,i.useEffect)(()=>{J&&R&&(null!==ye&&google.maps.event.removeListener(ye),we(google.maps.event.addListener(J,"animation_changed",R)))},[R]),(0,i.useEffect)(()=>{J&&D&&(null!==be&&google.maps.event.removeListener(be),Ee(google.maps.event.addListener(J,"draggable_changed",D)))},[D]),(0,i.useEffect)(()=>{J&&T&&(null!==Se&&google.maps.event.removeListener(Se),Ce(google.maps.event.addListener(J,"flat_changed",T)))},[T]),(0,i.useEffect)(()=>{J&&j&&(null!==Le&&google.maps.event.removeListener(Le),Pe(google.maps.event.addListener(J,"icon_changed",j)))},[j]),(0,i.useEffect)(()=>{J&&I&&(null!==ke&&google.maps.event.removeListener(ke),Oe(google.maps.event.addListener(J,"position_changed",I)))},[I]),(0,i.useEffect)(()=>{J&&H&&(null!==xe&&google.maps.event.removeListener(xe),Me(google.maps.event.addListener(J,"shape_changed",H)))},[H]),(0,i.useEffect)(()=>{J&&U&&(null!==Ae&&google.maps.event.removeListener(Ae),_e(google.maps.event.addListener(J,"title_changed",U)))},[U]),(0,i.useEffect)(()=>{J&&B&&(null!==Re&&google.maps.event.removeListener(Re),De(google.maps.event.addListener(J,"visible_changed",B)))},[B]),(0,i.useEffect)(()=>{J&&W&&(null!==Te&&google.maps.event.removeListener(Te),je(google.maps.event.addListener(J,"zindex_changed",W)))},[W]),(0,i.useEffect)(()=>{var e=le(le(le({},n||pe),r?pe:{map:z}),{},{position:t}),s=new google.maps.Marker(e);return r?r.addMarker(s,!!o):s.setMap(z),t&&s.setPosition(t),void 0!==c&&s.setVisible(c),void 0!==l&&s.setDraggable(l),void 0!==p&&s.setClickable(p),"string"==typeof h&&s.setCursor(h),g&&s.setIcon(g),void 0!==m&&s.setLabel(m),void 0!==f&&s.setOpacity(f),v&&s.setShape(v),"string"==typeof y&&s.setTitle(y),"number"==typeof w&&s.setZIndex(w),E&&V(google.maps.event.addListener(s,"dblclick",E)),C&&Z(google.maps.event.addListener(s,"dragend",C)),L&&Y(google.maps.event.addListener(s,"dragstart",L)),x&&Q(google.maps.event.addListener(s,"mousedown",x)),P&&te(google.maps.event.addListener(s,"mouseout",P)),k&&re(google.maps.event.addListener(s,"mouseover",k)),O&&se(google.maps.event.addListener(s,"mouseup",O)),M&&ae(google.maps.event.addListener(s,"rightclick",M)),b&&ue(google.maps.event.addListener(s,"click",b)),S&&he(google.maps.event.addListener(s,"drag",S)),A&&me(google.maps.event.addListener(s,"clickable_changed",A)),_&&ve(google.maps.event.addListener(s,"cursor_changed",_)),R&&we(google.maps.event.addListener(s,"animation_changed",R)),D&&Ee(google.maps.event.addListener(s,"draggable_changed",D)),T&&Ce(google.maps.event.addListener(s,"flat_changed",T)),j&&Pe(google.maps.event.addListener(s,"icon_changed",j)),I&&Oe(google.maps.event.addListener(s,"position_changed",I)),H&&Me(google.maps.event.addListener(s,"shape_changed",H)),U&&_e(google.maps.event.addListener(s,"title_changed",U)),B&&De(google.maps.event.addListener(s,"visible_changed",B)),W&&je(google.maps.event.addListener(s,"zindex_changed",W)),F(s),K&&K(s),()=>{null!==G&&google.maps.event.removeListener(G),null!==$&&google.maps.event.removeListener($),null!==q&&google.maps.event.removeListener(q),null!==X&&google.maps.event.removeListener(X),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==oe&&google.maps.event.removeListener(oe),null!==ie&&google.maps.event.removeListener(ie),null!==ce&&google.maps.event.removeListener(ce),null!==ge&&google.maps.event.removeListener(ge),null!==fe&&google.maps.event.removeListener(fe),null!==ye&&google.maps.event.removeListener(ye),null!==be&&google.maps.event.removeListener(be),null!==Se&&google.maps.event.removeListener(Se),null!==Le&&google.maps.event.removeListener(Le),null!==ke&&google.maps.event.removeListener(ke),null!==Ae&&google.maps.event.removeListener(Ae),null!==Re&&google.maps.event.removeListener(Re),null!==Te&&google.maps.event.removeListener(Te),N&&N(s),r?r.removeMarker(s,!!o):s&&s.setMap(null)}},[]);var Ie=(0,i.useMemo)(()=>a?i.Children.map(a,e=>{if(!(0,i.isValidElement)(e))return e;var t=e;return(0,i.cloneElement)(t,{anchor:J})}):null,[a,J]);return(0,s.jsx)(s.Fragment,{children:Ie})||null});class he extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[])}componentDidMount(){var e=this;return E(function*(){var t=le(le(le({},e.props.options||pe),e.props.clusterer?pe:{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=f({updaterMap:ue,eventMap:ce,prevProps:{},nextProps:e.props,instance:e.marker}),e.props.onLoad&&e.props.onLoad(e.marker)})()}componentDidUpdate(e){this.marker&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:ue,eventMap:ce,prevProps:e,nextProps:this.props,instance:this.marker}))}componentWillUnmount(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),m(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?i.Children.map(this.props.children,e=>{if(!(0,i.isValidElement)(e))return e;var t=e;return(0,i.cloneElement)(t,{anchor:this.marker})}):null)||null}}c(he,"contextType",d);var ge=function(){function e(t,n){t.getClusterer().extend(e,google.maps.OverlayView),this.cluster=t,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,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(t.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 e.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},e.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},e.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 n=t.getMaxZoom(),r=this.cluster.getBounds(),o=t.getMap();null!==o&&"fitBounds"in o&&o.fitBounds(r),this.timeOut=window.setTimeout(function(){var e=t.getMap();if(null!==e){"fitBounds"in e&&e.fitBounds(r);var o=e.getZoom()||0;null!==n&&o>n&&e.setZoom(n+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},e.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},e.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},e.prototype.onAdd=function(){var e;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 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))},e.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)},e.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"}},e.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},e.prototype.show=function(){var e,t,n,r,o,s;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),c=parseInt((null===(t=a[1])||void 0===t?void 0:t.replace(/^\s+|\s+$/g,""))||"0",10),u=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(null!==u?"".concat(u.y,"px"):"0","; left: ").concat(null!==u?"".concat(u.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var p=document.createElement("img");p.alt=i,p.src=this.url,p.width=this.width,p.height=this.height,p.setAttribute("style","position: absolute; top: ".concat(c,"px; left: ").concat(l,"px")),this.cluster.getClusterer().enableRetinaIcons||(p.style.clip="rect(-".concat(c,"px, -").concat(l+this.width,"px, -").concat(c+this.height,", -").concat(l,")"));var d=document.createElement("div");d.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===(n=this.sums)||void 0===n?void 0:n.text)&&(d.innerText="".concat(null===(r=this.sums)||void 0===r?void 0:r.text)),(null===(o=this.sums)||void 0===o?void 0:o.html)&&(d.innerHTML="".concat(null===(s=this.sums)||void 0===s?void 0:s.html)),this.div.innerHTML="",this.div.appendChild(p),this.div.appendChild(d),this.div.title=i,this.div.style.display=""}this.visible=!0},e.prototype.useStyle=function(e){this.sums=e;var t=this.cluster.getClusterer().getStyles(),n=t[Math.min(t.length-1,Math.max(0,e.index-1))];n&&(this.url=n.url,this.height=n.height,this.width=n.width,n.className&&(this.className="".concat(this.clusterClassName," ").concat(n.className)),this.anchorText=n.anchorText||[0,0],this.anchorIcon=n.anchorIcon||[this.height/2,this.width/2],this.textColor=n.textColor||"black",this.textSize=n.textSize||11,this.textDecoration=n.textDecoration||"none",this.fontWeight=n.fontWeight||"bold",this.fontStyle=n.fontStyle||"normal",this.fontFamily=n.fontFamily||"Arial,sans-serif",this.backgroundPosition=n.backgroundPosition||"0 0")},e.prototype.setCenter=function(e){this.center=e},e.prototype.getPosFromLatLng=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return null!==t&&(t.x-=this.anchorIcon[1],t.y-=this.anchorIcon[0]),t},e}(),me=function(){function e(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 ge(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 e.prototype.getSize=function(){return this.markers.length},e.prototype.getMarkers=function(){return this.markers},e.prototype.getCenter=function(){return this.center},e.prototype.getMap=function(){return this.map},e.prototype.getClusterer=function(){return this.markerClusterer},e.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),t=0,n=this.getMarkers();t<n.length;t++){var r=n[t].getPosition();r&&e.extend(r)}return e},e.prototype.remove=function(){this.clusterIcon.setMap(null),this.markers=[],delete this.markers},e.prototype.addMarker=function(e){var t,n;if(this.isMarkerAlreadyAdded(e))return!1;if(this.center){if(this.averageCenter&&(n=e.getPosition())){var r=this.markers.length+1;this.center=new google.maps.LatLng((this.center.lat()*(r-1)+n.lat())/r,(this.center.lng()*(r-1)+n.lng())/r),this.calculateBounds()}}else(n=e.getPosition())&&(this.center=n,this.calculateBounds());e.isAdded=!0,this.markers.push(e);var o=this.markers.length,s=this.markerClusterer.getMaxZoom(),i=null===(t=this.map)||void 0===t?void 0:t.getZoom();if(null!==s&&void 0!==i&&i>s)e.getMap()!==this.map&&e.setMap(this.map);else if(o<this.minClusterSize)e.getMap()!==this.map&&e.setMap(this.map);else if(o===this.minClusterSize)for(var a=0,l=this.markers;a<l.length;a++)l[a].setMap(null);else e.setMap(null);return!0},e.prototype.isMarkerInClusterBounds=function(e){if(null!==this.bounds){var t=e.getPosition();if(t)return this.bounds.contains(t)}return!1},e.prototype.calculateBounds=function(){this.bounds=this.markerClusterer.getExtendedBounds(new google.maps.LatLngBounds(this.center,this.center))},e.prototype.updateIcon=function(){var e,t=this.markers.length,n=this.markerClusterer.getMaxZoom(),r=null===(e=this.map)||void 0===e?void 0:e.getZoom();null!==n&&void 0!==r&&r>n||t<this.minClusterSize?this.clusterIcon.hide():(this.center&&this.clusterIcon.setCenter(this.center),this.clusterIcon.useStyle(this.markerClusterer.getCalculator()(this.markers,this.markerClusterer.getStyles().length)),this.clusterIcon.show())},e.prototype.isMarkerAlreadyAdded=function(e){if(this.markers.includes)return this.markers.includes(e);for(var t=0;t<this.markers.length;t++)if(e===this.markers[t])return!0;return!1},e}();function fe(e,t){var n=e.length,r=n.toString().length,o=Math.min(r,t);return{text:n.toString(),index:o,title:""}}var ve=[53,56,66,78,90],ye=function(){function e(t,n,r){void 0===n&&(n=[]),void 0===r&&(r={}),this.getMinimumClusterSize=this.getMinimumClusterSize.bind(this),this.setMinimumClusterSize=this.setMinimumClusterSize.bind(this),this.getEnableRetinaIcons=this.getEnableRetinaIcons.bind(this),this.setEnableRetinaIcons=this.setEnableRetinaIcons.bind(this),this.addToClosestCluster=this.addToClosestCluster.bind(this),this.getImageExtension=this.getImageExtension.bind(this),this.setImageExtension=this.setImageExtension.bind(this),this.getExtendedBounds=this.getExtendedBounds.bind(this),this.getAverageCenter=this.getAverageCenter.bind(this),this.setAverageCenter=this.setAverageCenter.bind(this),this.getTotalClusters=this.getTotalClusters.bind(this),this.fitMapToMarkers=this.fitMapToMarkers.bind(this),this.getIgnoreHidden=this.getIgnoreHidden.bind(this),this.setIgnoreHidden=this.setIgnoreHidden.bind(this),this.getClusterClass=this.getClusterClass.bind(this),this.setClusterClass=this.setClusterClass.bind(this),this.getTotalMarkers=this.getTotalMarkers.bind(this),this.getZoomOnClick=this.getZoomOnClick.bind(this),this.setZoomOnClick=this.setZoomOnClick.bind(this),this.getBatchSizeIE=this.getBatchSizeIE.bind(this),this.setBatchSizeIE=this.setBatchSizeIE.bind(this),this.createClusters=this.createClusters.bind(this),this.onZoomChanged=this.onZoomChanged.bind(this),this.getImageSizes=this.getImageSizes.bind(this),this.setImageSizes=this.setImageSizes.bind(this),this.getCalculator=this.getCalculator.bind(this),this.setCalculator=this.setCalculator.bind(this),this.removeMarkers=this.removeMarkers.bind(this),this.resetViewport=this.resetViewport.bind(this),this.getImagePath=this.getImagePath.bind(this),this.setImagePath=this.setImagePath.bind(this),this.pushMarkerTo=this.pushMarkerTo.bind(this),this.removeMarker=this.removeMarker.bind(this),this.clearMarkers=this.clearMarkers.bind(this),this.setupStyles=this.setupStyles.bind(this),this.getGridSize=this.getGridSize.bind(this),this.setGridSize=this.setGridSize.bind(this),this.getClusters=this.getClusters.bind(this),this.getMaxZoom=this.getMaxZoom.bind(this),this.setMaxZoom=this.setMaxZoom.bind(this),this.getMarkers=this.getMarkers.bind(this),this.addMarkers=this.addMarkers.bind(this),this.getStyles=this.getStyles.bind(this),this.setStyles=this.setStyles.bind(this),this.addMarker=this.addMarker.bind(this),this.onRemove=this.onRemove.bind(this),this.getTitle=this.getTitle.bind(this),this.setTitle=this.setTitle.bind(this),this.repaint=this.repaint.bind(this),this.onIdle=this.onIdle.bind(this),this.redraw=this.redraw.bind(this),this.onAdd=this.onAdd.bind(this),this.draw=this.draw.bind(this),this.extend=this.extend.bind(this),this.extend(e,google.maps.OverlayView),this.markers=[],this.clusters=[],this.listeners=[],this.activeMap=null,this.ready=!1,this.gridSize=r.gridSize||60,this.minClusterSize=r.minimumClusterSize||2,this.maxZoom=r.maxZoom||null,this.styles=r.styles||[],this.title=r.title||"",this.zoomOnClick=!0,void 0!==r.zoomOnClick&&(this.zoomOnClick=r.zoomOnClick),this.averageCenter=!1,void 0!==r.averageCenter&&(this.averageCenter=r.averageCenter),this.ignoreHidden=!1,void 0!==r.ignoreHidden&&(this.ignoreHidden=r.ignoreHidden),this.enableRetinaIcons=!1,void 0!==r.enableRetinaIcons&&(this.enableRetinaIcons=r.enableRetinaIcons),this.imagePath=r.imagePath||"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",this.imageExtension=r.imageExtension||"png",this.imageSizes=r.imageSizes||ve,this.calculator=r.calculator||fe,this.batchSize=r.batchSize||2e3,this.batchSizeIE=r.batchSizeIE||500,this.clusterClass=r.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(this.batchSize=this.batchSizeIE),this.timerRefStatic=null,this.setupStyles(),this.addMarkers(n,!0),this.setMap(t)}return e.prototype.onZoomChanged=function(){var e,t;this.resetViewport(!1),(null===(e=this.getMap())||void 0===e?void 0:e.getZoom())!==(this.get("minZoom")||0)&&(null===(t=this.getMap())||void 0===t?void 0:t.getZoom())!==this.get("maxZoom")||google.maps.event.trigger(this,"idle")},e.prototype.onIdle=function(){this.redraw()},e.prototype.onAdd=function(){var e=this.getMap();this.activeMap=e,this.ready=!0,this.repaint(),null!==e&&(this.listeners=[google.maps.event.addListener(e,"zoom_changed",this.onZoomChanged),google.maps.event.addListener(e,"idle",this.onIdle)])},e.prototype.onRemove=function(){for(var e=0,t=this.markers;e<t.length;e++){var n=t[e];n.getMap()!==this.activeMap&&n.setMap(this.activeMap)}for(var r=0,o=this.clusters;r<o.length;r++)o[r].remove();this.clusters=[];for(var s=0,i=this.listeners;s<i.length;s++){var a=i[s];google.maps.event.removeListener(a)}this.listeners=[],this.activeMap=null,this.ready=!1},e.prototype.draw=function(){},e.prototype.getMap=function(){return null},e.prototype.getPanes=function(){return null},e.prototype.getProjection=function(){return{fromContainerPixelToLatLng:function(){return null},fromDivPixelToLatLng:function(){return null},fromLatLngToContainerPixel:function(){return null},fromLatLngToDivPixel:function(){return null},getVisibleRegion:function(){return null},getWorldWidth:function(){return 0}}},e.prototype.setMap=function(){},e.prototype.addListener=function(){return{remove:function(){}}},e.prototype.bindTo=function(){},e.prototype.get=function(){},e.prototype.notify=function(){},e.prototype.set=function(){},e.prototype.setValues=function(){},e.prototype.unbind=function(){},e.prototype.unbindAll=function(){},e.prototype.setupStyles=function(){if(!(this.styles.length>0))for(var e=0;e<this.imageSizes.length;e++)this.styles.push({url:"".concat(this.imagePath+(e+1),".").concat(this.imageExtension),height:this.imageSizes[e]||0,width:this.imageSizes[e]||0})},e.prototype.fitMapToMarkers=function(){for(var e=this.getMarkers(),t=new google.maps.LatLngBounds,n=0,r=e;n<r.length;n++){var o=r[n].getPosition();o&&t.extend(o)}var s=this.getMap();null!==s&&"fitBounds"in s&&s.fitBounds(t)},e.prototype.getGridSize=function(){return this.gridSize},e.prototype.setGridSize=function(e){this.gridSize=e},e.prototype.getMinimumClusterSize=function(){return this.minClusterSize},e.prototype.setMinimumClusterSize=function(e){this.minClusterSize=e},e.prototype.getMaxZoom=function(){return this.maxZoom},e.prototype.setMaxZoom=function(e){this.maxZoom=e},e.prototype.getStyles=function(){return this.styles},e.prototype.setStyles=function(e){this.styles=e},e.prototype.getTitle=function(){return this.title},e.prototype.setTitle=function(e){this.title=e},e.prototype.getZoomOnClick=function(){return this.zoomOnClick},e.prototype.setZoomOnClick=function(e){this.zoomOnClick=e},e.prototype.getAverageCenter=function(){return this.averageCenter},e.prototype.setAverageCenter=function(e){this.averageCenter=e},e.prototype.getIgnoreHidden=function(){return this.ignoreHidden},e.prototype.setIgnoreHidden=function(e){this.ignoreHidden=e},e.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons},e.prototype.setEnableRetinaIcons=function(e){this.enableRetinaIcons=e},e.prototype.getImageExtension=function(){return this.imageExtension},e.prototype.setImageExtension=function(e){this.imageExtension=e},e.prototype.getImagePath=function(){return this.imagePath},e.prototype.setImagePath=function(e){this.imagePath=e},e.prototype.getImageSizes=function(){return this.imageSizes},e.prototype.setImageSizes=function(e){this.imageSizes=e},e.prototype.getCalculator=function(){return this.calculator},e.prototype.setCalculator=function(e){this.calculator=e},e.prototype.getBatchSizeIE=function(){return this.batchSizeIE},e.prototype.setBatchSizeIE=function(e){this.batchSizeIE=e},e.prototype.getClusterClass=function(){return this.clusterClass},e.prototype.setClusterClass=function(e){this.clusterClass=e},e.prototype.getMarkers=function(){return this.markers},e.prototype.getTotalMarkers=function(){return this.markers.length},e.prototype.getClusters=function(){return this.clusters},e.prototype.getTotalClusters=function(){return this.clusters.length},e.prototype.addMarker=function(e,t){this.pushMarkerTo(e),t||this.redraw()},e.prototype.addMarkers=function(e,t){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=e[n];r&&this.pushMarkerTo(r)}t||this.redraw()},e.prototype.pushMarkerTo=function(e){var t=this;e.getDraggable()&&google.maps.event.addListener(e,"dragend",function(){t.ready&&(e.isAdded=!1,t.repaint())}),e.isAdded=!1,this.markers.push(e)},e.prototype.removeMarker_=function(e){var t=-1;if(this.markers.indexOf)t=this.markers.indexOf(e);else for(var n=0;n<this.markers.length;n++)if(e===this.markers[n]){t=n;break}return-1!==t&&(e.setMap(null),this.markers.splice(t,1),!0)},e.prototype.removeMarker=function(e,t){var n=this.removeMarker_(e);return!t&&n&&this.repaint(),n},e.prototype.removeMarkers=function(e,t){for(var n=!1,r=0,o=e;r<o.length;r++){var s=o[r];n=n||this.removeMarker_(s)}return!t&&n&&this.repaint(),n},e.prototype.clearMarkers=function(){this.resetViewport(!0),this.markers=[]},e.prototype.repaint=function(){var e=this.clusters.slice();this.clusters=[],this.resetViewport(!1),this.redraw(),setTimeout(function(){for(var t=0,n=e;t<n.length;t++)n[t].remove()},0)},e.prototype.getExtendedBounds=function(e){var t=this.getProjection(),n=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()));null!==n&&(n.x+=this.gridSize,n.y-=this.gridSize);var r=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getSouthWest().lat(),e.getSouthWest().lng()));if(null!==r&&(r.x-=this.gridSize,r.y+=this.gridSize),null!==n){var o=t.fromDivPixelToLatLng(n);null!==o&&e.extend(o)}if(null!==r){var s=t.fromDivPixelToLatLng(r);null!==s&&e.extend(s)}return e},e.prototype.redraw=function(){this.createClusters(0)},e.prototype.resetViewport=function(e){for(var t=0,n=this.clusters;t<n.length;t++)n[t].remove();this.clusters=[];for(var r=0,o=this.markers;r<o.length;r++){var s=o[r];s.isAdded=!1,e&&s.setMap(null)}},e.prototype.distanceBetweenPoints=function(e,t){var n=(t.lat()-e.lat())*Math.PI/180,r=(t.lng()-e.lng())*Math.PI/180,o=Math.sin(n/2)*Math.sin(n/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(r/2)*Math.sin(r/2);return 2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o))*6371},e.prototype.isMarkerInBounds=function(e,t){var n=e.getPosition();return!!n&&t.contains(n)},e.prototype.addToClosestCluster=function(e){for(var t,n=4e4,r=null,o=0,s=this.clusters;o<s.length;o++){var i=(t=s[o]).getCenter(),a=e.getPosition();if(i&&a){var l=this.distanceBetweenPoints(i,a);l<n&&(n=l,r=t)}}r&&r.isMarkerInClusterBounds(e)?r.addMarker(e):((t=new me(this)).addMarker(e),this.clusters.push(t))},e.prototype.createClusters=function(e){var t=this;if(this.ready){0===e&&(google.maps.event.trigger(this,"clusteringbegin",this),null!==this.timerRefStatic&&(window.clearTimeout(this.timerRefStatic),delete this.timerRefStatic));for(var n=this.getMap(),r=(null!==n&&"getBounds"in n?n.getBounds():null),o=((null==n?void 0:n.getZoom())||0)>3?new google.maps.LatLngBounds(null==r?void 0:r.getSouthWest(),null==r?void 0:r.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),s=this.getExtendedBounds(o),i=Math.min(e+this.batchSize,this.markers.length),a=e;a<i;a++){var l=this.markers[a];l&&!l.isAdded&&this.isMarkerInBounds(l,s)&&(!this.ignoreHidden||this.ignoreHidden&&l.getVisible())&&this.addToClosestCluster(l)}if(i<this.markers.length)this.timerRefStatic=window.setTimeout(function(){t.createClusters(i)},0);else{this.timerRefStatic=null,google.maps.event.trigger(this,"clusteringend",this);for(var c=0,u=this.clusters;c<u.length;c++)u[c].updateIcon()}}},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype){var n=t;this.prototype[n]=e.prototype[n]}return this}.apply(e,[t])},e}();function we(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var be={onClick:"click",onClusteringBegin:"clusteringbegin",onClusteringEnd:"clusteringend",onMouseOut:"mouseout",onMouseOver:"mouseover"},Ee={averageCenter(e,t){e.setAverageCenter(t)},batchSizeIE(e,t){e.setBatchSizeIE(t)},calculator(e,t){e.setCalculator(t)},clusterClass(e,t){e.setClusterClass(t)},enableRetinaIcons(e,t){e.setEnableRetinaIcons(t)},gridSize(e,t){e.setGridSize(t)},ignoreHidden(e,t){e.setIgnoreHidden(t)},imageExtension(e,t){e.setImageExtension(t)},imagePath(e,t){e.setImagePath(t)},imageSizes(e,t){e.setImageSizes(t)},maxZoom(e,t){e.setMaxZoom(t)},minimumClusterSize(e,t){e.setMinimumClusterSize(t)},styles(e,t){e.setStyles(t)},title(e,t){e.setTitle(t)},zoomOnClick(e,t){e.setZoomOnClick(t)}},Se={},Ce=(0,i.memo)(function(e){var{children:t,options:n,averageCenter:r,batchSizeIE:o,calculator:s,clusterClass:a,enableRetinaIcons:l,gridSize:u,ignoreHidden:p,imageExtension:h,imagePath:g,imageSizes:m,maxZoom:f,minimumClusterSize:v,styles:y,title:w,zoomOnClick:b,onClick:E,onClusteringBegin:S,onClusteringEnd:C,onMouseOver:L,onMouseOut:P,onLoad:k,onUnmount:O}=e,[x,M]=(0,i.useState)(null),A=(0,i.useContext)(d),[_,R]=(0,i.useState)(null),[D,T]=(0,i.useState)(null),[j,I]=(0,i.useState)(null),[H,U]=(0,i.useState)(null),[B,W]=(0,i.useState)(null);return(0,i.useEffect)(()=>{x&&P&&(null!==H&&google.maps.event.removeListener(H),U(google.maps.event.addListener(x,be.onMouseOut,P)))},[P]),(0,i.useEffect)(()=>{x&&L&&(null!==B&&google.maps.event.removeListener(B),W(google.maps.event.addListener(x,be.onMouseOver,L)))},[L]),(0,i.useEffect)(()=>{x&&E&&(null!==_&&google.maps.event.removeListener(_),R(google.maps.event.addListener(x,be.onClick,E)))},[E]),(0,i.useEffect)(()=>{x&&S&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(x,be.onClusteringBegin,S)))},[S]),(0,i.useEffect)(()=>{x&&C&&(null!==j&&google.maps.event.removeListener(j),T(google.maps.event.addListener(x,be.onClusteringEnd,C)))},[C]),(0,i.useEffect)(()=>{void 0!==r&&null!==x&&Ee.averageCenter(x,r)},[x,r]),(0,i.useEffect)(()=>{void 0!==o&&null!==x&&Ee.batchSizeIE(x,o)},[x,o]),(0,i.useEffect)(()=>{void 0!==s&&null!==x&&Ee.calculator(x,s)},[x,s]),(0,i.useEffect)(()=>{void 0!==a&&null!==x&&Ee.clusterClass(x,a)},[x,a]),(0,i.useEffect)(()=>{void 0!==l&&null!==x&&Ee.enableRetinaIcons(x,l)},[x,l]),(0,i.useEffect)(()=>{void 0!==u&&null!==x&&Ee.gridSize(x,u)},[x,u]),(0,i.useEffect)(()=>{void 0!==p&&null!==x&&Ee.ignoreHidden(x,p)},[x,p]),(0,i.useEffect)(()=>{void 0!==h&&null!==x&&Ee.imageExtension(x,h)},[x,h]),(0,i.useEffect)(()=>{void 0!==g&&null!==x&&Ee.imagePath(x,g)},[x,g]),(0,i.useEffect)(()=>{void 0!==m&&null!==x&&Ee.imageSizes(x,m)},[x,m]),(0,i.useEffect)(()=>{void 0!==f&&null!==x&&Ee.maxZoom(x,f)},[x,f]),(0,i.useEffect)(()=>{void 0!==v&&null!==x&&Ee.minimumClusterSize(x,v)},[x,v]),(0,i.useEffect)(()=>{void 0!==y&&null!==x&&Ee.styles(x,y)},[x,y]),(0,i.useEffect)(()=>{void 0!==w&&null!==x&&Ee.title(x,w)},[x,w]),(0,i.useEffect)(()=>{void 0!==b&&null!==x&&Ee.zoomOnClick(x,b)},[x,b]),(0,i.useEffect)(()=>{if(A){var e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?we(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):we(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},n||Se),t=new ye(A,[],e);return r&&Ee.averageCenter(t,r),o&&Ee.batchSizeIE(t,o),s&&Ee.calculator(t,s),a&&Ee.clusterClass(t,a),l&&Ee.enableRetinaIcons(t,l),u&&Ee.gridSize(t,u),p&&Ee.ignoreHidden(t,p),h&&Ee.imageExtension(t,h),g&&Ee.imagePath(t,g),m&&Ee.imageSizes(t,m),f&&Ee.maxZoom(t,f),v&&Ee.minimumClusterSize(t,v),y&&Ee.styles(t,y),w&&Ee.title(t,w),b&&Ee.zoomOnClick(t,b),P&&U(google.maps.event.addListener(t,be.onMouseOut,P)),L&&W(google.maps.event.addListener(t,be.onMouseOver,L)),E&&R(google.maps.event.addListener(t,be.onClick,E)),S&&T(google.maps.event.addListener(t,be.onClusteringBegin,S)),C&&I(google.maps.event.addListener(t,be.onClusteringEnd,C)),M(t),k&&k(t),()=>{null!==H&&google.maps.event.removeListener(H),null!==B&&google.maps.event.removeListener(B),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==j&&google.maps.event.removeListener(j),O&&O(t)}}},[]),null!==x&&t(x)||null});class Le extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{markerClusterer:null}),c(this,"setClustererCallback",()=>{null!==this.state.markerClusterer&&this.props.onLoad&&this.props.onLoad(this.state.markerClusterer)})}componentDidMount(){if(this.context){var e=new ye(this.context,[],this.props.options);this.registeredEvents=f({updaterMap:Ee,eventMap:be,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({markerClusterer:e}),this.setClustererCallback)}}componentDidUpdate(e){this.state.markerClusterer&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Ee,eventMap:be,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))}componentWillUnmount(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),m(this.registeredEvents),this.state.markerClusterer.setMap(null))}render(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null}}function Pe(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}c(Le,"contextType",d);var ke=function(){function e(t){void 0===t&&(t={}),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(e,google.maps.OverlayView),this.content=t.content||"",this.disableAutoPan=t.disableAutoPan||!1,this.maxWidth=t.maxWidth||0,this.pixelOffset=t.pixelOffset||new google.maps.Size(0,0),this.position=t.position||new google.maps.LatLng(0,0),this.zIndex=t.zIndex||null,this.boxClass=t.boxClass||"infoBox",this.boxStyle=t.boxStyle||{},this.closeBoxMargin=t.closeBoxMargin||"2px",this.closeBoxURL=t.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",""===t.closeBoxURL&&(this.closeBoxURL=""),this.infoBoxClearance=t.infoBoxClearance||new google.maps.Size(1,1),void 0===t.visible&&(void 0===t.isHidden?t.visible=!0:t.visible=!t.isHidden),this.isHidden=!t.visible,this.alignBottom=t.alignBottom||!1,this.pane=t.pane||"floatPane",this.enableEventPropagation=t.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return e.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 n=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-n.left-n.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var r=0,o=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"];r<o.length;r++){var s=o[r];this.eventListeners.push(google.maps.event.addListener(this.div,s,Pe))}this.eventListeners.push(google.maps.event.addListener(this.div,"mouseover",function(){e.div&&(e.div.style.cursor="default")}))}this.contextListener=google.maps.event.addListener(this.div,"contextmenu",function(t){t.returnValue=!1,t.preventDefault&&t.preventDefault(),e.enableEventPropagation||Pe(t)}),google.maps.event.trigger(this,"domready")}},e.prototype.getCloseBoxImg=function(){var e="";return""!==this.closeBoxURL&&(e='<img alt=""',e+=' aria-hidden="true"',e+=" src='"+this.closeBoxURL+"'",e+=" align=right",e+=" style='",e+=" position: relative;",e+=" cursor: pointer;",e+=" margin: "+this.closeBoxMargin+";",e+="'>"),e},e.prototype.addClickHandler=function(){this.closeListener=this.div&&this.div.firstChild&&""!==this.closeBoxURL?google.maps.event.addListener(this.div.firstChild,"click",this.getCloseClickHandler()):null},e.prototype.closeClickHandler=function(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation(),google.maps.event.trigger(this,"closeclick"),this.close()},e.prototype.getCloseClickHandler=function(){return this.closeClickHandler},e.prototype.panBox=function(e){if(this.div&&!e){var t=this.getMap();if(t instanceof google.maps.Map){var n=0,r=0,o=t.getBounds();o&&!o.contains(this.position)&&t.setCenter(this.position);var s=t.getDiv(),i=s.offsetWidth,a=s.offsetHeight,l=this.pixelOffset.width,c=this.pixelOffset.height,u=this.div.offsetWidth,p=this.div.offsetHeight,d=this.infoBoxClearance.width,h=this.infoBoxClearance.height,g=this.getProjection().fromLatLngToContainerPixel(this.position);null!==g&&(g.x<-l+d?n=g.x+l-d:g.x+u+l+d>i&&(n=g.x+u+l+d-i),this.alignBottom?g.y<-c+h+p?r=g.y+c-h-p:g.y+c+h>a&&(r=g.y+c+h-a):g.y<-c+h?r=g.y+c-h:g.y+p+c+h>a&&(r=g.y+p+c+h-a)),0===n&&0===r||t.panBy(n,r)}}},e.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 n=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*n+')"',this.div.style.filter="alpha(opacity="+100*n+")"}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")}},e.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,n=t&&t.defaultView?t.defaultView.getComputedStyle(this.div,""):null;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)}else if(document.documentElement.currentStyle){var r=this.div.currentStyle;r&&(e.top=parseInt(r.borderTopWidth||"",10)||0,e.bottom=parseInt(r.borderBottomWidth||"",10)||0,e.left=parseInt(r.borderLeftWidth||"",10)||0,e.right=parseInt(r.borderRightWidth||"",10)||0)}return e},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},e.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"}},e.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()},e.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")},e.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},e.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},e.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},e.prototype.getContent=function(){return this.content},e.prototype.getPosition=function(){return this.position},e.prototype.getZIndex=function(){return this.zIndex},e.prototype.getVisible=function(){return null!=this.getMap()&&!this.isHidden},e.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},e.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},e.prototype.open=function(e,t){var n=this;t&&(this.position=t.getPosition(),this.moveListener=google.maps.event.addListener(t,"position_changed",function(){var e=t.getPosition();n.setPosition(e)}),this.mapListener=google.maps.event.addListener(t,"map_changed",function(){n.setMap(t.map)})),this.setMap(e),this.div&&this.panBox()},e.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<t.length;e++){var n=t[e];google.maps.event.removeListener(n)}this.eventListeners=null}this.moveListener&&(google.maps.event.removeListener(this.moveListener),this.moveListener=null),this.mapListener&&(google.maps.event.removeListener(this.mapListener),this.mapListener=null),this.contextListener&&(google.maps.event.removeListener(this.contextListener),this.contextListener=null),this.setMap(null)},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype)Object.prototype.hasOwnProperty.call(this,t)||(this.prototype[t]=e.prototype[t]);return this}.apply(e,[t])},e}(),Oe=["position"],xe=["position"];function Me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Me(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Me(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var _e,Re,De={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Te={options(e,t){e.setOptions(t)},position(e,t){t instanceof google.maps.LatLng?e.setPosition(t):e.setPosition(new google.maps.LatLng(t.lat,t.lng))},visible(e,t){e.setVisible(t)},zIndex(e,t){e.setZIndex(t)}},je={},Ie=(0,i.memo)(function(e){var{children:t,anchor:n,options:r,position:o,zIndex:s,onCloseClick:l,onDomReady:c,onContentChanged:u,onPositionChanged:h,onZindexChanged:g,onLoad:m,onUnmount:f}=e,v=(0,i.useContext)(d),[y,w]=(0,i.useState)(null),[b,E]=(0,i.useState)(null),[S,C]=(0,i.useState)(null),[L,P]=(0,i.useState)(null),[k,O]=(0,i.useState)(null),[x,M]=(0,i.useState)(null),A=(0,i.useRef)(null);return(0,i.useEffect)(()=>{v&&null!==y&&(y.close(),n?y.open(v,n):y.getPosition()&&y.open(v))},[v,y,n]),(0,i.useEffect)(()=>{r&&null!==y&&y.setOptions(r)},[y,r]),(0,i.useEffect)(()=>{if(o&&null!==y){var e=o instanceof google.maps.LatLng?o:new google.maps.LatLng(o.lat,o.lng);y.setPosition(e)}},[o]),(0,i.useEffect)(()=>{"number"==typeof s&&null!==y&&y.setZIndex(s)},[s]),(0,i.useEffect)(()=>{y&&l&&(null!==b&&google.maps.event.removeListener(b),E(google.maps.event.addListener(y,"closeclick",l)))},[l]),(0,i.useEffect)(()=>{y&&c&&(null!==S&&google.maps.event.removeListener(S),C(google.maps.event.addListener(y,"domready",c)))},[c]),(0,i.useEffect)(()=>{y&&u&&(null!==L&&google.maps.event.removeListener(L),P(google.maps.event.addListener(y,"content_changed",u)))},[u]),(0,i.useEffect)(()=>{y&&h&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(y,"position_changed",h)))},[h]),(0,i.useEffect)(()=>{y&&g&&(null!==x&&google.maps.event.removeListener(x),M(google.maps.event.addListener(y,"zindex_changed",g)))},[g]),(0,i.useEffect)(()=>{if(v){var e,t=r||je,{position:o}=t,s=R(t,Oe);!o||o instanceof google.maps.LatLng||(e=new google.maps.LatLng(o.lat,o.lng));var i=new ke(Ae(Ae({},s),e?{position:e}:{}));A.current=document.createElement("div"),w(i),l&&E(google.maps.event.addListener(i,"closeclick",l)),c&&C(google.maps.event.addListener(i,"domready",c)),u&&P(google.maps.event.addListener(i,"content_changed",u)),h&&O(google.maps.event.addListener(i,"position_changed",h)),g&&M(google.maps.event.addListener(i,"zindex_changed",g)),i.setContent(A.current),n?i.open(v,n):i.getPosition()?i.open(v):p(!1,"You must provide either an anchor or a position prop for <InfoBox>."),m&&m(i)}return()=>{null!==y&&(b&&google.maps.event.removeListener(b),L&&google.maps.event.removeListener(L),S&&google.maps.event.removeListener(S),k&&google.maps.event.removeListener(k),x&&google.maps.event.removeListener(x),f&&f(y),y.close())}},[]),A.current?(0,a.createPortal)(i.Children.only(t),A.current):null});class He extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"containerElement",null),c(this,"state",{infoBox:null}),c(this,"open",(e,t)=>{t?null!==this.context&&e.open(this.context,t):e.getPosition()?null!==this.context&&e.open(this.context):p(!1,"You must provide either an anchor or a position prop for <InfoBox>.")}),c(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:n}=t,r=R(t,xe);!n||n instanceof google.maps.LatLng||(e=new google.maps.LatLng(n.lat,n.lng));var o=new ke(Ae(Ae({},r),e?{position:e}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=f({updaterMap:Te,eventMap:De,prevProps:{},nextProps:this.props,instance:o}),this.setState({infoBox:o},this.setInfoBoxCallback)}componentDidUpdate(e){var{infoBox:t}=this.state;null!==t&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Te,eventMap:De,prevProps:e,nextProps:this.props,instance:t}))}componentWillUnmount(){var{onUnmount:e}=this.props,{infoBox:t}=this.state;null!==t&&(e&&e(t),m(this.registeredEvents),t.close())}render(){return this.containerElement?(0,a.createPortal)(i.Children.only(this.props.children),this.containerElement):null}}c(He,"contextType",d);var Ue=(Re||(Re=1,_e=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!==o--;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(s=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!==o--;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;0!==o--;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!=t&&n!=n}),_e),Be=u(Ue),We=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class Ke{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");var[t,n]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");var r=n>>4;if(1!==r)throw new Error("Got v".concat(r," data when expected v").concat(1,"."));var o=We[15&n];if(!o)throw new Error("Unrecognized array type.");var[s]=new Uint16Array(e,2,1),[i]=new Uint32Array(e,4,1);return new Ke(i,s,o,e)}constructor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,r=arguments.length>3?arguments[3]:void 0;if(isNaN(e)||e<0)throw new Error("Unpexpected numItems value: ".concat(e,"."));this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;var o=We.indexOf(this.ArrayType),s=2*e*this.ArrayType.BYTES_PER_ELEMENT,i=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-i%8)%8;if(o<0)throw new Error("Unexpected typed array class: ".concat(n,"."));r&&r instanceof ArrayBuffer?(this.data=r,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+s+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 n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){var e=this._pos>>1;if(e!==this.numItems)throw new Error("Added ".concat(e," items when expected ").concat(this.numItems,"."));return Ne(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var{ids:o,coords:s,nodeSize:i}=this,a=[0,o.length-1,0],l=[];a.length;){var c=a.pop()||0,u=a.pop()||0,p=a.pop()||0;if(u-p<=i)for(var d=p;d<=u;d++){var h=s[2*d],g=s[2*d+1];h>=e&&h<=n&&g>=t&&g<=r&&l.push(o[d])}else{var m=p+u>>1,f=s[2*m],v=s[2*m+1];f>=e&&f<=n&&v>=t&&v<=r&&l.push(o[m]),(0===c?e<=f:t<=v)&&(a.push(p),a.push(m-1),a.push(1-c)),(0===c?n>=f:r>=v)&&(a.push(m+1),a.push(u),a.push(1-c))}}return l}within(e,t,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var{ids:r,coords:o,nodeSize:s}=this,i=[0,r.length-1,0],a=[],l=n*n;i.length;){var c=i.pop()||0,u=i.pop()||0,p=i.pop()||0;if(u-p<=s)for(var d=p;d<=u;d++)Ge(o[2*d],o[2*d+1],e,t)<=l&&a.push(r[d]);else{var h=p+u>>1,g=o[2*h],m=o[2*h+1];Ge(g,m,e,t)<=l&&a.push(r[h]),(0===c?e-n<=g:t-n<=m)&&(i.push(p),i.push(h-1),i.push(1-c)),(0===c?e+n>=g:t+n>=m)&&(i.push(h+1),i.push(u),i.push(1-c))}}return a}}function Ne(e,t,n,r,o,s){if(!(o-r<=n)){var i=r+o>>1;ze(e,t,i,r,o,s),Ne(e,t,n,r,i-1,1-s),Ne(e,t,n,i+1,o,1-s)}}function ze(e,t,n,r,o,s){for(;o>r;){if(o-r>600){var i=o-r+1,a=n-r+1,l=Math.log(i),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(i-c)/i)*(a-i/2<0?-1:1);ze(e,t,n,Math.max(r,Math.floor(n-a*c/i+u)),Math.min(o,Math.floor(n+(i-a)*c/i+u)),s)}var p=t[2*n+s],d=r,h=o;for(Je(e,t,r,n),t[2*o+s]>p&&Je(e,t,r,o);d<h;){for(Je(e,t,d,h),d++,h--;t[2*d+s]<p;)d++;for(;t[2*h+s]>p;)h--}t[2*r+s]===p?Je(e,t,r,h):Je(e,t,++h,o),h<=n&&(r=h+1),n<=h&&(o=h-1)}}function Je(e,t,n,r){Fe(e,n,r),Fe(t,2*n,2*r),Fe(t,2*n+1,2*r+1)}function Fe(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function Ge(e,t,n,r){var o=e-n,s=t-r;return o*o+s*s}var Ve,$e={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},Ze=Math.fround||(Ve=new Float32Array(1),e=>(Ve[0]=+e,Ve[0]));class qe{constructor(e){this.options=Object.assign(Object.create($e),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){var{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time("total time");var o="prepare ".concat(e.length," points");t&&console.time(o),this.points=e;for(var s=[],i=0;i<e.length;i++){var a=e[i];if(a.geometry){var[l,c]=a.geometry.coordinates,u=Ze(Qe(l)),p=Ze(et(c));s.push(u,p,1/0,i,-1,1),this.options.reduce&&s.push(0)}}var d=this.trees[r+1]=this._createTree(s);t&&console.timeEnd(o);for(var h=r;h>=n;h--){var g=+Date.now();d=this.trees[h]=this._createTree(this._cluster(d,h)),t&&console.log("z%d: %d clusters in %dms",h,d.numItems,+Date.now()-g)}return t&&console.timeEnd("total time"),this}getClusters(e,t){var n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),o=180===e[2]?180:((e[2]+180)%360+360)%360-180,s=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,o=180;else if(n>o){var i=this.getClusters([n,r,180,s],t),a=this.getClusters([-180,r,o,s],t);return i.concat(a)}var l=this.trees[this._limitZoom(t)],c=l.range(Qe(n),et(s),Qe(o),et(r)),u=l.data,p=[];for(var d of c){var h=this.stride*d;p.push(u[h+5]>1?Ye(u,h,this.clusterProps):this.points[u[h+3]])}return p}getChildren(e){var t=this._getOriginId(e),n=this._getOriginZoom(e),r="No cluster with the specified id.",o=this.trees[n];if(!o)throw new Error(r);var s=o.data;if(t*this.stride>=s.length)throw new Error(r);var i=this.options.radius/(this.options.extent*Math.pow(2,n-1)),a=s[t*this.stride],l=s[t*this.stride+1],c=o.within(a,l,i),u=[];for(var p of c){var d=p*this.stride;s[d+4]===e&&u.push(s[d+5]>1?Ye(s,d,this.clusterProps):this.points[s[d+3]])}if(0===u.length)throw new Error(r);return u}getLeaves(e,t,n){t=t||10,n=n||0;var r=[];return this._appendLeaves(r,e,t,n,0),r}getTile(e,t,n){var r=this.trees[this._limitZoom(e)],o=Math.pow(2,e),{extent:s,radius:i}=this.options,a=i/s,l=(n-a)/o,c=(n+1+a)/o,u={features:[]};return this._addTileFeatures(r.range((t-a)/o,l,(t+1+a)/o,c),r.data,t,n,o,u),0===t&&this._addTileFeatures(r.range(1-a/o,l,1,c),r.data,o,n,o,u),t===o-1&&this._addTileFeatures(r.range(0,l,a/o,c),r.data,-1,n,o,u),u.features.length?u:null}getClusterExpansionZoom(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var n=this.getChildren(e);if(t++,1!==n.length)break;e=n[0].properties.cluster_id}return t}_appendLeaves(e,t,n,r,o){var s=this.getChildren(t);for(var i of s){var a=i.properties;if(a&&a.cluster?o+a.point_count<=r?o+=a.point_count:o=this._appendLeaves(e,a.cluster_id,n,r,o):o<r?o++:e.push(i),e.length===n)break}return o}_createTree(e){for(var t=new Ke(e.length/this.stride|0,this.options.nodeSize,Float32Array),n=0;n<e.length;n+=this.stride)t.add(e[n],e[n+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,n,r,o,s){for(var i of e){var a=i*this.stride,l=t[a+5]>1,c=void 0,u=void 0,p=void 0;if(l)c=Xe(t,a,this.clusterProps),u=t[a],p=t[a+1];else{var d=this.points[t[a+3]];c=d.properties;var[h,g]=d.geometry.coordinates;u=Qe(h),p=et(g)}var m,f={type:1,geometry:[[Math.round(this.options.extent*(u*o-n)),Math.round(this.options.extent*(p*o-r))]],tags:c};void 0!==(m=l||this.options.generateId?t[a+3]:this.points[t[a+3]].id)&&(f.id=m),s.features.push(f)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){for(var{radius:n,extent:r,reduce:o,minPoints:s}=this.options,i=n/(r*Math.pow(2,t)),a=e.data,l=[],c=this.stride,u=0;u<a.length;u+=c)if(!(a[u+2]<=t)){a[u+2]=t;var p=a[u],d=a[u+1],h=e.within(a[u],a[u+1],i),g=a[u+5],m=g;for(var f of h){var v=f*c;a[v+2]>t&&(m+=a[v+5])}if(m>g&&m>=s){var y=p*g,w=d*g,b=void 0,E=-1,S=(u/c<<5)+(t+1)+this.points.length;for(var C of h){var L=C*c;if(!(a[L+2]<=t)){a[L+2]=t;var P=a[L+5];y+=a[L]*P,w+=a[L+1]*P,a[L+4]=S,o&&(b||(b=this._map(a,u,!0),E=this.clusterProps.length,this.clusterProps.push(b)),o(b,this._map(a,L)))}}a[u+4]=S,l.push(y/m,w/m,1/0,S,-1,m),o&&l.push(E)}else{for(var k=0;k<c;k++)l.push(a[u+k]);if(m>1)for(var O of h){var x=O*c;if(!(a[x+2]<=t)){a[x+2]=t;for(var M=0;M<c;M++)l.push(a[x+M])}}}}return l}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,n){if(e[t+5]>1){var r=this.clusterProps[e[t+6]];return n?Object.assign({},r):r}var o=this.points[e[t+3]].properties,s=this.options.map(o);return n&&s===o?Object.assign({},s):s}}function Ye(e,t,n){return{type:"Feature",id:e[t+3],properties:Xe(e,t,n),geometry:{type:"Point",coordinates:[(s=e[t],360*(s-.5)),(r=e[t+1],o=(180-360*r)*Math.PI/180,360*Math.atan(Math.exp(o))/Math.PI-90)]}};var r,o,s}function Xe(e,t,n){var r=e[t+5],o=r>=1e4?"".concat(Math.round(r/1e3),"k"):r>=1e3?"".concat(Math.round(r/100)/10,"k"):r,s=e[t+6],i=-1===s?{}:Object.assign({},n[s]);return Object.assign(i,{cluster:!0,cluster_id:e[t+3],point_count:r,point_count_abbreviated:o})}function Qe(e){return e/360+.5}function et(e){var t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function tt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}class nt{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()}}class rt{constructor(e){var{markers:t,position:n}=e;this.markers=t,n&&(n instanceof google.maps.LatLng?this._position=n:this._position=new google.maps.LatLng(n))}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(nt.getPosition(t));return e}}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>nt.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(nt.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}var ot=(e,t,n,r)=>{var o=st(e.getBounds(),t,r);return n.filter(e=>o.contains(nt.getPosition(e)))},st=(e,t,n)=>{var{northEast:r,southWest:o}=lt(e,t),s=ct({northEast:r,southWest:o},n);return ut(s,t)},it=(e,t,n)=>{var r=st(e,t,n),o=r.getNorthEast(),s=r.getSouthWest();return[s.lng(),s.lat(),o.lng(),o.lat()]},at=(e,t)=>{var n=(t.lat-e.lat)*Math.PI/180,r=(t.lng-e.lng)*Math.PI/180,o=Math.sin(n/2),s=Math.sin(r/2),i=o*o+Math.cos(e.lat*Math.PI/180)*Math.cos(t.lat*Math.PI/180)*s*s;return 2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))*6371},lt=(e,t)=>({northEast:t.fromLatLngToDivPixel(e.getNorthEast()),southWest:t.fromLatLngToDivPixel(e.getSouthWest())}),ct=(e,t)=>{var{northEast:n,southWest:r}=e;return n.x+=t,n.y-=t,r.x-=t,r.y+=t,{northEast:n,southWest:r}},ut=(e,t)=>{var{northEast:n,southWest:r}=e,o=t.fromDivPixelToLatLng(r),s=t.fromDivPixelToLatLng(n);return new google.maps.LatLngBounds(o,s)};class pt{constructor(e){var{maxZoom:t=16}=e;this.maxZoom=t}noop(e){var{markers:t}=e;return gt(t)}}class dt extends pt{constructor(e){var{viewportPadding:t=60}=e;super(tt(e,["viewportPadding"])),this.viewportPadding=60,this.viewportPadding=t}calculate(e){var{markers:t,map:n,mapCanvasProjection:r}=e;return n.getZoom()>=this.maxZoom?{clusters:this.noop({markers:t}),changed:!1}:{clusters:this.cluster({markers:ot(n,r,t,this.viewportPadding),map:n,mapCanvasProjection:r})}}}var ht,gt=e=>e.map(e=>new rt({position:nt.getPosition(e),markers:[e]}));class mt extends pt{constructor(e){var{maxZoom:t,radius:n=60}=e,r=tt(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new qe(Object.assign({maxZoom:this.maxZoom,radius:n},r))}calculate(e){var t=!1,n={zoom:e.map.getZoom()};if(!Be(e.markers,this.markers)){t=!0,this.markers=[...e.markers];var r=this.markers.map(e=>{var t=nt.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(r)}return t||(this.state.zoom<=this.maxZoom||n.zoom<=this.maxZoom)&&(t=!Be(this.state,n)),this.state=n,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,n]},properties:r}=e;if(r.cluster)return new rt({markers:this.superCluster.getLeaves(r.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:n,lng:t}});var o=r.marker;return new rt({markers:[o],position:nt.getPosition(o)})}}class ft{constructor(e,t){this.markers={sum:e.length};var n=t.map(e=>e.count),r=n.reduce((e,t)=>e+t,0);this.clusters={count:t.length,markers:{mean:r/t.length,sum:r,min:Math.min(...n),max:Math.max(...n)}}}}class vt{render(e,t,n){var{count:r,position:o}=e,s=r>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff",i='<svg fill="'.concat(s,'" 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(r,"</text>\n</svg>"),a="Cluster of ".concat(r," markers"),l=Number(google.maps.Marker.MAX_ZINDEX)+r;if(nt.isAdvancedMarkerAvailable(n)){var c=(new DOMParser).parseFromString(i,"image/svg+xml").documentElement;c.setAttribute("transform","translate(0 25)");var u={map:n,position:o,zIndex:l,title:a,content:c};return new google.maps.marker.AdvancedMarkerElement(u)}var p={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(p)}}class yt{constructor(){!function(e,t){for(var n in t.prototype)e.prototype[n]=t.prototype[n]}(yt,google.maps.OverlayView)}}!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(ht||(ht={}));var wt=(e,t,n)=>{n.fitBounds(t.bounds)};class bt extends yt{constructor(e){var{map:t,markers:n=[],algorithmOptions:r={},algorithm:o=new mt(r),renderer:s=new vt,onClusterClick:i=wt}=e;super(),this.markers=[...n],this.clusters=[],this.algorithm=o,this.renderer=s,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 n=this.markers.indexOf(e);return-1!==n&&(nt.setMap(e,null),this.markers.splice(n,1),t||this.render(),!0)}removeMarkers(e,t){var n=!1;return e.forEach(e=>{n=this.removeMarker(e,!0)||n}),n&&!t&&this.render(),n}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,ht.CLUSTERING_BEGIN,this);var{clusters:t,changed:n}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(n||null==n){var r=new Set;for(var o of t)1==o.markers.length&&r.add(o.markers[0]);var s=[];for(var i of this.clusters)null!=i.marker&&(1==i.markers.length?r.has(i.marker)||nt.setMap(i.marker,null):s.push(i.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame(()=>s.forEach(e=>nt.setMap(e,null)))}google.maps.event.trigger(this,ht.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=>nt.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){var e=new ft(this.markers,this.clusters),t=this.getMap();this.clusters.forEach(n=>{1===n.markers.length?n.marker=n.markers[0]:(n.marker=this.renderer.render(n,e,t),n.markers.forEach(e=>nt.setMap(e,null)),this.onClusterClick&&n.marker.addListener("click",e=>{google.maps.event.trigger(this,ht.CLUSTER_CLICK,n),this.onClusterClick(e,n,t)})),nt.setMap(n.marker,t)})}}var Et=Object.freeze({__proto__:null,AbstractAlgorithm:pt,AbstractViewportAlgorithm:dt,Cluster:rt,ClusterStats:ft,DefaultRenderer:vt,GridAlgorithm:class extends dt{constructor(e){var{maxDistance:t=4e4,gridSize:n=40}=e;super(tt(e,["maxDistance","gridSize"])),this.clusters=[],this.state={zoom:-1},this.maxDistance=t,this.gridSize=n}calculate(e){var{markers:t,map:n,mapCanvasProjection:r}=e,o={zoom:n.getZoom()},s=!1;return this.state.zoom>=this.maxZoom&&o.zoom>=this.maxZoom||(s=!Be(this.state,o)),this.state=o,n.getZoom()>=this.maxZoom?{clusters:this.noop({markers:t}),changed:s}:{clusters:this.cluster({markers:ot(n,r,t,this.viewportPadding),map:n,mapCanvasProjection:r})}}cluster(e){var{markers:t,map:n,mapCanvasProjection:r}=e;return this.clusters=[],t.forEach(e=>{this.addToClosestCluster(e,n,r)}),this.clusters}addToClosestCluster(e,t,n){for(var r=this.maxDistance,o=null,s=0;s<this.clusters.length;s++){var i=this.clusters[s],a=at(i.bounds.getCenter().toJSON(),nt.getPosition(e).toJSON());a<r&&(r=a,o=i)}if(o&&st(o.bounds,n,this.gridSize).contains(nt.getPosition(e)))o.push(e);else{var l=new rt({markers:[e]});this.clusters.push(l)}}},MarkerClusterer:bt,get MarkerClustererEvents(){return ht},MarkerUtils:nt,NoopAlgorithm:class extends pt{constructor(e){super(tt(e,[]))}calculate(e){var{markers:t,map:n,mapCanvasProjection:r}=e;return{clusters:this.cluster({markers:t,map:n,mapCanvasProjection:r}),changed:!1}}cluster(e){return this.noop(e)}},SuperClusterAlgorithm:mt,SuperClusterViewportAlgorithm:class extends dt{constructor(e){var{maxZoom:t,radius:n=60,viewportPadding:r=60}=e,o=tt(e,["maxZoom","radius","viewportPadding"]);super({maxZoom:t,viewportPadding:r}),this.superCluster=new qe(Object.assign({maxZoom:this.maxZoom,radius:n},o)),this.state={zoom:-1,view:[0,0,0,0]}}calculate(e){var t={zoom:Math.round(e.map.getZoom()),view:it(e.map.getBounds(),e.mapCanvasProjection,this.viewportPadding)},n=!Be(this.state,t);if(!Be(e.markers,this.markers)){n=!0,this.markers=[...e.markers];var r=this.markers.map(e=>{var t=nt.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}});this.superCluster.load(r)}return n&&(this.clusters=this.cluster(e),this.state=t),{clusters:this.clusters,changed:n}}cluster(e){var{map:t,mapCanvasProjection:n}=e,r={zoom:Math.round(t.getZoom()),view:it(t.getBounds(),n,this.viewportPadding)};return this.superCluster.getClusters(r.view,r.zoom).map(e=>this.transformCluster(e))}transformCluster(e){var{geometry:{coordinates:[t,n]},properties:r}=e;if(r.cluster)return new rt({markers:this.superCluster.getLeaves(r.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:n,lng:t}});var o=r.marker;return new rt({markers:[o],position:nt.getPosition(o)})}},defaultOnClusterClickHandler:wt,distanceBetweenPoints:at,extendBoundsToPaddedViewport:st,extendPixelBounds:ct,filterMarkersToPaddedViewport:ot,getPaddedViewport:it,noop:gt,pixelBoundsToLatLngBounds:ut});function St(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?St(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):St(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Lt=(0,i.memo)(function(e){var{children:t,options:n}=e,r=function(e){var t=h(),[n,r]=(0,i.useState)(null);return(0,i.useEffect)(()=>{if(t&&null===n){var o=new bt(Ct(Ct({},e),{},{map:t}));r(o)}},[t]),n}(n);return null!==r?t(r):null}),Pt={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},kt={options(e,t){e.setOptions(t)},position(e,t){e.setPosition(t)},zIndex(e,t){e.setZIndex(t)}},Ot=(0,i.memo)(function(e){var{children:t,anchor:n,options:r,position:o,zIndex:s,onCloseClick:l,onDomReady:c,onContentChanged:u,onPositionChanged:h,onZindexChanged:g,onLoad:m,onUnmount:f}=e,v=(0,i.useContext)(d),[y,w]=(0,i.useState)(null),[b,E]=(0,i.useState)(null),[S,C]=(0,i.useState)(null),[L,P]=(0,i.useState)(null),[k,O]=(0,i.useState)(null),[x,M]=(0,i.useState)(null),A=(0,i.useRef)(null);return(0,i.useEffect)(()=>{null!==y&&(y.close(),n?y.open(v,n):y.getPosition()&&y.open(v))},[v,y,n]),(0,i.useEffect)(()=>{r&&null!==y&&y.setOptions(r)},[y,r]),(0,i.useEffect)(()=>{o&&null!==y&&y.setPosition(o)},[o]),(0,i.useEffect)(()=>{"number"==typeof s&&null!==y&&y.setZIndex(s)},[s]),(0,i.useEffect)(()=>{y&&l&&(null!==b&&google.maps.event.removeListener(b),E(google.maps.event.addListener(y,"closeclick",l)))},[l]),(0,i.useEffect)(()=>{y&&c&&(null!==S&&google.maps.event.removeListener(S),C(google.maps.event.addListener(y,"domready",c)))},[c]),(0,i.useEffect)(()=>{y&&u&&(null!==L&&google.maps.event.removeListener(L),P(google.maps.event.addListener(y,"content_changed",u)))},[u]),(0,i.useEffect)(()=>{y&&h&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(y,"position_changed",h)))},[h]),(0,i.useEffect)(()=>{y&&g&&(null!==x&&google.maps.event.removeListener(x),M(google.maps.event.addListener(y,"zindex_changed",g)))},[g]),(0,i.useEffect)(()=>{var e=new google.maps.InfoWindow(r);return w(e),A.current=document.createElement("div"),l&&E(google.maps.event.addListener(e,"closeclick",l)),c&&C(google.maps.event.addListener(e,"domready",c)),u&&P(google.maps.event.addListener(e,"content_changed",u)),h&&O(google.maps.event.addListener(e,"position_changed",h)),g&&M(google.maps.event.addListener(e,"zindex_changed",g)),e.setContent(A.current),o&&e.setPosition(o),s&&e.setZIndex(s),n?e.open(v,n):e.getPosition()?e.open(v):p(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),m&&m(e),()=>{b&&google.maps.event.removeListener(b),L&&google.maps.event.removeListener(L),S&&google.maps.event.removeListener(S),k&&google.maps.event.removeListener(k),x&&google.maps.event.removeListener(x),f&&f(e),e.close()}},[]),A.current?(0,a.createPortal)(i.Children.only(t),A.current):null});class xt extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"containerElement",null),c(this,"state",{infoWindow:null}),c(this,"open",(e,t)=>{t?e.open(this.context,t):e.getPosition()?e.open(this.context):p(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")}),c(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=f({updaterMap:kt,eventMap:Pt,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({infoWindow:e}),this.setInfoWindowCallback)}componentDidUpdate(e){null!==this.state.infoWindow&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:kt,eventMap:Pt,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))}componentWillUnmount(){null!==this.state.infoWindow&&(m(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())}render(){return this.containerElement?(0,a.createPortal)(i.Children.only(this.props.children),this.containerElement):null}}function Mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function At(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mt(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(xt,"contextType",d);var _t={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Rt={draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},path(e,t){e.setPath(t)},visible(e,t){e.setVisible(t)}},Dt={},Tt=(0,i.memo)(function(e){var{options:t,draggable:n,editable:r,visible:o,path:s,onDblClick:a,onDragEnd:l,onDragStart:c,onMouseDown:u,onMouseMove:p,onMouseOut:h,onMouseOver:g,onMouseUp:m,onRightClick:f,onClick:v,onDrag:y,onLoad:w,onUnmount:b}=e,E=(0,i.useContext)(d),[S,C]=(0,i.useState)(null),[L,P]=(0,i.useState)(null),[k,O]=(0,i.useState)(null),[x,M]=(0,i.useState)(null),[A,_]=(0,i.useState)(null),[R,D]=(0,i.useState)(null),[T,j]=(0,i.useState)(null),[I,H]=(0,i.useState)(null),[U,B]=(0,i.useState)(null),[W,K]=(0,i.useState)(null),[N,z]=(0,i.useState)(null),[J,F]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==S&&S.setMap(E)},[E]),(0,i.useEffect)(()=>{void 0!==t&&null!==S&&S.setOptions(t)},[S,t]),(0,i.useEffect)(()=>{void 0!==n&&null!==S&&S.setDraggable(n)},[S,n]),(0,i.useEffect)(()=>{void 0!==r&&null!==S&&S.setEditable(r)},[S,r]),(0,i.useEffect)(()=>{void 0!==o&&null!==S&&S.setVisible(o)},[S,o]),(0,i.useEffect)(()=>{void 0!==s&&null!==S&&S.setPath(s)},[S,s]),(0,i.useEffect)(()=>{S&&a&&(null!==L&&google.maps.event.removeListener(L),P(google.maps.event.addListener(S,"dblclick",a)))},[a]),(0,i.useEffect)(()=>{S&&l&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(S,"dragend",l)))},[l]),(0,i.useEffect)(()=>{S&&c&&(null!==x&&google.maps.event.removeListener(x),M(google.maps.event.addListener(S,"dragstart",c)))},[c]),(0,i.useEffect)(()=>{S&&u&&(null!==A&&google.maps.event.removeListener(A),_(google.maps.event.addListener(S,"mousedown",u)))},[u]),(0,i.useEffect)(()=>{S&&p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(S,"mousemove",p)))},[p]),(0,i.useEffect)(()=>{S&&h&&(null!==T&&google.maps.event.removeListener(T),j(google.maps.event.addListener(S,"mouseout",h)))},[h]),(0,i.useEffect)(()=>{S&&g&&(null!==I&&google.maps.event.removeListener(I),H(google.maps.event.addListener(S,"mouseover",g)))},[g]),(0,i.useEffect)(()=>{S&&m&&(null!==U&&google.maps.event.removeListener(U),B(google.maps.event.addListener(S,"mouseup",m)))},[m]),(0,i.useEffect)(()=>{S&&f&&(null!==W&&google.maps.event.removeListener(W),K(google.maps.event.addListener(S,"rightclick",f)))},[f]),(0,i.useEffect)(()=>{S&&v&&(null!==N&&google.maps.event.removeListener(N),z(google.maps.event.addListener(S,"click",v)))},[v]),(0,i.useEffect)(()=>{S&&y&&(null!==J&&google.maps.event.removeListener(J),F(google.maps.event.addListener(S,"drag",y)))},[y]),(0,i.useEffect)(()=>{var e=new google.maps.Polyline(At(At({},t||Dt),{},{map:E}));return s&&e.setPath(s),void 0!==o&&e.setVisible(o),void 0!==r&&e.setEditable(r),void 0!==n&&e.setDraggable(n),a&&P(google.maps.event.addListener(e,"dblclick",a)),l&&O(google.maps.event.addListener(e,"dragend",l)),c&&M(google.maps.event.addListener(e,"dragstart",c)),u&&_(google.maps.event.addListener(e,"mousedown",u)),p&&D(google.maps.event.addListener(e,"mousemove",p)),h&&j(google.maps.event.addListener(e,"mouseout",h)),g&&H(google.maps.event.addListener(e,"mouseover",g)),m&&B(google.maps.event.addListener(e,"mouseup",m)),f&&K(google.maps.event.addListener(e,"rightclick",f)),v&&z(google.maps.event.addListener(e,"click",v)),y&&F(google.maps.event.addListener(e,"drag",y)),C(e),w&&w(e),()=>{null!==L&&google.maps.event.removeListener(L),null!==k&&google.maps.event.removeListener(k),null!==x&&google.maps.event.removeListener(x),null!==A&&google.maps.event.removeListener(A),null!==R&&google.maps.event.removeListener(R),null!==T&&google.maps.event.removeListener(T),null!==I&&google.maps.event.removeListener(I),null!==U&&google.maps.event.removeListener(U),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),b&&b(e),e.setMap(null)}},[]),null});class jt extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{polyline:null}),c(this,"setPolylineCallback",()=>{null!==this.state.polyline&&this.props.onLoad&&this.props.onLoad(this.state.polyline)})}componentDidMount(){var e=new google.maps.Polyline(At(At({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:Rt,eventMap:_t,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{polyline:e}},this.setPolylineCallback)}componentDidUpdate(e){null!==this.state.polyline&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Rt,eventMap:_t,prevProps:e,nextProps:this.props,instance:this.state.polyline}))}componentWillUnmount(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),m(this.registeredEvents),this.state.polyline.setMap(null))}render(){return null}}function It(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ht(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?It(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):It(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(jt,"contextType",d);var Ut={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Bt={draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},path(e,t){e.setPath(t)},paths(e,t){e.setPaths(t)},visible(e,t){e.setVisible(t)}},Wt=(0,i.memo)(function(e){var{options:t,draggable:n,editable:r,visible:o,path:s,paths:a,onDblClick:l,onDragEnd:c,onDragStart:u,onMouseDown:p,onMouseMove:h,onMouseOut:g,onMouseOver:m,onMouseUp:f,onRightClick:v,onClick:y,onDrag:w,onLoad:b,onUnmount:E,onEdit:S}=e,C=(0,i.useContext)(d),[L,P]=(0,i.useState)(null),[k,O]=(0,i.useState)(null),[x,M]=(0,i.useState)(null),[A,_]=(0,i.useState)(null),[R,D]=(0,i.useState)(null),[T,j]=(0,i.useState)(null),[I,H]=(0,i.useState)(null),[U,B]=(0,i.useState)(null),[W,K]=(0,i.useState)(null),[N,z]=(0,i.useState)(null),[J,F]=(0,i.useState)(null),[G,V]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==L&&L.setMap(C)},[C]),(0,i.useEffect)(()=>{void 0!==t&&null!==L&&L.setOptions(t)},[L,t]),(0,i.useEffect)(()=>{void 0!==n&&null!==L&&L.setDraggable(n)},[L,n]),(0,i.useEffect)(()=>{void 0!==r&&null!==L&&L.setEditable(r)},[L,r]),(0,i.useEffect)(()=>{void 0!==o&&null!==L&&L.setVisible(o)},[L,o]),(0,i.useEffect)(()=>{void 0!==s&&null!==L&&L.setPath(s)},[L,s]),(0,i.useEffect)(()=>{void 0!==a&&null!==L&&L.setPaths(a)},[L,a]),(0,i.useEffect)(()=>{L&&"function"==typeof l&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(L,"dblclick",l)))},[l]),(0,i.useEffect)(()=>{L&&(google.maps.event.addListener(L.getPath(),"insert_at",()=>{null==S||S(L)}),google.maps.event.addListener(L.getPath(),"set_at",()=>{null==S||S(L)}),google.maps.event.addListener(L.getPath(),"remove_at",()=>{null==S||S(L)}))},[L,S]),(0,i.useEffect)(()=>{L&&"function"==typeof c&&(null!==x&&google.maps.event.removeListener(x),M(google.maps.event.addListener(L,"dragend",c)))},[c]),(0,i.useEffect)(()=>{L&&"function"==typeof u&&(null!==A&&google.maps.event.removeListener(A),_(google.maps.event.addListener(L,"dragstart",u)))},[u]),(0,i.useEffect)(()=>{L&&"function"==typeof p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(L,"mousedown",p)))},[p]),(0,i.useEffect)(()=>{L&&"function"==typeof h&&(null!==T&&google.maps.event.removeListener(T),j(google.maps.event.addListener(L,"mousemove",h)))},[h]),(0,i.useEffect)(()=>{L&&"function"==typeof g&&(null!==I&&google.maps.event.removeListener(I),H(google.maps.event.addListener(L,"mouseout",g)))},[g]),(0,i.useEffect)(()=>{L&&"function"==typeof m&&(null!==U&&google.maps.event.removeListener(U),B(google.maps.event.addListener(L,"mouseover",m)))},[m]),(0,i.useEffect)(()=>{L&&"function"==typeof f&&(null!==W&&google.maps.event.removeListener(W),K(google.maps.event.addListener(L,"mouseup",f)))},[f]),(0,i.useEffect)(()=>{L&&"function"==typeof v&&(null!==N&&google.maps.event.removeListener(N),z(google.maps.event.addListener(L,"rightclick",v)))},[v]),(0,i.useEffect)(()=>{L&&"function"==typeof y&&(null!==J&&google.maps.event.removeListener(J),F(google.maps.event.addListener(L,"click",y)))},[y]),(0,i.useEffect)(()=>{L&&"function"==typeof w&&(null!==G&&google.maps.event.removeListener(G),V(google.maps.event.addListener(L,"drag",w)))},[w]),(0,i.useEffect)(()=>{var e=new google.maps.Polygon(Ht(Ht({},t),{},{map:C}));return s&&e.setPath(s),a&&e.setPaths(a),void 0!==o&&e.setVisible(o),void 0!==r&&e.setEditable(r),void 0!==n&&e.setDraggable(n),l&&O(google.maps.event.addListener(e,"dblclick",l)),c&&M(google.maps.event.addListener(e,"dragend",c)),u&&_(google.maps.event.addListener(e,"dragstart",u)),p&&D(google.maps.event.addListener(e,"mousedown",p)),h&&j(google.maps.event.addListener(e,"mousemove",h)),g&&H(google.maps.event.addListener(e,"mouseout",g)),m&&B(google.maps.event.addListener(e,"mouseover",m)),f&&K(google.maps.event.addListener(e,"mouseup",f)),v&&z(google.maps.event.addListener(e,"rightclick",v)),y&&F(google.maps.event.addListener(e,"click",y)),w&&V(google.maps.event.addListener(e,"drag",w)),P(e),b&&b(e),()=>{null!==k&&google.maps.event.removeListener(k),null!==x&&google.maps.event.removeListener(x),null!==A&&google.maps.event.removeListener(A),null!==R&&google.maps.event.removeListener(R),null!==T&&google.maps.event.removeListener(T),null!==I&&google.maps.event.removeListener(I),null!==U&&google.maps.event.removeListener(U),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),null!==J&&google.maps.event.removeListener(J),E&&E(e),e.setMap(null)}},[]),null});class Kt extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[])}componentDidMount(){var e=this.props.options||{};this.polygon=new google.maps.Polygon(e),this.polygon.setMap(this.context),this.registeredEvents=f({updaterMap:Bt,eventMap:Ut,prevProps:{},nextProps:this.props,instance:this.polygon}),this.props.onLoad&&this.props.onLoad(this.polygon)}componentDidUpdate(e){this.polygon&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Bt,eventMap:Ut,prevProps:e,nextProps:this.props,instance:this.polygon}))}componentWillUnmount(){this.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.polygon),m(this.registeredEvents),this.polygon&&this.polygon.setMap(null))}render(){return null}}function Nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nt(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(Kt,"contextType",d);var Jt={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Ft={bounds(e,t){e.setBounds(t)},draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},visible(e,t){e.setVisible(t)}},Gt=(0,i.memo)(function(e){var{options:t,bounds:n,draggable:r,editable:o,visible:s,onDblClick:a,onDragEnd:l,onDragStart:c,onMouseDown:u,onMouseMove:p,onMouseOut:h,onMouseOver:g,onMouseUp:m,onRightClick:f,onClick:v,onDrag:y,onBoundsChanged:w,onLoad:b,onUnmount:E}=e,S=(0,i.useContext)(d),[C,L]=(0,i.useState)(null),[P,k]=(0,i.useState)(null),[O,x]=(0,i.useState)(null),[M,A]=(0,i.useState)(null),[_,R]=(0,i.useState)(null),[D,T]=(0,i.useState)(null),[j,I]=(0,i.useState)(null),[H,U]=(0,i.useState)(null),[B,W]=(0,i.useState)(null),[K,N]=(0,i.useState)(null),[z,J]=(0,i.useState)(null),[F,G]=(0,i.useState)(null),[V,$]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==C&&C.setMap(S)},[S]),(0,i.useEffect)(()=>{void 0!==t&&null!==C&&C.setOptions(t)},[C,t]),(0,i.useEffect)(()=>{void 0!==r&&null!==C&&C.setDraggable(r)},[C,r]),(0,i.useEffect)(()=>{void 0!==o&&null!==C&&C.setEditable(o)},[C,o]),(0,i.useEffect)(()=>{void 0!==s&&null!==C&&C.setVisible(s)},[C,s]),(0,i.useEffect)(()=>{void 0!==n&&null!==C&&C.setBounds(n)},[C,n]),(0,i.useEffect)(()=>{C&&a&&(null!==P&&google.maps.event.removeListener(P),k(google.maps.event.addListener(C,"dblclick",a)))},[a]),(0,i.useEffect)(()=>{C&&l&&(null!==O&&google.maps.event.removeListener(O),x(google.maps.event.addListener(C,"dragend",l)))},[l]),(0,i.useEffect)(()=>{C&&c&&(null!==M&&google.maps.event.removeListener(M),A(google.maps.event.addListener(C,"dragstart",c)))},[c]),(0,i.useEffect)(()=>{C&&u&&(null!==_&&google.maps.event.removeListener(_),R(google.maps.event.addListener(C,"mousedown",u)))},[u]),(0,i.useEffect)(()=>{C&&p&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(C,"mousemove",p)))},[p]),(0,i.useEffect)(()=>{C&&h&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(C,"mouseout",h)))},[h]),(0,i.useEffect)(()=>{C&&g&&(null!==H&&google.maps.event.removeListener(H),U(google.maps.event.addListener(C,"mouseover",g)))},[g]),(0,i.useEffect)(()=>{C&&m&&(null!==B&&google.maps.event.removeListener(B),W(google.maps.event.addListener(C,"mouseup",m)))},[m]),(0,i.useEffect)(()=>{C&&f&&(null!==K&&google.maps.event.removeListener(K),N(google.maps.event.addListener(C,"rightclick",f)))},[f]),(0,i.useEffect)(()=>{C&&v&&(null!==z&&google.maps.event.removeListener(z),J(google.maps.event.addListener(C,"click",v)))},[v]),(0,i.useEffect)(()=>{C&&y&&(null!==F&&google.maps.event.removeListener(F),G(google.maps.event.addListener(C,"drag",y)))},[y]),(0,i.useEffect)(()=>{C&&w&&(null!==V&&google.maps.event.removeListener(V),$(google.maps.event.addListener(C,"bounds_changed",w)))},[w]),(0,i.useEffect)(()=>{var e=new google.maps.Rectangle(zt(zt({},t),{},{map:S}));return void 0!==s&&e.setVisible(s),void 0!==o&&e.setEditable(o),void 0!==r&&e.setDraggable(r),void 0!==n&&e.setBounds(n),a&&k(google.maps.event.addListener(e,"dblclick",a)),l&&x(google.maps.event.addListener(e,"dragend",l)),c&&A(google.maps.event.addListener(e,"dragstart",c)),u&&R(google.maps.event.addListener(e,"mousedown",u)),p&&T(google.maps.event.addListener(e,"mousemove",p)),h&&I(google.maps.event.addListener(e,"mouseout",h)),g&&U(google.maps.event.addListener(e,"mouseover",g)),m&&W(google.maps.event.addListener(e,"mouseup",m)),f&&N(google.maps.event.addListener(e,"rightclick",f)),v&&J(google.maps.event.addListener(e,"click",v)),y&&G(google.maps.event.addListener(e,"drag",y)),w&&$(google.maps.event.addListener(e,"bounds_changed",w)),L(e),b&&b(e),()=>{null!==P&&google.maps.event.removeListener(P),null!==O&&google.maps.event.removeListener(O),null!==M&&google.maps.event.removeListener(M),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==B&&google.maps.event.removeListener(B),null!==K&&google.maps.event.removeListener(K),null!==z&&google.maps.event.removeListener(z),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),E&&E(e),e.setMap(null)}},[]),null});class Vt extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{rectangle:null}),c(this,"setRectangleCallback",()=>{null!==this.state.rectangle&&this.props.onLoad&&this.props.onLoad(this.state.rectangle)})}componentDidMount(){var e=new google.maps.Rectangle(zt(zt({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:Ft,eventMap:Jt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{rectangle:e}},this.setRectangleCallback)}componentDidUpdate(e){null!==this.state.rectangle&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Ft,eventMap:Jt,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))}componentWillUnmount(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),m(this.registeredEvents),this.state.rectangle.setMap(null))}render(){return null}}function $t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Zt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$t(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$t(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(Vt,"contextType",d);var qt={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Yt={center(e,t){e.setCenter(t)},draggable(e,t){e.setDraggable(t)},editable(e,t){e.setEditable(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)},radius(e,t){e.setRadius(t)},visible(e,t){e.setVisible(t)}},Xt={},Qt=(0,i.memo)(function(e){var{options:t,center:n,radius:r,draggable:o,editable:s,visible:a,onDblClick:l,onDragEnd:c,onDragStart:u,onMouseDown:p,onMouseMove:h,onMouseOut:g,onMouseOver:m,onMouseUp:f,onRightClick:v,onClick:y,onDrag:w,onCenterChanged:b,onRadiusChanged:E,onLoad:S,onUnmount:C}=e,L=(0,i.useContext)(d),[P,k]=(0,i.useState)(null),[O,x]=(0,i.useState)(null),[M,A]=(0,i.useState)(null),[_,R]=(0,i.useState)(null),[D,T]=(0,i.useState)(null),[j,I]=(0,i.useState)(null),[H,U]=(0,i.useState)(null),[B,W]=(0,i.useState)(null),[K,N]=(0,i.useState)(null),[z,J]=(0,i.useState)(null),[F,G]=(0,i.useState)(null),[V,$]=(0,i.useState)(null),[Z,q]=(0,i.useState)(null),[Y,X]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==P&&P.setMap(L)},[L]),(0,i.useEffect)(()=>{void 0!==t&&null!==P&&P.setOptions(t)},[P,t]),(0,i.useEffect)(()=>{void 0!==o&&null!==P&&P.setDraggable(o)},[P,o]),(0,i.useEffect)(()=>{void 0!==s&&null!==P&&P.setEditable(s)},[P,s]),(0,i.useEffect)(()=>{void 0!==a&&null!==P&&P.setVisible(a)},[P,a]),(0,i.useEffect)(()=>{"number"==typeof r&&null!==P&&P.setRadius(r)},[P,r]),(0,i.useEffect)(()=>{void 0!==n&&null!==P&&P.setCenter(n)},[P,n]),(0,i.useEffect)(()=>{P&&l&&(null!==O&&google.maps.event.removeListener(O),x(google.maps.event.addListener(P,"dblclick",l)))},[l]),(0,i.useEffect)(()=>{P&&c&&(null!==M&&google.maps.event.removeListener(M),A(google.maps.event.addListener(P,"dragend",c)))},[c]),(0,i.useEffect)(()=>{P&&u&&(null!==_&&google.maps.event.removeListener(_),R(google.maps.event.addListener(P,"dragstart",u)))},[u]),(0,i.useEffect)(()=>{P&&p&&(null!==D&&google.maps.event.removeListener(D),T(google.maps.event.addListener(P,"mousedown",p)))},[p]),(0,i.useEffect)(()=>{P&&h&&(null!==j&&google.maps.event.removeListener(j),I(google.maps.event.addListener(P,"mousemove",h)))},[h]),(0,i.useEffect)(()=>{P&&g&&(null!==H&&google.maps.event.removeListener(H),U(google.maps.event.addListener(P,"mouseout",g)))},[g]),(0,i.useEffect)(()=>{P&&m&&(null!==B&&google.maps.event.removeListener(B),W(google.maps.event.addListener(P,"mouseover",m)))},[m]),(0,i.useEffect)(()=>{P&&f&&(null!==K&&google.maps.event.removeListener(K),N(google.maps.event.addListener(P,"mouseup",f)))},[f]),(0,i.useEffect)(()=>{P&&v&&(null!==z&&google.maps.event.removeListener(z),J(google.maps.event.addListener(P,"rightclick",v)))},[v]),(0,i.useEffect)(()=>{P&&y&&(null!==F&&google.maps.event.removeListener(F),G(google.maps.event.addListener(P,"click",y)))},[y]),(0,i.useEffect)(()=>{P&&w&&(null!==V&&google.maps.event.removeListener(V),$(google.maps.event.addListener(P,"drag",w)))},[w]),(0,i.useEffect)(()=>{P&&b&&(null!==Z&&google.maps.event.removeListener(Z),q(google.maps.event.addListener(P,"center_changed",b)))},[y]),(0,i.useEffect)(()=>{P&&E&&(null!==Y&&google.maps.event.removeListener(Y),X(google.maps.event.addListener(P,"radius_changed",E)))},[E]),(0,i.useEffect)(()=>{var e=new google.maps.Circle(Zt(Zt({},t||Xt),{},{map:L}));return"number"==typeof r&&e.setRadius(r),void 0!==n&&e.setCenter(n),"number"==typeof r&&e.setRadius(r),void 0!==a&&e.setVisible(a),void 0!==s&&e.setEditable(s),void 0!==o&&e.setDraggable(o),l&&x(google.maps.event.addListener(e,"dblclick",l)),c&&A(google.maps.event.addListener(e,"dragend",c)),u&&R(google.maps.event.addListener(e,"dragstart",u)),p&&T(google.maps.event.addListener(e,"mousedown",p)),h&&I(google.maps.event.addListener(e,"mousemove",h)),g&&U(google.maps.event.addListener(e,"mouseout",g)),m&&W(google.maps.event.addListener(e,"mouseover",m)),f&&N(google.maps.event.addListener(e,"mouseup",f)),v&&J(google.maps.event.addListener(e,"rightclick",v)),y&&G(google.maps.event.addListener(e,"click",y)),w&&$(google.maps.event.addListener(e,"drag",w)),b&&q(google.maps.event.addListener(e,"center_changed",b)),E&&X(google.maps.event.addListener(e,"radius_changed",E)),k(e),S&&S(e),()=>{null!==O&&google.maps.event.removeListener(O),null!==M&&google.maps.event.removeListener(M),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==B&&google.maps.event.removeListener(B),null!==K&&google.maps.event.removeListener(K),null!==z&&google.maps.event.removeListener(z),null!==F&&google.maps.event.removeListener(F),null!==Z&&google.maps.event.removeListener(Z),null!==Y&&google.maps.event.removeListener(Y),C&&C(e),e.setMap(null)}},[]),null});class en extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{circle:null}),c(this,"setCircleCallback",()=>{null!==this.state.circle&&this.props.onLoad&&this.props.onLoad(this.state.circle)})}componentDidMount(){var e=new google.maps.Circle(Zt(Zt({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:Yt,eventMap:qt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{circle:e}},this.setCircleCallback)}componentDidUpdate(e){null!==this.state.circle&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Yt,eventMap:qt,prevProps:e,nextProps:this.props,instance:this.state.circle}))}componentWillUnmount(){var e;null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),m(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))}render(){return null}}function tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function nn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tn(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(en,"contextType",d);var rn={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},on={add(e,t){e.add(t)},addgeojson(e,t,n){e.addGeoJson(t,n)},contains(e,t){e.contains(t)},foreach(e,t){e.forEach(t)},loadgeojson(e,t,n,r){e.loadGeoJson(t,n,r)},overridestyle(e,t,n){e.overrideStyle(t,n)},remove(e,t){e.remove(t)},revertstyle(e,t){e.revertStyle(t)},controlposition(e,t){e.setControlPosition(t)},controls(e,t){e.setControls(t)},drawingmode(e,t){e.setDrawingMode(t)},map(e,t){e.setMap(t)},style(e,t){e.setStyle(t)},togeojson(e,t){e.toGeoJson(t)}},sn=(0,i.memo)(function(e){var{options:t,onClick:n,onDblClick:r,onMouseDown:o,onMouseMove:s,onMouseOut:a,onMouseOver:l,onMouseUp:c,onRightClick:u,onAddFeature:p,onRemoveFeature:h,onRemoveProperty:g,onSetGeometry:m,onSetProperty:f,onLoad:v,onUnmount:y}=e,w=(0,i.useContext)(d),[b,E]=(0,i.useState)(null),[S,C]=(0,i.useState)(null),[L,P]=(0,i.useState)(null),[k,O]=(0,i.useState)(null),[x,M]=(0,i.useState)(null),[A,_]=(0,i.useState)(null),[R,D]=(0,i.useState)(null),[T,j]=(0,i.useState)(null),[I,H]=(0,i.useState)(null),[U,B]=(0,i.useState)(null),[W,K]=(0,i.useState)(null),[N,z]=(0,i.useState)(null),[J,F]=(0,i.useState)(null),[G,V]=(0,i.useState)(null);return(0,i.useEffect)(()=>{null!==b&&b.setMap(w)},[w]),(0,i.useEffect)(()=>{b&&r&&(null!==S&&google.maps.event.removeListener(S),C(google.maps.event.addListener(b,"dblclick",r)))},[r]),(0,i.useEffect)(()=>{b&&o&&(null!==L&&google.maps.event.removeListener(L),P(google.maps.event.addListener(b,"mousedown",o)))},[o]),(0,i.useEffect)(()=>{b&&s&&(null!==k&&google.maps.event.removeListener(k),O(google.maps.event.addListener(b,"mousemove",s)))},[s]),(0,i.useEffect)(()=>{b&&a&&(null!==x&&google.maps.event.removeListener(x),M(google.maps.event.addListener(b,"mouseout",a)))},[a]),(0,i.useEffect)(()=>{b&&l&&(null!==A&&google.maps.event.removeListener(A),_(google.maps.event.addListener(b,"mouseover",l)))},[l]),(0,i.useEffect)(()=>{b&&c&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(b,"mouseup",c)))},[c]),(0,i.useEffect)(()=>{b&&u&&(null!==T&&google.maps.event.removeListener(T),j(google.maps.event.addListener(b,"rightclick",u)))},[u]),(0,i.useEffect)(()=>{b&&n&&(null!==I&&google.maps.event.removeListener(I),H(google.maps.event.addListener(b,"click",n)))},[n]),(0,i.useEffect)(()=>{b&&p&&(null!==U&&google.maps.event.removeListener(U),B(google.maps.event.addListener(b,"addfeature",p)))},[p]),(0,i.useEffect)(()=>{b&&h&&(null!==W&&google.maps.event.removeListener(W),K(google.maps.event.addListener(b,"removefeature",h)))},[h]),(0,i.useEffect)(()=>{b&&g&&(null!==N&&google.maps.event.removeListener(N),z(google.maps.event.addListener(b,"removeproperty",g)))},[g]),(0,i.useEffect)(()=>{b&&m&&(null!==J&&google.maps.event.removeListener(J),F(google.maps.event.addListener(b,"setgeometry",m)))},[m]),(0,i.useEffect)(()=>{b&&f&&(null!==G&&google.maps.event.removeListener(G),V(google.maps.event.addListener(b,"setproperty",f)))},[f]),(0,i.useEffect)(()=>{if(null!==w){var e=new google.maps.Data(nn(nn({},t),{},{map:w}));r&&C(google.maps.event.addListener(e,"dblclick",r)),o&&P(google.maps.event.addListener(e,"mousedown",o)),s&&O(google.maps.event.addListener(e,"mousemove",s)),a&&M(google.maps.event.addListener(e,"mouseout",a)),l&&_(google.maps.event.addListener(e,"mouseover",l)),c&&D(google.maps.event.addListener(e,"mouseup",c)),u&&j(google.maps.event.addListener(e,"rightclick",u)),n&&H(google.maps.event.addListener(e,"click",n)),p&&B(google.maps.event.addListener(e,"addfeature",p)),h&&K(google.maps.event.addListener(e,"removefeature",h)),g&&z(google.maps.event.addListener(e,"removeproperty",g)),m&&F(google.maps.event.addListener(e,"setgeometry",m)),f&&V(google.maps.event.addListener(e,"setproperty",f)),E(e),v&&v(e)}return()=>{b&&(null!==S&&google.maps.event.removeListener(S),null!==L&&google.maps.event.removeListener(L),null!==k&&google.maps.event.removeListener(k),null!==x&&google.maps.event.removeListener(x),null!==A&&google.maps.event.removeListener(A),null!==R&&google.maps.event.removeListener(R),null!==T&&google.maps.event.removeListener(T),null!==I&&google.maps.event.removeListener(I),null!==U&&google.maps.event.removeListener(U),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),null!==J&&google.maps.event.removeListener(J),null!==G&&google.maps.event.removeListener(G),y&&y(b),b.setMap(null))}},[]),null});class an extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{data:null}),c(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(nn(nn({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:on,eventMap:rn,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({data:e}),this.setDataCallback)}}componentDidUpdate(e){null!==this.state.data&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:on,eventMap:rn,prevProps:e,nextProps:this.props,instance:this.state.data}))}componentWillUnmount(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),m(this.registeredEvents),this.state.data&&this.state.data.setMap(null))}render(){return null}}function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(an,"contextType",d);var un={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},pn={options(e,t){e.setOptions(t)},url(e,t){e.setUrl(t)},zIndex(e,t){e.setZIndex(t)}};class dn extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{kmlLayer:null}),c(this,"setKmlLayerCallback",()=>{null!==this.state.kmlLayer&&this.props.onLoad&&this.props.onLoad(this.state.kmlLayer)})}componentDidMount(){var e=new google.maps.KmlLayer(cn(cn({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:pn,eventMap:un,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{kmlLayer:e}},this.setKmlLayerCallback)}componentDidUpdate(e){null!==this.state.kmlLayer&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:pn,eventMap:un,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))}componentWillUnmount(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),m(this.registeredEvents),this.state.kmlLayer.setMap(null))}render(){return null}}function hn(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function gn(e,t){return new t(e.lat,e.lng)}function mn(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))}function fn(e,t,n,r){return void 0!==n?function(e,t,n){var r=e&&e.fromLatLngToDivPixel(n.getNorthEast()),o=e&&e.fromLatLngToDivPixel(n.getSouthWest());return r&&o?{left:"".concat(o.x+t.x,"px"),top:"".concat(r.y+t.y,"px"),width:"".concat(r.x-o.x-t.x,"px"),height:"".concat(o.y-r.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}}(e,t,(o=n)instanceof(s=google.maps.LatLngBounds)?o:mn(o,s)):function(e,t,n){var r=e&&e.fromLatLngToDivPixel(n);if(r){var{x:o,y:s}=r;return{left:"".concat(o+t.x,"px"),top:"".concat(s+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,function(e,t,n){return e instanceof t?e:n(e,t)}(r,google.maps.LatLng,gn));var o,s}function vn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function wn(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function bn(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)))+"":""}c(dn,"contextType",d);var En="floatPane",Sn="mapPane",Cn="markerLayer",Ln="overlayLayer",Pn="overlayMouseTarget",kn=(0,i.memo)(function(e){var{position:t,bounds:n,mapPaneName:r,zIndex:o,onLoad:s,onUnmount:l,getPixelPositionOffset:u,children:p}=e,h=(0,i.useContext)(d),g=(0,i.useMemo)(()=>{var e=document.createElement("div");return e.style.position="absolute",e},[]),m=(0,i.useMemo)(()=>function(e,t,n,r,o){class s extends google.maps.OverlayView{constructor(e,t,n,r){super(),this.container=e,this.pane=t,this.position=n,this.bounds=r}onAdd(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)}draw(){var e=this.getProjection(),t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vn(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},this.container?hn(this.container,o):{x:0,y:0}),n=fn(e,t,this.bounds,this.position);for(var[r,s]of Object.entries(n))this.container.style[r]=s}onRemove(){null!==this.container.parentNode&&this.container.parentNode.removeChild(this.container)}}return new s(e,t,n,r)}(g,r,t,n,u),[g,r,t,n]);return(0,i.useEffect)(()=>(null==s||s(m),null==m||m.setMap(h),()=>{null==l||l(m),null==m||m.setMap(null)}),[h,m]),(0,i.useEffect)(()=>{g.style.zIndex="".concat(o)},[o,g]),a.createPortal(p,g)});class On extends i.PureComponent{constructor(e){super(e),c(this,"state",{paneEl:null,containerStyle:{position:"absolute"}}),c(this,"updatePane",()=>{var e=this.props.mapPaneName,t=this.overlayView.getPanes();p(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?this.setState({paneEl:t[e]}):this.setState({paneEl:null})}),c(this,"onAdd",()=>{var e,t;this.updatePane(),null===(e=(t=this.props).onLoad)||void 0===e||e.call(t,this.overlayView)}),c(this,"onPositionElement",()=>{var e,t,n,r,o,s,i=this.overlayView.getProjection(),a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yn(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({x:0,y:0},this.containerRef.current?hn(this.containerRef.current,this.props.getPixelPositionOffset):{}),l=fn(i,a,this.props.bounds,this.props.position);o=l,s={left:this.state.containerStyle.left,top:this.state.containerStyle.top,width:this.state.containerStyle.width,height:this.state.containerStyle.height},(o.left!==s.left||o.top!==s.top||o.width!==s.height||o.height!==s.height)&&this.setState({containerStyle:{top:null!==(e=l.top)&&void 0!==e?e:0,left:null!==(t=l.left)&&void 0!==t?t:0,width:null!==(n=l.width)&&void 0!==n?n:0,height:null!==(r=l.height)&&void 0!==r?r:0,position:"absolute"}})}),c(this,"draw",()=>{this.onPositionElement()}),c(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,i.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=wn(e.position),n=wn(this.props.position),r=bn(e.bounds),o=bn(this.props.bounds);t===n&&r===o||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()}componentWillUnmount(){this.overlayView.setMap(null)}render(){var e=this.state.paneEl;return e?a.createPortal((0,s.jsx)("div",{ref:this.containerRef,style:this.state.containerStyle,children:i.Children.only(this.props.children)}),e):null}}function xn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Mn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xn(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(On,"FLOAT_PANE","floatPane"),c(On,"MAP_PANE","mapPane"),c(On,"MARKER_LAYER","markerLayer"),c(On,"OVERLAY_LAYER","overlayLayer"),c(On,"OVERLAY_MOUSE_TARGET","overlayMouseTarget"),c(On,"contextType",d);var An={onDblClick:"dblclick",onClick:"click"},_n={opacity(e,t){e.setOpacity(t)}},Rn=(0,i.memo)(function(e){var{url:t,bounds:n,options:r,visible:o}=e,s=(0,i.useContext)(d),a=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),l=(0,i.useMemo)(()=>new google.maps.GroundOverlay(t,a,r),[]);return(0,i.useEffect)(()=>{null!==l&&l.setMap(s)},[s]),(0,i.useEffect)(()=>{void 0!==t&&null!==l&&(l.set("url",t),l.setMap(s))},[l,t]),(0,i.useEffect)(()=>{void 0!==o&&null!==l&&l.setOpacity(o?1:0)},[l,o]),(0,i.useEffect)(()=>{var e=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));void 0!==n&&null!==l&&(l.set("bounds",e),l.setMap(s))},[l,n]),null});class Dn extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{groundOverlay:null}),c(this,"setGroundOverlayCallback",()=>{null!==this.state.groundOverlay&&this.props.onLoad&&this.props.onLoad(this.state.groundOverlay)})}componentDidMount(){p(!!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,Mn(Mn({},this.props.options),{},{map:this.context}));this.registeredEvents=f({updaterMap:_n,eventMap:An,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{groundOverlay:e}},this.setGroundOverlayCallback)}componentDidUpdate(e){null!==this.state.groundOverlay&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:_n,eventMap:An,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 Tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tn(Object(n),!0).forEach(function(t){c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}c(Dn,"defaultProps",{onLoad:function(){}}),c(Dn,"contextType",d);var In={},Hn={data(e,t){e.setData(t)},map(e,t){e.setMap(t)},options(e,t){e.setOptions(t)}},Un=(0,i.memo)(function(e){var{data:t,onLoad:n,onUnmount:r,options:o}=e,s=(0,i.useContext)(d),[a,l]=(0,i.useState)(null);return(0,i.useEffect)(()=>{google.maps.visualization||p(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)},[]),(0,i.useEffect)(()=>{p(!!t,"data property is required in HeatmapLayer %s",t)},[t]),(0,i.useEffect)(()=>{null!==a&&a.setMap(s)},[s]),(0,i.useEffect)(()=>{o&&null!==a&&a.setOptions(o)},[a,o]),(0,i.useEffect)(()=>{var e=new google.maps.visualization.HeatmapLayer(jn(jn({},o),{},{data:t,map:s}));return l(e),n&&n(e),()=>{null!==a&&(r&&r(a),a.setMap(null))}},[]),null});class Bn extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{heatmapLayer:null}),c(this,"setHeatmapLayerCallback",()=>{null!==this.state.heatmapLayer&&this.props.onLoad&&this.props.onLoad(this.state.heatmapLayer)})}componentDidMount(){p(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),p(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(jn(jn({},this.props.options),{},{data:this.props.data,map:this.context}));this.registeredEvents=f({updaterMap:Hn,eventMap:In,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{heatmapLayer:e}},this.setHeatmapLayerCallback)}componentDidUpdate(e){m(this.registeredEvents),this.registeredEvents=f({updaterMap:Hn,eventMap:In,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})}componentWillUnmount(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),m(this.registeredEvents),this.state.heatmapLayer.setMap(null))}render(){return null}}c(Bn,"contextType",d);var Wn={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},Kn={register(e,t,n){e.registerPanoProvider(t,n)},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)}};class Nn extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{streetViewPanorama:null}),c(this,"setStreetViewPanoramaCallback",()=>{null!==this.state.streetViewPanorama&&this.props.onLoad&&this.props.onLoad(this.state.streetViewPanorama)})}componentDidMount(){var e,t,n=null!==(e=null===(t=this.context)||void 0===t?void 0:t.getStreetView())&&void 0!==e?e:null;this.registeredEvents=f({updaterMap:Kn,eventMap:Wn,prevProps:{},nextProps:this.props,instance:n}),this.setState(()=>({streetViewPanorama:n}),this.setStreetViewPanoramaCallback)}componentDidUpdate(e){null!==this.state.streetViewPanorama&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Kn,eventMap:Wn,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))}componentWillUnmount(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),m(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))}render(){return null}}c(Nn,"contextType",d);class zn extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{streetViewService:null}),c(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}}c(zn,"contextType",d);class Jn extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{directionsService:null}),c(this,"setDirectionsServiceCallback",()=>{null!==this.state.directionsService&&this.props.onLoad&&this.props.onLoad(this.state.directionsService)})}componentDidMount(){p(!!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 Fn={onDirectionsChanged:"directions_changed"},Gn={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)}};class Vn extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"state",{directionsRenderer:null}),c(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=f({updaterMap:Gn,eventMap:Fn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{directionsRenderer:e}},this.setDirectionsRendererCallback)}componentDidUpdate(e){null!==this.state.directionsRenderer&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:Gn,eventMap:Fn,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))}componentWillUnmount(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),m(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))}render(){return null}}c(Vn,"contextType",d);class $n extends i.PureComponent{constructor(){super(...arguments),c(this,"state",{distanceMatrixService:null}),c(this,"setDistanceMatrixServiceCallback",()=>{null!==this.state.distanceMatrixService&&this.props.onLoad&&this.props.onLoad(this.state.distanceMatrixService)})}componentDidMount(){p(!!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 Zn={onPlacesChanged:"places_changed"},qn={bounds(e,t){e.setBounds(t)}};class Yn extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"containerElement",(0,i.createRef)()),c(this,"state",{searchBox:null}),c(this,"setSearchBoxCallback",()=>{null!==this.state.searchBox&&this.props.onLoad&&this.props.onLoad(this.state.searchBox)})}componentDidMount(){if(p(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> 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=f({updaterMap:qn,eventMap:Zn,prevProps:{},nextProps:this.props,instance:t}),this.setState(function(){return{searchBox:t}},this.setSearchBoxCallback)}}}componentDidUpdate(e){null!==this.state.searchBox&&(m(this.registeredEvents),this.registeredEvents=f({updaterMap:qn,eventMap:Zn,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))}componentWillUnmount(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),m(this.registeredEvents))}render(){return(0,s.jsx)("div",{ref:this.containerElement,children:i.Children.only(this.props.children)})}}c(Yn,"contextType",d);var Xn={onPlaceChanged:"place_changed"},Qn={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)}};class er extends i.PureComponent{constructor(){super(...arguments),c(this,"registeredEvents",[]),c(this,"containerElement",(0,i.createRef)()),c(this,"state",{autocomplete:null}),c(this,"setAutocompleteCallback",()=>{null!==this.state.autocomplete&&this.props.onLoad&&this.props.onLoad(this.state.autocomplete)})}componentDidMount(){var e;p(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var n=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=f({updaterMap:Qn,eventMap:Xn,prevProps:{},nextProps:this.props,instance:n}),this.setState(()=>({autocomplete:n}),this.setAutocompleteCallback)}}componentDidUpdate(e){m(this.registeredEvents),this.registeredEvents=f({updaterMap:Qn,eventMap:Xn,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})}componentWillUnmount(){null!==this.state.autocomplete&&m(this.registeredEvents)}render(){return(0,s.jsx)("div",{ref:this.containerElement,className:this.props.className,children:i.Children.only(this.props.children)})}}c(er,"defaultProps",{className:""}),c(er,"contextType",d)},9358:e=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"validateHTMLColorName",function(){return i}),n.d(t,"validateHTMLColorSpecialName",function(){return a}),n.d(t,"validateHTMLColorHex",function(){return l}),n.d(t,"validateHTMLColorRgb",function(){return m}),n.d(t,"validateHTMLColorHsl",function(){return f}),n.d(t,"validateHTMLColorHwb",function(){return v}),n.d(t,"validateHTMLColorLab",function(){return y}),n.d(t,"validateHTMLColorLch",function(){return w}),n.d(t,"validateHTMLColor",function(){return b});const r=e=>e&&"string"==typeof e,o=["AliceBlue","AntiqueWhite","Aqua","Aquamarine","Azure","Beige","Bisque","Black","BlanchedAlmond","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Cornsilk","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenrod","DarkGray","DarkGrey","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","DarkOrange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","Goldenrod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenrodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquamarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenrod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","RebeccaPurple","Red","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"],s=["currentColor","inherit","transparent"],i=e=>{let t=!1;return r(e)&&o.map(n=>(e.toLowerCase()===n.toLowerCase()&&(t=!0),null)),t},a=e=>{let t=!1;return r(e)&&s.map(n=>(e.toLowerCase()===n.toLowerCase()&&(t=!0),null)),t},l=e=>!!r(e)&&(e&&/^#([\da-f]{3}){1,2}$|^#([\da-f]{4}){1,2}$/i.test(e)),c="(([\\d]{0,5})((\\.([\\d]{1,5}))?))",u=`(${c}%)`,p="(([0-9]|[1-9][0-9]|100)%)",d=`(${p}|(0?((\\.([\\d]{1,5}))?))|1)`,h=`([\\s]{0,5})\\)?)(([\\s]{0,5})(\\/?)([\\s]{1,5})(((${p}))|(0?((\\.([\\d]{1,5}))?))|1))?([\\s]{0,5})\\)`,g="(-?(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9]|3[0-5][0-9])((\\.([\\d]{1,5}))?)|360)(deg)?)",m=e=>{if(r(e)){const t="([\\s]{0,5})([\\d]{1,5})%?([\\s]{0,5}),?",n="((([\\s]{0,5}),?([\\s]{0,5}))|(([\\s]{1,5})))",r=new RegExp(`^(rgb)a?\\(${t}${n}${t}${n}${t}${n}((\\/?([\\s]{0,5})(0?\\.?([\\d]{1,5})%?([\\s]{0,5}))?|1|0))?\\)$`);return e&&r.test(e)}return!1},f=e=>{if(r(e)){const t=new RegExp(`^(hsl)a?\\((([\\s]{0,5})(${g}|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9]|3[0-9][0-9]|400)grad)|((([0-5])?\\.([\\d]{1,5})|6\\.([0-9]|1[0-9]|2[0-8])|[0-6])rad)|((0?((\\.([\\d]{1,5}))?)|1)turn))((([\\s]{0,5}),([\\s]{0,5}))|(([\\s]{1,5}))))(([\\s]{0,5})(0|${p})((([\\s]{0,5}),([\\s]{0,5}))|(([\\s]{1,5}))))(([\\s]{0,5})(0|${p})([\\s]{0,5})\\)?)(([\\s]{0,5})(\\/?|,?)([\\s]{0,5})(((${p}))|(0?((\\.([\\d]{1,5}))?))|1))?\\)$`);return e&&t.test(e)}return!1},v=e=>{if(r(e)){const t=new RegExp(`^(hwb\\(([\\s]{0,5})${g}([\\s]{1,5}))((0|${p})([\\s]{1,5}))((0|${p})${h}$`);return e&&t.test(e)}return!1},y=e=>{if(r(e)){const t="(-?(([0-9]|[1-9][0-9]|1[0-5][0-9])((\\.([\\d]{1,5}))?)?|160))",n=new RegExp(`^(lab\\(([\\s]{0,5})${u}([\\s]{1,5})${t}([\\s]{1,5})${t}${h}$`);return e&&n.test(e)}return!1},w=e=>{if(r(e)){const t=new RegExp(`^lch\\((([\\s]{0,5})((([0-9]|[1-9][0-9])?((\\.([\\d]{1,5}))?)|100)(%)?)([\\s]{1,5})${""+c}([\\s]{1,5})((${g})|(0|${d})|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-9][0-9]|3[0-5][0-9])((\\.([\\d]{1,5}))?)|360))([\\s]{0,5})((\\/([\\s]{0,5})${d}))?)\\)$`);return e&&t.test(e)}return!1},b=e=>!!(e&&l(e)||m(e)||f(e)||v(e)||y(e)||w(e));t.default=e=>!!(e&&l(e)||i(e)||a(e)||m(e)||f(e)||v(e)||y(e)||w(e))}])}}]);