PageSourceSearch

https://agencemed.fr/assets/index-BHQ9GYBS.js

js agencemed.fr collected 2026-09-30 15:35:33 UTC 259,402 bytes, 48 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Index-BJSQus8d.js","assets/react-vendor-_F8WyHlj.js","assets/Footer-wRsj3Cl8.js","assets/router-Cr0zRia2.js","assets/icons-DdBd-61_.js","assets/skeleton-lWGP_Ie4.js","assets/supabase-B81AO2uk.js","assets/index-Ria0nC1r.js","assets/ContactSection-C0GESfwh.js","assets/TurnstileWidget-9diKfhSH.js","assets/SeoHead-DtNaROLD.js","assets/siteUrl-ahALnVOJ.js","assets/Ventes-oJF_BpAd.js","assets/HeaderStandard-BEf9EyDA.js","assets/PropertyListHero-Bob3o3IZ.js","assets/PropertyPagination-CACHUH-O.js","assets/SearchRequestSection-u90YQO5Q.js","assets/Locations-DeG0Lj1y.js","assets/BiensVendus-KQ2xDPT6.js","assets/PropertyListingPage-hjbhBIEH.js","assets/ArchivesVendus-Dc5E9DBc.js","assets/ArchivesLoues-DcU0_-Vk.js","assets/BienDetail-C2zHFCXh.js","assets/Agence-BhhOpEPE.js","assets/PageLayout-BfqvjnZ4.js","assets/Contact-1-Pdu0HT.js","assets/Estimation-ByCWPs9s.js","assets/Vendre-BN0A51p0.js","assets/Acheter-BZsiyfWz.js","assets/LocationGestion-CEtKzGm5.js","assets/MentionsLegales-sgixzOV_.js","assets/Honoraires-D40m7mii.js","assets/PolitiqueConfidentialite-CLv_78c7.js","assets/NotFound-DkokMu6f.js"])))=>i.map(i=>d[i]);
2import{r as f,j as h,g as hn,a as b,b as Vs,c as zs,R as Oo,u as Lo,d as No,o as Mo,s as jo,f as ko,e as Io,h as Do,i as $o,l as Fo,k as _o}from"./react-vendor-_F8WyHlj.js";import{u as qs,B as Vo,R as zo,a as z}from"./router-Cr0zRia2.js";import{X as qo}from"./icons-DdBd-61_.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();const Ho="modulepreload",Bo=function(t){return"/"+t},In={},ee=function(e,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),i=a?.nonce||a?.getAttribute("nonce");r=Promise.allSettled(n.map(l=>{if(l=Bo(l),l in In)return;In[l]=!0;const c=l.endsWith(".css"),u=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${u}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Ho,c||(p.as="script"),p.crossOrigin="",p.href=l,i&&p.setAttribute("nonce",i),document.head.appendChild(p),c)return new Promise((g,d)=>{p.addEventListener("load",g),p.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${l}`)))})}))}function o(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&o(i.reason);return e().catch(o)})};var St=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ct=typeof window>"u"||"Deno"in globalThis;function de(){}function Uo(t,e){return typeof t=="function"?t(e):t}function Jo(t){return typeof t=="number"&&t>=0&&t!==1/0}function Go(t,e){return Math.max(t+(e||0)-Date.now(),0)}function Gt(t,e){return typeof t=="function"?t(e):t}function Ko(t,e){return typeof t=="function"?t(e):t}function Dn(t,e){const{type:n="all",exact:s,fetchStatus:r,predicate:o,queryKey:a,stale:i}=t;if(a){if(s){if(e.queryHash!==mn(a,e.options))return!1}else if(!st(e.queryKey,a))return!1}if(n!=="all"){const l=e.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof i=="boolean"&&e.isStale()!==i||r&&r!==e.state.fetchStatus||o&&!o(e))}function $n(t,e){const{exact:n,status:s,predicate:r,mutationKey:o}=t;if(o){if(!e.options.mutationKey)return!1;if(n){if(nt(e.options.mutationKey)!==nt(o))return!1}else if(!st(e.options.mutationKey,o))return!1}return!(s&&e.state.status!==s||r&&!r(e))}function mn(t,e){return(e?.queryKeyHashFn||nt)(t)}function nt(t){return JSON.stringify(t,(e,n)=>Kt(n)?Object.keys(n).sort().reduce((s,r)=>(s[r]=n[r],s),{}):n)}function st(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(n=>st(t[n],e[n])):!1}function Hs(t,e){if(t===e)return t;const n=Fn(t)&&Fn(e);if(n||Kt(t)&&Kt(e)){const s=n?t:Object.keys(t),r=s.length,o=n?e:Object.keys(e),a=o.length,i=n?[]:{},l=new Set(s);let c=0;for(let u=0;u<a;u++){const p=n?u:o[u];(!n&&l.has(p)||n)&&t[p]===void 0&&e[p]===void 0?(i[p]=void 0,c++):(i[p]=Hs(t[p],e[p]),i[p]===t[p]&&t[p]!==void 0&&c++)}return r===a&&c===r?t:i}return e}function Fn(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function Kt(t){if(!_n(t))return!1;const e=t.constructor;if(e===void 0)return!0;const n=e.prototype;return!(!_n(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function _n(t){return Object.prototype.toString.call(t)==="[object Object]"}function Wo(t){return new Promise(e=>{setTimeout(e,t)})}function Yo(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?Hs(t,e):e}function Qo(t,e,n=0){const s=[...t,e];return n&&s.length>n?s.slice(1):s}function Xo(t,e,n=0){const s=[e,...t];return n&&s.length>n?s.slice(0,-1):s}var gn=Symbol();function Bs(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:!t.queryFn||t.queryFn===gn?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var Zo=class extends St{#e;#t;#n;constructor(){super(),this.#n=t=>{if(!Ct&&window.addEventListener){const e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(t){this.#n=t,this.#t?.(),this.#t=t(e=>{typeof e=="boolean"?this.setFocused(e):this.onFocus()})}setFocused(t){this.#e!==t&&(this.#e=t,this.onFocus())}onFocus(){const t=this.isFocused();
vendor: 4,132 bytes, line 2
2this.listeners.forEach(e=>{e(t)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Us=new Zo,ei=class extends St{#e=!0;#t;#n;constructor(){super(),this.#n=t=>{if(!Ct&&window.addEventListener){const e=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(t){this.#n=t,this.#t?.(),this.#t=t(this.setOnline.bind(this))}setOnline(t){this.#e!==t&&(this.#e=t,this.listeners.forEach(n=>{n(t)}))}isOnline(){return this.#e}},yt=new ei;function ti(){let t,e;const n=new Promise((r,o)=>{t=r,e=o});n.status="pending",n.catch(()=>{});function s(r){Object.assign(n,r),delete n.resolve,delete n.reject}return n.resolve=r=>{s({status:"fulfilled",value:r}),t(r)},n.reject=r=>{s({status:"rejected",reason:r}),e(r)},n}function ni(t){return Math.min(1e3*2**t,3e4)}function Js(t){return(t??"online")==="online"?yt.isOnline():!0}var Gs=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function It(t){return t instanceof Gs}function Ks(t){let e=!1,n=0,s=!1,r;const o=ti(),a=m=>{s||(g(new Gs(m)),t.abort?.())},i=()=>{e=!0},l=()=>{e=!1},c=()=>Us.isFocused()&&(t.networkMode==="always"||yt.isOnline())&&t.canRun(),u=()=>Js(t.networkMode)&&t.canRun(),p=m=>{s||(s=!0,t.onSuccess?.(m),r?.(),o.resolve(m))},g=m=>{s||(s=!0,t.onError?.(m),r?.(),o.reject(m))},d=()=>new Promise(m=>{r=y=>{(s||c())&&m(y)},t.onPause?.()}).then(()=>{r=void 0,s||t.onContinue?.()}),v=()=>{if(s)return;let m;const y=n===0?t.initialPromise:void 0;try{m=y??t.fn()}catch(w){m=Promise.reject(w)}Promise.resolve(m).then(p).catch(w=>{if(s)return;const x=t.retry??(Ct?0:3),T=t.retryDelay??ni,S=typeof T=="function"?T(n,w):T,R=x===!0||typeof x=="number"&&n<x||typeof x=="function"&&x(n,w);if(e||!R){g(w);return}n++,t.onFail?.(n,w),Wo(S).then(()=>c()?void 0:d()).then(()=>{e?g(w):v()})})};return{promise:o,cancel:a,continue:()=>(r?.(),o),cancelRetry:i,continueRetry:l,canStart:u,start:()=>(u()?v():d().then(v),o)}}var si=t=>setTimeout(t,0);function ri(){let t=[],e=0,n=i=>{i()},s=i=>{i()},r=si;const o=i=>{e?t.push(i):r(()=>{n(i)})},a=()=>{const i=t;t=[],i.length&&r(()=>{s(()=>{i.forEach(l=>{n(l)})})})};return{batch:i=>{let l;e++;try{l=i()}finally{e--,e||a()}return l},batchCalls:i=>(...l)=>{o(()=>{i(...l)})},schedule:o,setNotifyFunction:i=>{n=i},setBatchNotifyFunction:i=>{s=i},setScheduler:i=>{r=i}}}var ne=ri(),Ws=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Jo(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Ct?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}},oi=class extends Ws{#e;#t;#n;#r;#s;#i;#a;constructor(t){super(),this.#a=!1,this.#i=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#r=t.client,this.#n=this.#r.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#e=ai(this.options),this.state=t.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#s?.promise}setOptions(t){this.options={...this.#i,...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#n.remove(this)}setData(t,e){const n=Yo(this.state.data,t,this.options);return this.#o({data:n,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),n}setState(t,e){this.#o({type:"setState",state:t,setStateOptions:e})}cancel(t){const e=this.#s?.promise;return this.#s?.cancel(t),e?e.then(de).catch(de):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(t=>Ko(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===gn||this.state.dataUpdateCount+this.state.errorUpdate
2Count===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Gt(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Go(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#s?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#s?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(e=>e!==t),this.observers.length||(this.#s&&(this.#a?this.#s.cancel({revert:!0}):this.#s.cancelRetry()),this.scheduleGc()),this.#n.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}fetch(t,e){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#s)return this.#s.continueRetry(),this.#s.promise}if(t&&this.setOptions(t),!this.options.queryFn){const l=this.observers.find(c=>c.options.queryFn);l&&this.setOptions(l.options)}const n=new AbortController,s=l=>{Object.defineProperty(l,"signal",{enumerable:!0,get:()=>(this.#a=!0,n.signal)})},r=()=>{const l=Bs(this.options,e),u=(()=>{const p={client:this.#r,queryKey:this.queryKey,meta:this.meta};return s(p),p})();return this.#a=!1,this.options.persister?this.options.persister(l,u,this):l(u)},a=(()=>{const l={fetchOptions:e,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:r};return s(l),l})();this.options.behavior?.onFetch(a,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#o({type:"fetch",meta:a.fetchOptions?.meta});const i=l=>{It(l)&&l.silent||this.#o({type:"error",error:l}),It(l)||(this.#n.config.onError?.(l,this),this.#n.config.onSettled?.(this.state.data,l,this)),this.scheduleGc()};return this.#s=Ks({initialPromise:e?.initialPromise,fn:a.fetchFn,abort:n.abort.bind(n),onSuccess:l=>{if(l===void 0){i(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(l)}catch(c){i(c);return}this.#n.config.onSuccess?.(l,this),this.#n.config.onSettled?.(l,this.state.error,this),this.scheduleGc()},onError:i,onFail:(l,c)=>{this.#o({type:"failed",failureCount:l,error:c})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}),this.#s.start()}#o(t){const e=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...ii(n.data,this.options),fetchMeta:t.meta??null};case"success":return this.#t=void 0,{...n,data:t.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return It(s)&&s.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...n,error:s,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=e(this.state),ne.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),this.#n.notify({query:this,type:"updated",action:t})})}};function ii(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Js(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function ai(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,s=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?s??Date.now():0,error:null,errorUpdate
vendor: 9,647 bytes, line 2
2Count:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var li=class extends St{constructor(t={}){super(),this.config=t,this.#e=new Map}#e;build(t,e,n){const s=e.queryKey,r=e.queryHash??mn(s,e);let o=this.get(r);return o||(o=new oi({client:t,queryKey:s,queryHash:r,options:t.defaultQueryOptions(e),state:n,defaultOptions:t.getQueryDefaults(s)}),this.add(o)),o}add(t){this.#e.has(t.queryHash)||(this.#e.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#e.get(t.queryHash);e&&(t.destroy(),e===t&&this.#e.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){ne.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#e.get(t)}getAll(){return[...this.#e.values()]}find(t){const e={exact:!0,...t};return this.getAll().find(n=>Dn(e,n))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter(n=>Dn(t,n)):e}notify(t){ne.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){ne.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){ne.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},ci=class extends Ws{#e;#t;#n;constructor(t){super(),this.mutationId=t.mutationId,this.#t=t.mutationCache,this.#e=[],this.state=t.state||ui(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(t){const e=()=>{this.#r({type:"continue"})};this.#n=Ks({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(r,o)=>{this.#r({type:"failed",failureCount:r,error:o})},onPause:()=>{this.#r({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});const n=this.state.status==="pending",s=!this.#n.canStart();try{if(n)e();else{this.#r({type:"pending",variables:t,isPaused:s}),await this.#t.config.onMutate?.(t,this);const o=await this.options.onMutate?.(t);o!==this.state.context&&this.#r({type:"pending",context:o,variables:t,isPaused:s})}const r=await this.#n.start();return await this.#t.config.onSuccess?.(r,t,this.state.context,this),await this.options.onSuccess?.(r,t,this.state.context),await this.#t.config.onSettled?.(r,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(r,null,t,this.state.context),this.#r({type:"success",data:r}),r}catch(r){try{throw await this.#t.config.onError?.(r,t,this.state.context,this),await this.options.onError?.(r,t,this.state.context),await this.#t.config.onSettled?.(void 0,r,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,r,t,this.state.context),r}finally{this.#r({type:"error",error:r})}}finally{this.#t.runNext(this)}}#r(t){const e=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=e(this.state),ne.batch(()=>{this.#e.forEach(n=>{n.onMutationUpdate(t)}),this.#t.notify({mutation:this,type:"updated",action:t})})}};function ui(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var di=class extends St{constructor(t={}){super(),this.config=t,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(t,e,n){const s=new ci({mutationCache:this,mutationId:++this.#n,options:t.defaultMutationOptions(e),state:n});return this.add(s),s}add(t){this.#e.add(t);const e=at(t);if(typeof e=="string"){const n=this.#t.get(e);n?n.push(t):this.#t.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#e.delete(t)){const e=at(t);if(typeof e=="string"){const n=this.#t.get(e);if(n)if(n.length>1){const s=n.indexOf(t);s!==-1&&n.splice(s,1)}else n[0]===t&&this.#t.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){const e=at(t);if(typeof e=="string"){const s=this.#t.get(e)?.find(r=>r.state.status==="pending");return!s||s===t}else return!0}runNext(t){const e=at(t);return typeof e=="string"?this.#t.get(e)?.find(s=>s!==t&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){ne.batch(()=>{this.#e.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(t){const e={exact:!0,...t};return this.getAll().find(n=>$n(e,n))}findAll(t={}){return this.getAll().filter(e=>$n(t,e))}notify(t){ne.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){const t=this.getAll().filter(e=>e.state.isPaused);return ne.batch(()=>Promise.all(t.map(e=>e.continue().catch(de))))}};function at(t){return t.options.scope?.id}function Vn(t){return{onFetch:(e,n)=>{const s=e.options,r=e.fetchOptions?.meta?.fetchMore?.direction,o=e.state.data?.pages||[],a=e.state.data?.pageParams||[];let i={pages:[],pageParams:[]},l=0;const c=async()=>{let u=!1;const p=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(e.signal.aborted?u=!0:e.signal.addEventListener("abort",()=>{u=!0}),e.signal)})},g=Bs(e.options,e.fetchOptions),d=async(v,m,y)=>{if(u)return Promise.reject();if(m==null&&v.pages.length)return Promise.resolve(v);const x=(()=>{const P={client:e.client,queryKey:e.queryKey,pageParam:m,direction:y?"backward":"forward",meta:e.options.meta};return p(P),P})(),T=await g(x),{maxPages:S}=e.options,R=y?Xo:Qo;return{pages:R(v.pages,T,S),pageParams:R(v.pageParams,m,S)}};if(r&&o.length){const v=r==="backward",m=v?pi:zn,y={pages:o,pageParams:a},w=m(s,y);i=await d(y,w,v)}else{const v=t??o.length;do{const m=l===0?a[0]??s.initialPageParam:zn(s,i);if(l>0&&m==null)break;i=await d(i,m),l++}while(l<v)}return i};e.options.persister?e.fetchFn=()=>e.options.persister?.(c,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n):e.fetchFn=c}}}function zn(t,{pages:e,pageParams:n}){const s=e.length-1;return e.length>0?t.getNextPageParam(e[s],e,n[s],n):void 0}function pi(t,{pages:e,pageParams:n}){return e.length>0?t.getPreviousPageParam?.(e[0],e,n[0],n):void 0}var fi=class{#e;#t;#n;#r;#s;#i;#a;#o;constructor(t={}){this.#e=t.queryCache||new li,this.#t=t.mutationCache||new di,this.#n=t.defaultOptions||{},this.#r=new Map,this.#s=new Map,this.#i=0}mount(){this.#i++,this.#i===1&&(this.#a=Us.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#o=yt.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#i--,this.#i===0&&(this.#a?.(),this.#a=void 0,this.#o?.(),this.#o=void 0)}isFetching(t){return this.#e.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#t.findAll({...t,status:"pending"}).length}getQueryData(t){const e=this.defaultQueryOptions({queryKey:t});return this.#e.get(e.queryHash)?.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),n=this.#e.build(this,e),s=n.state.data;return s===void 0?this.fetchQuery(t):(t.revalidateIfStale&&n.isStaleByTime(Gt(e.staleTime,n))&&this.prefetchQuery(e),Promise.resolve(s))}getQueriesData(t){return this.#e.findAll(t).map(({queryKey:e,state:n})=>{const s=n.data;return[e,s]})}setQueryData(t,e,n){const s=this.defaultQueryOptions({queryKey:t}),o=this.#e.get(s.queryHash)?.state.data,a=Uo(e,o);if(a!==void 0)return this.#e.build(this,s).setData(a,{...n,manual:!0})}setQueriesData(t,e,n){return ne.batch(()=>this.#e.findAll(t).map(({queryKey:s})=>[s,this.setQueryData(s,e,n)]))}getQueryState(t){const e=this.defaultQueryOptions({queryKey:t});return this.#e.get(e.queryHash)?.state}removeQueries(t){const e=this.#e;ne.batch(()=>{e.findAll(t).forEach(n=>{e.remove(n)})})}resetQueries(t,e){const n=this.#e;return ne.batch(()=>(n.findAll(t).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const n={revert:!0,...e},s=ne.batch(()=>this.#e.findAll(t).map(r=>r.cancel(n)));return Promise.all(s).then(de).catch(de)}invalidateQueries(t,e={}){return ne.batch(()=>(this.#e.findAll(t).forEach(n=>{n.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){const n={...e,cancelRefetch:e.cancelRefetch??!0},s=ne.batch(()=>this.#e.findAll(t).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let o=r.fetch(void 0,n);return n.throwOnError||(o=o.catch(de)),r.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(s).then(de)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const n=this.#e.build(this,e);return n.isStaleByTime(Gt(e.staleTime,n))?n.fetch(e):Promise.resolve(n.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(de).catch(de)}
2fetchInfiniteQuery(t){return t.behavior=Vn(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(de).catch(de)}ensureInfiniteQueryData(t){return t.behavior=Vn(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return yt.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(t){this.#n=t}setQueryDefaults(t,e){this.#r.set(nt(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...this.#r.values()],n={};return e.forEach(s=>{st(t,s.queryKey)&&Object.assign(n,s.defaultOptions)}),n}setMutationDefaults(t,e){this.#s.set(nt(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...this.#s.values()],n={};return e.forEach(s=>{st(t,s.mutationKey)&&Object.assign(n,s.defaultOptions)}),n}defaultQueryOptions(t){if(t._defaulted)return t;const e={...this.#n.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=mn(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===gn&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#n.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},hi=f.createContext(void 0),mi=({client:t,children:e})=>(f.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),h.jsx(hi.Provider,{value:t,children:e})),gi=typeof Element<"u",vi=typeof Map=="function",yi=typeof Set=="function",bi=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function ft(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.constructor!==e.constructor)return!1;var n,s,r;if(Array.isArray(t)){if(n=t.length,n!=e.length)return!1;for(s=n;s--!==0;)if(!ft(t[s],e[s]))return!1;return!0}var o;if(vi&&t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(o=t.entries();!(s=o.next()).done;)if(!e.has(s.value[0]))return!1;for(o=t.entries();!(s=o.next()).done;)if(!ft(s.value[1],e.get(s.value[0])))return!1;return!0}if(yi&&t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(o=t.entries();!(s=o.next()).done;)if(!e.has(s.value[0]))return!1;return!0}if(bi&&ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if(n=t.length,n!=e.length)return!1;for(s=n;s--!==0;)if(t[s]!==e[s])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf&&typeof t.valueOf=="function"&&typeof e.valueOf=="function")return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString&&typeof t.toString=="function"&&typeof e.toString=="function")return t.toString()===e.toString();if(r=Object.keys(t),n=r.length,n!==Object.keys(e).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(e,r[s]))return!1;if(gi&&t instanceof Element)return!1;for(s=n;s--!==0;)if(!((r[s]==="_owner"||r[s]==="__v"||r[s]==="__o")&&t.$$typeof)&&!ft(t[r[s]],e[r[s]]))return!1;return!0}return t!==t&&e!==e}var xi=function(e,n){try{return ft(e,n)}catch(s){if((s.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw s}};const wi=hn(xi);var Ti=function(t,e,n,s,r,o,a,i){if(!t){var l;if(e===void 0)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,s,r,o,a,i],u=0;l=new Error(e.replace(/%s/g,function(){return c[u++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}},Si=Ti;const qn=hn(Si);var Ci=function(e,n,s,r){var o=s?s.call(r,e,n):void 0;if(o!==void 0)return!!o;if(e===n)return!0;if(typeof e!="object"||!e||typeof n!="object"||!n)return!1;var a=Object.keys(e),i=Object.keys(n);if(a.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(n),c=0;c<a.length;c++){var u=a[c];if(!l(u))return!1;var p=e[u],g=n[u];if(o=s?s.call(r,p,g,u):void 0,o===!1||o===void 0&&p!==g)return!1}return!0};const Ai=hn(Ci);var Ys=(t=>(t.BASE="base",t.BODY="body",t.HEAD="head",t.HTML="html",t.LINK="link",t.META="meta",t.NOSCRIPT="noscript",t.SCRIPT="script",t.STYLE="style",t.TITLE="title",t.FRAGMENT="Symbol(react.fragment)",t))(Ys||{}),Dt={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]}
2,meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},Hn=Object.values(Ys),At={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Qs=Object.entries(At).reduce((t,[e,n])=>(t[n]=e,t),{}),pe="data-rh",_e={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Ve=(t,e)=>{for(let n=t.length-1;n>=0;n-=1){const s=t[n];if(Object.prototype.hasOwnProperty.call(s,e))return s[e]}return null},Pi=t=>{let e=Ve(t,"title");const n=Ve(t,_e.TITLE_TEMPLATE);if(Array.isArray(e)&&(e=e.join("")),n&&e)return n.replace(/%s/g,()=>e);const s=Ve(t,_e.DEFAULT_TITLE);return e||s||void 0},Ei=t=>Ve(t,_e.ON_CHANGE_CLIENT_STATE)||(()=>{}),$t=(t,e)=>e.filter(n=>typeof n[t]<"u").map(n=>n[t]).reduce((n,s)=>({...n,...s}),{}),Ri=(t,e)=>e.filter(n=>typeof n.base<"u").map(n=>n.base).reverse().reduce((n,s)=>{if(!n.length){const r=Object.keys(s);for(let o=0;o<r.length;o+=1){const i=r[o].toLowerCase();if(t.indexOf(i)!==-1&&s[i])return n.concat(s)}}return n},[]),Oi=t=>console&&typeof console.warn=="function"&&console.warn(t),Ke=(t,e,n)=>{const s={};return n.filter(r=>Array.isArray(r[t])?!0:(typeof r[t]<"u"&&Oi(`Helmet: ${t} should be of type "Array". Instead found type "${typeof r[t]}"`),!1)).map(r=>r[t]).reverse().reduce((r,o)=>{const a={};o.filter(l=>{let c;const u=Object.keys(l);for(let g=0;g<u.length;g+=1){const d=u[g],v=d.toLowerCase();e.indexOf(v)!==-1&&!(c==="rel"&&l[c].toLowerCase()==="canonical")&&!(v==="rel"&&l[v].toLowerCase()==="stylesheet")&&(c=v),e.indexOf(d)!==-1&&(d==="innerHTML"||d==="cssText"||d==="itemprop")&&(c=d)}if(!c||!l[c])return!1;const p=l[c].toLowerCase();return s[c]||(s[c]={}),a[c]||(a[c]={}),s[c][p]?!1:(a[c][p]=!0,!0)}).reverse().forEach(l=>r.push(l));const i=Object.keys(a);for(let l=0;l<i.length;l+=1){const c=i[l],u={...s[c],...a[c]};s[c]=u}return r},[]).reverse()},Li=(t,e)=>{if(Array.isArray(t)&&t.length){for(let n=0;n<t.length;n+=1)if(t[n][e])return!0}return!1},Ni=t=>({baseTag:Ri(["href"],t),bodyAttributes:$t("bodyAttributes",t),defer:Ve(t,_e.DEFER),encode:Ve(t,_e.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:$t("htmlAttributes",t),linkTags:Ke("link",["rel","href"],t),metaTags:Ke("meta",["name","charset","http-equiv","property","itemprop"],t),noscriptTags:Ke("noscript",["innerHTML"],t),onChangeClientState:Ei(t),scriptTags:Ke("script",["src","innerHTML"],t),styleTags:Ke("style",["cssText"],t),title:Pi(t),titleAttributes:$t("titleAttributes",t),prioritizeSeoTags:Li(t,_e.PRIORITIZE_SEO_TAGS)}),Xs=t=>Array.isArray(t)?t.join(""):t,Mi=(t,e)=>{const n=Object.keys(t);for(let s=0;s<n.length;s+=1)if(e[n[s]]&&e[n[s]].includes(t[n[s]]))return!0;return!1},Ft=(t,e)=>Array.isArray(t)?t.reduce((n,s)=>(Mi(s,e)?n.priority.push(s):n.default.push(s),n),{priority:[],default:[]}):{default:t,priority:[]},Bn=(t,e)=>({...t,[e]:void 0}),ji=["noscript","script","style"],Wt=(t,e=!0)=>e===!1?String(t):String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),Zs=t=>Object.keys(t).reduce((e,n)=>{const s=typeof t[n]<"u"?`${n}="${t[n]}"`:`${n}`;return e?`${e} ${s}`:s},""),ki=(t,e,n,s)=>{const r=Zs(n),o=Xs(e);return r?`<${t} ${pe}="true" ${r}>${Wt(o,s)}</${t}>`:`<${t} ${pe}="true">${Wt(o,s)}</${t}>`},Ii=(t,e,n=!0)=>e.reduce((s,r)=>{const o=r,a=Object.keys(o).filter(c=>!(c==="innerHTML"||c==="cssText")).reduce((c,u)=>{const p=typeof o[u]>"u"?u:`${u}="${Wt(o[u],n)}"`;return c?`${c} ${p}`:p},""),i=o.innerHTML||o.cssText||"",l=ji.indexOf(t)===-1;return`${s}<${t} ${pe}="true" ${a}${l?"/>":`>${i}</${t}>`}`},""),er=(t,e={})=>Object.keys(t).reduce((n,s)=>{const r=At[s];return n[r||s]=t[s],n},e),Di=(t,e,n)=>{const s={key:e,[pe]:!0},r=er(n,s);return[b.createElement("title",r,e)]},ht=(t,e)=>e.map((n,s)=>{const r={key:s,[pe]:!0};
2return Object.keys(n).forEach(o=>{const i=At[o]||o;if(i==="innerHTML"||i==="cssText"){const l=n.innerHTML||n.cssText;r.dangerouslySetInnerHTML={__html:l}}else r[i]=n[o]}),b.createElement(t,r)}),ie=(t,e,n=!0)=>{switch(t){case"title":return{toComponent:()=>Di(t,e.title,e.titleAttributes),toString:()=>ki(t,e.title,e.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>er(e),toString:()=>Zs(e)};default:return{toComponent:()=>ht(t,e),toString:()=>Ii(t,e,n)}}},$i=({metaTags:t,linkTags:e,scriptTags:n,encode:s})=>{const r=Ft(t,Dt.meta),o=Ft(e,Dt.link),a=Ft(n,Dt.script);return{priorityMethods:{toComponent:()=>[...ht("meta",r.priority),...ht("link",o.priority),...ht("script",a.priority)],toString:()=>`${ie("meta",r.priority,s)} ${ie("link",o.priority,s)} ${ie("script",a.priority,s)}`},metaTags:r.default,linkTags:o.default,scriptTags:a.default}},Fi=t=>{const{baseTag:e,bodyAttributes:n,encode:s=!0,htmlAttributes:r,noscriptTags:o,styleTags:a,title:i="",titleAttributes:l,prioritizeSeoTags:c}=t;let{linkTags:u,metaTags:p,scriptTags:g}=t,d={toComponent:()=>[],toString:()=>""};return c&&({priorityMethods:d,linkTags:u,metaTags:p,scriptTags:g}=$i(t)),{priority:d,base:ie("base",e,s),bodyAttributes:ie("bodyAttributes",n,s),htmlAttributes:ie("htmlAttributes",r,s),link:ie("link",u,s),meta:ie("meta",p,s),noscript:ie("noscript",o,s),script:ie("script",g,s),style:ie("style",a,s),title:ie("title",{title:i,titleAttributes:l},s)}},Yt=Fi,lt=[],vn=!!(typeof window<"u"&&window.document&&window.document.createElement),Qt=class{instances=[];canUseDOM=vn;context;value={setHelmet:t=>{this.context.helmet=t},helmetInstances:{get:()=>this.canUseDOM?lt:this.instances,add:t=>{(this.canUseDOM?lt:this.instances).push(t)},remove:t=>{const e=(this.canUseDOM?lt:this.instances).indexOf(t);(this.canUseDOM?lt:this.instances).splice(e,1)}}};constructor(t,e){this.context=t,this.canUseDOM=e||!1,e||(t.helmet=Yt({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},_i=parseInt(b.version.split(".")[0],10),Xt=_i>=19,Vi={},tr=b.createContext(Vi),nr=class sr extends f.Component{static canUseDOM=vn;helmetData;constructor(e){super(e),Xt?this.helmetData=null:this.helmetData=new Qt(this.props.context||{},sr.canUseDOM)}render(){return Xt?b.createElement(b.Fragment,null,this.props.children):b.createElement(tr.Provider,{value:this.helmetData.value},this.props.children)}},Fe=(t,e)=>{const n=document.head||document.querySelector("head"),s=n.querySelectorAll(`${t}[${pe}]`),r=[].slice.call(s),o=[];let a;return e&&e.length&&e.forEach(i=>{const l=document.createElement(t);for(const c in i)if(Object.prototype.hasOwnProperty.call(i,c))if(c==="innerHTML")l.innerHTML=i.innerHTML;else if(c==="cssText"){const u=i.cssText;l.appendChild(document.createTextNode(u))}else{const u=c,p=typeof i[u]>"u"?"":i[u];l.setAttribute(c,p)}l.setAttribute(pe,"true"),r.some((c,u)=>(a=u,l.isEqualNode(c)))?r.splice(a,1):o.push(l)}),r.forEach(i=>i.parentNode?.removeChild(i)),o.forEach(i=>n.appendChild(i)),{oldTags:r,newTags:o}},Zt=(t,e)=>{const n=document.getElementsByTagName(t)[0];if(!n)return;const s=n.getAttribute(pe),r=s?s.split(","):[],o=[...r],a=Object.keys(e);for(const i of a){const l=e[i]||"";n.getAttribute(i)!==l&&n.setAttribute(i,l),r.indexOf(i)===-1&&r.push(i);const c=o.indexOf(i);c!==-1&&o.splice(c,1)}for(let i=o.length-1;i>=0;i-=1)n.removeAttribute(o[i]);r.length===o.length?n.removeAttribute(pe):n.getAttribute(pe)!==a.join(",")&&n.setAttribute(pe,a.join(","))},zi=(t,e)=>{typeof t<"u"&&document.title!==t&&(document.title=Xs(t)),Zt("title",e)},Un=(t,e)=>{const{baseTag:n,bodyAttributes:s,htmlAttributes:r,linkTags:o,metaTags:a,noscriptTags:i,onChangeClientState:l,scriptTags:c,styleTags:u,title:p,titleAttributes:g}=t;Zt("body",s),Zt("html",r),zi(p,g);const d={baseTag:Fe("base",n),linkTags:Fe("link",o),metaTags:Fe("meta",a),noscriptTags:Fe("noscript",i),scriptTags:Fe("script",c),styleTags:Fe("style",u)},v={},m={};Object.keys(d).forEach(y=>{const{newTags:w,oldTags:x}=d[y];w.length&&(v[y]=w),x.length&&(m[y]=d[y].oldTags)}),e&&e(),l(t,v,m)},We=null,qi=t=>{We&&cancelAnimationFrame(We),t.defer?We=requestAnimationFrame(()=>{Un(t,()=>{We=null})}):(Un(t),We=null)},Hi=qi,Jn=class extends f.Component{rendered=!1;shouldComponentUpdate(t){return!Ai(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:e}=this.props.context;let n=null;const s=Ni(t.get().map(r=>{const{context:o,...a}=r.props;return a}));nr.canUseDOM?Hi(s):Yt&&(n=Yt(s)),e(n)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},mt=[],Gn=t=>{const e={};for(const n of Object.keys(t))e[Qs[n]||n]=t[n];return e},Le=t=>{const e={};for(const n of Object.keys(t)){const s=At[n];e[s||n]=t[n]}return e},Kn=(t,e)=>{if(!vn)return;const n=document.getElementsByTagName(t)[0];if(!n)return;const s="data-rh-managed",r=n.getAttribute(s),o=r?r.split(","):[],a=Object.keys(e);for(const i of o)a.includes(i)||n.removeAttribute(i);for(const i of a){const l=e[i];l==null||l===!1?n.removeAttribute(i):l===!0?n.setAttribute(i,""):n.setAttribute(i,String(l))}a.length>0?n.setAttribute(s,a.join(",")):n.removeAttribute(s)},_t=()=>{const t={},e={};for(const n of mt){const{htmlAttributes:s,bodyAttributes:r}=n.props;s&&Object.assign(t,Gn(s)),r&&Object.assign(e,Gn(r))}Kn("html",t),Kn("body",e)},Bi=class extends f.Component{componentDidMount(){mt.push(this),_t()}componentDidUpdate(){_t()}componentWillUnmount(){const t=mt.indexOf(this);t!==-1&&mt.splice(t,1),_t()}resolveTitle(){const{title:t,titleTemplate:e,defaultTitle:n}=this.props;return t&&e?e.replace(/%s/g,()=>Array.isArray(t)?t.join(""):t):t||n||void 0}renderTitle(){const t=this.resolveTitle();if(t===void 0)return null;const e=this.props.titleAttributes||{};return b.createElement("title",Le(e),t)}renderBase(){const{base:t}=this.props;return t?b.createElement("base",Le(t)):null}renderMeta(){const{meta:t}=this.props;return!t||!Array.isArray(t)?null:t.map((e,n)=>b.createElement("meta",{key:n,...Le(e)}))}renderLink(){const{link:t}=this.props;return!t||!Array.isArray(t)?null:t.map((e,n)=>b.createElement("link",{key:n,...Le(e)}))}renderScript(){const{script:t}=this.props;return!t||!Array.isArray(t)?null:t.map((e,n)=>{const{innerHTML:s,...r}=e,o=Le(r);return s&&(o.dangerouslySetInnerHTML={__html:s}),b.createElement("script",{key:n,...o})})}renderStyle(){const{style:t}=this.props;return!t||!Array.isArray(t)?null:t.map((e,n)=>{const{cssText:s,...r}=e,o=Le(r);return s&&(o.dangerouslySetInnerHTML={__html:s}),b.createElement("style",{key:n,...o})})}renderNoscript(){const{noscript:t}=this.props;return!t||!Array.isArray(t)?null:t.map((e,n)=>{const{innerHTML:s,...r}=e,o=Le(r);return s&&(o.dangerouslySetInnerHTML={__html:s}),b.createElement("noscript",{key:n,...o})})}render(){return b.createElement(b.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},Wp=class extends f.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(t){return!wi(Bn(this.props,"helmetData"),Bn(t,"helmetData"))}mapNestedChildrenToProps(t,e){if(!e)return null;switch(t.type){case"script":case"noscript":return{innerHTML:e};case"style":return{cssText:e};default:throw new Error(`<${t.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(t,e,n,s){return{...e,[t.type]:[...e[t.type]||[],{...n,...this.mapNestedChildrenToProps(t,s)}]}}mapObjectTypeChildren(t,e,n,s){switch(t.type){case"title":return{...e,[t.type]:s,titleAttributes:{...n}};case"body":return{...e,bodyAttributes:{...n}};case"html":return{...e,htmlAttributes:{...n}};default:return{...e,[t.type]:{...n}}}}mapArrayTypeChildrenToProps(t,e){let n={...e};return Object.keys(t).forEach(s=>
2{n={...n,[s]:t[s]}}),n}warnOnInvalidChildren(t,e){return qn(Hn.some(n=>t.type===n),typeof t.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Hn.join(", ")} are allowed. Helmet does not support rendering <${t.type}> elements. Refer to our API for more information.`),qn(!e||typeof e=="string"||Array.isArray(e)&&!e.some(n=>typeof n!="string"),`Helmet expects a string as a child of <${t.type}>. Did you forget to wrap your children in braces? ( <${t.type}>{\`\`}</${t.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(t,e){let n={};return b.Children.forEach(t,s=>{if(!s||!s.props)return;const{children:r,...o}=s.props,a=Object.keys(o).reduce((l,c)=>(l[Qs[c]||c]=o[c],l),{});let{type:i}=s;switch(typeof i=="symbol"?i=i.toString():this.warnOnInvalidChildren(s,r),i){case"Symbol(react.fragment)":e=this.mapChildrenToProps(r,e);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(s,n,a,r);break;default:e=this.mapObjectTypeChildren(s,e,a,r);break}}),this.mapArrayTypeChildrenToProps(n,e)}render(){const{children:t,...e}=this.props;let n={...e},{helmetData:s}=e;if(t&&(n=this.mapChildrenToProps(t,n)),s&&!(s instanceof Qt)){const r=s;s=new Qt(r.context,!0),delete n.helmetData}return Xt?b.createElement(Bi,{...n}):s?b.createElement(Jn,{...n,context:s.value}):b.createElement(tr.Consumer,null,r=>b.createElement(Jn,{...n,context:r}))}};const M=t=>typeof t=="string",Ye=()=>{let t,e;const n=new Promise((s,r)=>{t=s,e=r});return n.resolve=t,n.reject=e,n},Wn=t=>t==null?"":String(t),Ui=(t,e,n)=>{t.forEach(s=>{e[s]&&(n[s]=e[s])})},Ji=/###/g,Yn=t=>t&&t.includes("###")?t.replace(Ji,"."):t,Qn=t=>!t||M(t),Ze=(t,e,n)=>{const s=M(e)?e.split("."):e;let r=0;for(;r<s.length-1;){if(Qn(t))return{};const o=Yn(s[r]);!t[o]&&n&&(t[o]=new n),Object.prototype.hasOwnProperty.call(t,o)?t=t[o]:t={},++r}return Qn(t)?{}:{obj:t,k:Yn(s[r])}},Xn=(t,e,n)=>{const{obj:s,k:r}=Ze(t,e,Object);if(s!==void 0||e.length===1){s[r]=n;return}let o=e[e.length-1],a=e.slice(0,e.length-1),i=Ze(t,a,Object);for(;i.obj===void 0&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),i=Ze(t,a,Object),i?.obj&&typeof i.obj[`${i.k}.${o}`]<"u"&&(i.obj=void 0);i.obj[`${i.k}.${o}`]=n},Gi=(t,e,n,s)=>{const{obj:r,k:o}=Ze(t,e,Object);r[o]=r[o]||[],r[o].push(n)},bt=(t,e)=>{const{obj:n,k:s}=Ze(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,s))return n[s]},Ki=(t,e,n)=>{const s=bt(t,n);return s!==void 0?s:bt(e,n)},rr=(t,e,n)=>{for(const s in e)s!=="__proto__"&&s!=="constructor"&&(Object.prototype.hasOwnProperty.call(t,s)?M(t[s])||t[s]instanceof String||M(e[s])||e[s]instanceof String?n&&(t[s]=e[s]):rr(t[s],e[s],n):t[s]=e[s]);return t},me=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),Wi={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},Yi=t=>M(t)?t.replace(/[&<>"'\/]/g,e=>Wi[e]):t;class Qi{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}const Xi=[" ",",","?","!",";"],Zi=new Qi(20),ea=(t,e,n)=>{e=e||"",n=n||"";const s=Xi.filter(a=>!e.includes(a)&&!n.includes(a));if(s.length===0)return!0;const r=Zi.getRegExp(`(${s.map(a=>a==="?"?"\\?":a).join("|")})`);let o=!r.test(t);if(!o){const a=t.indexOf(n);a>0&&!r.test(t.substring(0,a))&&(o=!0)}return o},en=(t,e,n=".")=>{if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const s=e.split(n);let r=t;for(let o=0;o<s.length;){if(!r||typeof r!="object")return;let a,i="";for(let l=o;l<s.length;++l)if(l!==o&&(i+=n),i+=s[l],a=r[i],a!==void 0){if(["string","number","boolean"].includes(typeof a)&&l<s.length-1)continue;o+=l-o+1;break}r=a}return r},rt=t=>t?.replace(/_/g,"-"),ta={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console?.[t]?.apply?.(console,e)}};class xt{constructor(e,n={}){this.init(e,n)}init(e,n={}){this.prefix=n.prefix||"i18next:",this.logger=e||ta,this.options=n,this.debug=n.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,s,r){return r&&!this.debug?null:(e=e.map(o=>M(o)?o.replace(/[\r\n\x00-\x1F\x7F]/g," "):o),M(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new xt(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new xt(this.logger,e)}}var he=new xt;class Pt{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(s=>{this.observers[s]||(this.observers[s]=new Map);const r=this.observers[s].get(n)||0;this.observers[s].set(n,r+1)}),this}
2off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}once(e,n){const s=(...r)=>{n(...r),this.off(e,s)};return this.on(e,s),this}emit(e,...n){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([r,o])=>{for(let a=0;a<o;a++)r(...n)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,o])=>{for(let a=0;a<o;a++)r(e,...n)})}}class Zn extends Pt{constructor(e,n={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,s,r={}){const o=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,a=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let i;e.includes(".")?i=e.split("."):(i=[e,n],s&&(Array.isArray(s)?i.push(...s):M(s)&&o?i.push(...s.split(o)):i.push(s)));const l=bt(this.data,i);return!l&&!n&&!s&&e.includes(".")&&(e=i[0],n=i[1],s=i.slice(2).join(".")),l||!a||!M(s)?l:en(this.data?.[e]?.[n],s,o)}addResource(e,n,s,r,o={silent:!1}){const a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let i=[e,n];s&&(i=i.concat(a?s.split(a):s)),e.includes(".")&&(i=e.split("."),r=n,n=i[1]),this.addNamespaces(n),Xn(this.data,i,r),o.silent||this.emit("added",e,n,s,r)}addResources(e,n,s,r={silent:!1}){for(const o in s)(M(s[o])||Array.isArray(s[o]))&&this.addResource(e,n,o,s[o],{silent:!0});r.silent||this.emit("added",e,n,s)}addResourceBundle(e,n,s,r,o,a={silent:!1,skipCopy:!1}){let i=[e,n];e.includes(".")&&(i=e.split("."),r=s,s=n,n=i[1]),this.addNamespaces(n);let l=bt(this.data,i)||{};a.skipCopy||(s=JSON.parse(JSON.stringify(s))),r?rr(l,s,o):l={...l,...s},Xn(this.data,i,l),a.silent||this.emit("added",e,n,s)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(r=>n[r]&&Object.keys(n[r]).length>0)}toJSON(){return this.data}}var or={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,s,r){return t.forEach(o=>{e=this.processors[o]?.process(e,n,s,r)??e}),e}};const ir=Symbol("i18next/PATH_KEY");function na(){const t=[],e=Object.create(null);let n;return e.get=(s,r)=>(n?.revoke?.(),r===ir?t:(t.push(r),n=Proxy.revocable(s,e),n.proxy)),Proxy.revocable(Object.create(null),e).proxy}function ze(t,e){const{[ir]:n}=t(na()),s=e?.keySeparator??".",r=e?.nsSeparator??":",o=e?.enableSelector==="strict";if(n.length>1&&r){const a=e?.ns,i=o?Array.isArray(a)?a:a?[a]:null:Array.isArray(a)?a:null;if(i&&(o?i:i.length>1?i.slice(1):[]).includes(n[0]))return`${n[0]}${r}${n.slice(1).join(s)}`}return n.join(s)}const Vt=t=>!M(t)&&typeof t!="boolean"&&typeof t!="number";class wt extends Pt{constructor(e,n={}){super(),Ui(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","
2i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=he.create("translator"),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,n={interpolation:{}}){const s={...n};if(e==null)return!1;const r=this.resolve(e,s);if(r?.res===void 0)return!1;const o=Vt(r.res);return!(s.returnObjects===!1&&o)}extractFromKey(e,n){let s=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");const r=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const a=s&&e.includes(s),i=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!ea(e,s,r);if(a&&!i){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:M(o)?[o]:o};const c=e.split(s);(s!==r||s===r&&this.options.ns.includes(c[0]))&&(o=c.shift()),e=c.join(r)}return{key:e,namespaces:M(o)?[o]:o}}translate(e,n,s){let r=typeof n=="object"?{...n}:n;if(typeof r!="object"&&this.options.overloadTranslationOptionHandler&&(r=this.options.overloadTranslationOptionHandler(arguments)),typeof r=="object"&&(r={...r}),r||(r={}),e==null)return"";typeof e=="function"&&(e=ze(e,{...this.options,...r})),Array.isArray(e)||(e=[String(e)]),e=e.map($=>typeof $=="function"?ze($,{...this.options,...r}):String($));const o=r.returnDetails!==void 0?r.returnDetails:this.options.returnDetails,a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,{key:i,namespaces:l}=this.extractFromKey(e[e.length-1],r),c=l[l.length-1];let u=r.nsSeparator!==void 0?r.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const p=r.lng||this.language,g=r.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p?.toLowerCase()==="cimode")return g?o?{res:`${c}${u}${i}`,usedKey:i,exactUsedKey:i,usedLng:p,usedNS:c,usedParams:this.getUsedParamsDetails(r)}:`${c}${u}${i}`:o?{res:i,usedKey:i,exactUsedKey:i,usedLng:p,usedNS:c,usedParams:this.getUsedParamsDetails(r)}:i;const d=this.resolve(e,r);let v=d?.res;const m=d?.usedKey||i,y=d?.exactUsedKey||i,w=["[object Number]","[object Function]","[object RegExp]"],x=r.joinArrays!==void 0?r.joinArrays:this.options.joinArrays,T=!this.i18nFormat||this.i18nFormat.handleAsObject,S=r.count!==void 0&&!M(r.count),R=wt.hasDefaultValue(r),P=S?this.pluralResolver.getSuffix(p,r.count,r):"",N=r.ordinal&&S?this.pluralResolver.getSuffix(p,r.count,{ordinal:!1}):"",G=S&&!r.ordinal&&r.count===0,L=G&&r[`defaultValue${this.options.pluralSeparator}zero`]||r[`defaultValue${P}`]||r[`defaultValue${N}`]||r.defaultValue;let O=v;T&&!v&&R&&(O=L);const k=Vt(O),A=Object.prototype.toString.apply(O);
vendor: 11,373 bytes, line 2
2if(T&&O&&k&&!w.includes(A)&&!(M(x)&&Array.isArray(O))){if(!r.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const $=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,O,{...r,ns:l}):`key '${i} (${this.language})' returned an object instead of string.`;return o?(d.res=$,d.usedParams=this.getUsedParamsDetails(r),d):$}if(a){const $=Array.isArray(O),C=$?[]:{},K=$?y:m;for(const _ in O)if(Object.prototype.hasOwnProperty.call(O,_)){const V=`${K}${a}${_}`;R&&!v?C[_]=this.translate(V,{...r,defaultValue:Vt(L)?L[_]:void 0,joinArrays:!1,ns:l}):C[_]=this.translate(V,{...r,joinArrays:!1,ns:l}),C[_]===V&&(C[_]=O[_])}v=C}}else if(T&&M(x)&&Array.isArray(v))v=v.join(x),v&&(v=this.extendTranslation(v,e,r,s));else{let $=!1,C=!1;!this.isValidLookup(v)&&R&&($=!0,v=L),this.isValidLookup(v)||(C=!0,v=i);const _=(r.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:v,V=R&&L!==v&&this.options.updateMissing;if(C||$||V){if(this.logger.log(V?"updateKey":"missingKey",p,c,S&&!V?`${i}${this.pluralResolver.getSuffix(p,r.count,r)}`:i,V?L:v),a){const q=this.resolve(i,{...r,keySeparator:!1});q&&q.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let J=[];const E=this.languageUtils.getFallbackCodes(this.options.fallbackLng,r.lng||this.language);if(this.options.saveMissingTo==="fallback"&&E&&E[0])for(let q=0;q<E.length;q++)J.push(E[q]);else this.options.saveMissingTo==="all"?J=this.languageUtils.toResolveHierarchy(r.lng||this.language):J.push(r.lng||this.language);const Q=(q,I,F)=>{const H=R&&F!==v?F:_;this.options.missingKeyHandler?this.options.missingKeyHandler(q,c,I,H,V,r):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(q,c,I,H,V,r),this.emit("missingKey",q,c,I,v)};this.options.saveMissing&&(this.options.saveMissingPlurals&&S?J.forEach(q=>{const I=this.pluralResolver.getSuffixes(q,r);G&&r[`defaultValue${this.options.pluralSeparator}zero`]&&!I.includes(`${this.options.pluralSeparator}zero`)&&I.push(`${this.options.pluralSeparator}zero`),I.forEach(F=>{Q([q],i+F,r[`defaultValue${F}`]||L)})}):Q(J,i,L))}v=this.extendTranslation(v,e,r,d,s),C&&v===i&&this.options.appendNamespaceToMissingKey&&(v=`${c}${u}${i}`),(C||$)&&this.options.parseMissingKeyHandler&&(v=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${c}${u}${i}`:i,$?v:void 0,r))}return o?(d.res=v,d.usedParams=this.getUsedParamsDetails(r),d):v}extendTranslation(e,n,s,r,o){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const l=M(e)&&(s?.interpolation?.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(l){const p=e.match(this.interpolator.nestingRegexp);c=p&&p.length}let u=s.replace&&!M(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),e=this.interpolator.interpolate(e,u,s.lng||this.language||r.usedLng,s),l){const p=e.match(this.interpolator.nestingRegexp),g=p&&p.length;c<g&&(s.nest=!1)}!s.lng&&r&&r.res&&(s.lng=this.language||r.usedLng),s.nest!==!1&&(e=this.interpolator.nest(e,(...p)=>o?.[0]===p[0]&&!s.context?(this.logger.warn(`It seems you are nesting recursively key: ${p[0]} in key: ${n[0]}`),null):this.translate(...p,n),s)),s.interpolation&&this.interpolator.reset()}const a=s.postProcess||this.options.postProcess,i=M(a)?[a]:a;return e!=null&&i?.length&&s.applyPostProcessor!==!1&&(e=or.handle(i,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e,n={}){let s,r,o,a,i;return M(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(l=>typeof l=="function"?ze(l,{...this.options,...n}):l)),e.forEach(l=>{if(this.isValidLookup(s))return;const c=this.extractFromKey(l,n),u=c.key;r=u;let p=c.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const g=n.count!==void 0&&!M(n.count),d=g&&!n.ordinal&&n.count===0,v=n.context!==void 0&&(M(n.context)||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);p.forEach(y=>{this.isValidLookup(s)||(i=y,!this.checkedLoadedFor[`${m[0]}-${y}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(i)&&(this.checkedLoadedFor[`${m[0]}-${y}`]=!0,this.logger.warn(`key "${r}" for languages "${m.join(", ")}" won't get resolved as namespace "${i}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(w=>{if(this.isValidLookup(s))return;a=w;const x=[u];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(x,u,w,y,n);else{let S;g&&(S=this.pluralResolver.getSuffix(w,n.count,n));const R=`${this.options.pluralSeparator}zero`,P=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(g&&(n.ordinal&&S.startsWith(P)&&x.push(u+S.replace(P,this.options.pluralSeparator)),x.push(u+S),d&&x.push(u+R)),v){const N=`${u}${this.options.contextSeparator||"_"}${n.context}`;x.push(N),g&&(n.ordinal&&S.startsWith(P)&&x.push(N+S.replace(P,this.options.pluralSeparator)),x.push(N+S),d&&x.push(N+R))}}let T;for(;T=x.pop();)this.isValidLookup(s)||(o=T,s=this.getResource(w,y,T,n))}))})}),{res:s,usedKey:r,exactUsedKey:o,usedLng:a,usedNS:i}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,s,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,n,s,r):this.resourceStore.getResource(e,n,s,r)}getUsedParamsDetails(e={}){const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!M(e.replace);let r=s?e.replace:e;if(s&&typeof e.count<"u"&&(r={...r,count:e.count}),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!s){r={...r};for(const o of n)delete r[o]}return r}static hasDefaultValue(e){const n="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&s.startsWith(n)&&e[s]!==void 0)return!0;return!1}}class es{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=he.create("languageUtils")}getScriptPartFromCode(e){if(e=rt(e),!e||!e.includes("-"))return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=rt(e),!e||!e.includes("-"))return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(M(e)&&e.includes("-")){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(s=>{if(n)return;const r=this.formatLanguageCode(s);(!this.options.supportedLngs||this.isSupportedCode(r))&&(n=r)}),!n&&this.options.supportedLngs&&e.forEach(s=>{if(n)return;const r=this.getScriptPartFromCode(s);if(this.isSupportedCode(r))return n=r;const o=this.getLanguagePartFromCode(s);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(a=>a===o?!0:!a.includes("-")&&!o.includes("-")?!1:!!(a.includes("-")&&!o.includes("-")&&a.slice(0,a.indexOf("-"))===o||a.startsWith(o)&&o.length>1))}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),M(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let s=e[n];return s||(s=e[this.getScriptPartFromCode(n)]),s||(s=e[this.formatLanguageCode(n)]),s||(s=e[this.getLanguagePartFromCode(n)]),s||(s=e.default),s||[]}toResolveHierarchy(e,n){const s=this.getFallbackCodes((n===!1?[]:n)||this.options.fallbackLng||[],e),r=[],o=a=>{a&&(this.isSupportedCode(a)?r.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return M(e)&&(e.includes("-")||e.includes("_"))?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(e))):M(e)&&o(this.formatLanguageCode(e)),s.forEach(a=>{r.includes(a)||o(this.formatLanguageCode(a))}),r}}const ts={zero:0,one:1,two:2,few:3,many:4,other:5},ns={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class sa{constructor(e,n={}){this.languageUtils=e,this.options=n,this.logger=he.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,n={}){const s=rt(e==="dev"?"en":e),r=n.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:s,type:r});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let a;try{a=new Intl.PluralRules(s,{type:r})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),ns;if(!e.match(/-|_/))return ns;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[o]=a,a}needsPlural(e,n={}){let s=this.getRule(e,n);return s||(s=this.getRule("dev",n)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,n,s={}){return this.getSuffixes(e,s).map(r=>`${n}${r}`)}getSuffixes(e,n={}){let s=this.getRule(e,n);return s||(s=this.getRule("dev",n)),s?s.resolvedOptions().pluralCategories.sort((r,o)=>ts[r]-ts[o]).map(r=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(e,n,s={}){const r=this.getRule(e,s);return r?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${r.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,s))}}const ss=(t,e,n,s=".",r=!0)=>{let o=Ki(t,e,n);return!o&&r&&M(n)&&(o=en(t,n,s),o===void 0&&(o=en(e,n,s))),o},ra=t=>t.replace(/\$/g,"$$$$");class rs{constructor(e={}){this.logger=he.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(n=>n),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:s,useRawValueToEscape:r,prefix:o,prefixEscaped:a,suffix:i,suffixEscaped:l,formatSeparator:c,unescapeSuffix:u,unescapePrefix:p,nestingPrefix:g,nestingPrefixEscaped:d,nestingSuffix:v,nestingSuffixEscaped:m,nestingOptionsSeparator:y,maxReplaces:w,alwaysFormat:
2x}=e.interpolation;this.escape=n!==void 0?n:Yi,this.escapeValue=s!==void 0?s:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=o?me(o):a||"{{",this.suffix=i?me(i):l||"}}",this.formatSeparator=c||",",this.unescapePrefix=u?"":p?me(p):"-",this.unescapeSuffix=this.unescapePrefix?"":u?me(u):"",this.nestingPrefix=g?me(g):d||me("$t("),this.nestingSuffix=v?me(v):m||me(")"),this.nestingOptionsSeparator=y||",",this.maxReplaces=w||1e3,this.alwaysFormat=x!==void 0?x:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,s)=>n?.source===s?(n.lastIndex=0,n):new RegExp(s,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,n,s,r){let o,a,i;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=d=>{if(!d.includes(this.formatSeparator)){const w=ss(n,l,d,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(w,void 0,s,{...r,...n,interpolationkey:d}):w}const v=d.split(this.formatSeparator),m=v.shift().trim(),y=v.join(this.formatSeparator).trim();return this.format(ss(n,l,m,this.options.keySeparator,this.options.ignoreJSONStructure),y,s,{...r,...n,interpolationkey:m})};this.resetRegExp(),!this.escapeValue&&typeof e=="string"&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");const u=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,p=r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:d=>d},{regex:this.regexp,safeValue:d=>this.escapeValue?this.escape(d):d}
vendor: 12,826 bytes, line 2
2].forEach(d=>{for(i=0;o=d.regex.exec(e);){const v=o[1].trim();if(a=c(v),a===void 0)if(typeof u=="function"){const y=u(e,o,r);a=M(y)?y:""}else if(r&&Object.prototype.hasOwnProperty.call(r,v))a="";else if(p){a=o[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${e}`),a="";else!M(a)&&!this.useRawValueToEscape&&(a=Wn(a));const m=d.safeValue(a);if(e=e.replace(o[0],ra(m)),p?(d.regex.lastIndex+=m.length,d.regex.lastIndex-=o[0].length):d.regex.lastIndex=0,i++,i>=this.maxReplaces)break}}),e}nest(e,n,s={}){let r,o,a;const i=(l,c)=>{const u=this.nestingOptionsSeparator;if(!l.includes(u))return l;const p=l.split(new RegExp(`${me(u)}[ ]*{`));let g=`{${p[1]}`;l=p[0],g=this.interpolate(g,a);const d=g.match(/'/g),v=g.match(/"/g);((d?.length??0)%2===0&&!v||(v?.length??0)%2!==0)&&(g=g.replace(/'/g,'"'));try{a=JSON.parse(g),c&&(a={...c,...a})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${u}${g}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,l};for(;r=this.nestingRegexp.exec(e);){let l=[];a={...s},a=a.replace&&!M(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const c=/{.*}/s.test(r[1])?r[1].lastIndexOf("}")+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(l=r[1].slice(c).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),o=n(i.call(this,r[1].trim(),a),a),o&&r[0]===e&&!M(o))return o;M(o)||(o=Wn(o)),o||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),o=""),l.length&&(o=l.reduce((u,p)=>this.format(u,p,s.lng,{...s,interpolationkey:r[1].trim()}),o.trim())),e=e.replace(r[0],o),this.regexp.lastIndex=0}return e}}const oa=t=>{let e=t.toLowerCase().trim();const n={};if(t.includes("(")){const s=t.split("(");e=s[0].toLowerCase().trim();const r=s[1].slice(0,-1);e==="currency"&&!r.includes(":")?n.currency||(n.currency=r.trim()):e==="relativetime"&&!r.includes(":")?n.range||(n.range=r.trim()):r.split(";").forEach(a=>{if(a){const[i,...l]=a.split(":"),c=l.join(":").trim().replace(/^'+|'+$/g,""),u=i.trim();n[u]||(n[u]=c),c==="false"&&(n[u]=!1),c==="true"&&(n[u]=!0),isNaN(c)||(n[u]=parseInt(c,10))}})}return{formatName:e,formatOptions:n}},os=t=>{const e={};return(n,s,r)=>{let o=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(o={...o,[r.interpolationkey]:void 0});const a=s+JSON.stringify(o);let i=e[a];return i||(i=t(rt(s),r),e[a]=i),i(n)}},ia=t=>(e,n,s)=>t(rt(n),s)(e);class aa{constructor(e={}){this.logger=he.create("formatter"),this.options=e,this.init(e)}init(e,n={interpolation:{}}){this.formatSeparator=n.interpolation.formatSeparator||",";const s=n.cacheInBuiltFormats?os:ia;this.formats={number:s((r,o)=>{const a=new Intl.NumberFormat(r,{...o});return i=>a.format(i)}),currency:s((r,o)=>{const a=new Intl.NumberFormat(r,{...o,style:"currency"});return i=>a.format(i)}),datetime:s((r,o)=>{const a=new Intl.DateTimeFormat(r,{...o});return i=>a.format(i)}),relativetime:s((r,o)=>{const a=new Intl.RelativeTimeFormat(r,{...o});return i=>a.format(i,o.range||"day")}),list:s((r,o)=>{const a=new Intl.ListFormat(r,{...o});return i=>a.format(i)})}}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=os(n)}format(e,n,s,r={}){if(!n||e==null)return e;const o=n.split(this.formatSeparator),a=[];for(let l=0;l<o.length;l++){let c=o[l];for(;c.indexOf("(")>-1&&!c.includes(")")&&l+1<o.length;)c=`${c}${this.formatSeparator}${o[++l]}`;a.push(c)}return a.reduce((l,c)=>{const{formatName:u,formatOptions:p}=oa(c);if(this.formats[u]){let g=l;try{const d=r?.formatParams?.[r.interpolationkey]||{},v=d.locale||d.lng||r.locale||r.lng||s;g=this.formats[u](l,v,{...p,...r,...d})}catch(d){this.logger.warn(d)}return g}else this.logger.warn(`there was no format function for ${u}`);return l},e)}}const la=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class ca extends Pt{constructor(e,n,s,r={}){super(),this.backend=e,this.store=n,this.services=s,this.languageUtils=s.languageUtils,this.options=r,this.logger=he.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,r.backend,r)}queueLoad(e,n,s,r){const o={},a={},i={},l={};return e.forEach(c=>{let u=!0;n.forEach(p=>{const g=`${c}|${p}`;!s.reload&&this.store.hasResourceBundle(c,p)?this.state[g]=2:this.state[g]<0||(this.state[g]===1?a[g]===void 0&&(a[g]=!0):(this.state[g]=1,u=!1,a[g]===void 0&&(a[g]=!0),o[g]===void 0&&(o[g]=!0),l[p]===void 0&&(l[p]=!0)))}),u||(i[c]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(i),toLoadNamespaces:Object.keys(l)}}loaded(e,n,s){const r=e.split("|"),o=r[0],a=r[1];n&&this.emit("failedLoading",o,a,n),!n&&s&&this.store.addResourceBundle(o,a,s,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&s&&(this.state[e]=0);const i={};this.queue.forEach(l=>{Gi(l.loaded,[o],a),la(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(c=>{i[c]||(i[c]={});const u=l.loaded[c];u.length&&u.forEach(p=>{i[c][p]===void 0&&(i[c][p]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(l=>!l.done)}read(e,n,s,r=0,o=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:s,tried:r,wait:o,callback:a});return}this.readingCalls++;const i=(c,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const p=this.waitingReads.shift();this.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(c&&u&&r<this.maxRetries){setTimeout(()=>{this.read(e,n,s,r+1,o*2,a)},o);return}a(c,u)},l=this.backend[s].bind(this.backend);if(l.length===2){try{const c=l(e,n);c&&typeof c.then=="function"?c.then(u=>i(null,u)).catch(i):i(null,c)}catch(c){i(c)}return}return l(e,n,i)}prepareLoading(e,n,s={},r){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();M(e)&&(e=this.languageUtils.toResolveHierarchy(e)),M(n)&&(n=[n]);const o=this.queueLoad(e,n,s,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,s){this.prepareLoading(e,n,{},s)}reload(e,n,s){this.prepareLoading(e,n,{reload:!0},s)}loadOne(e,n=""){const s=e.split("|"),r=s[0],o=s[1];this.read(r,o,"read",void 0,void 0,(a,i)=>{a&&this.logger.warn(`${n}loading namespace ${o} for language ${r} failed`,a),!a&&i&&this.logger.log(`${n}loaded namespace ${o} for language ${r}`,i),this.loaded(e,a,i)})}saveMissing(e,n,s,r,o,a={},i=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${s}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(s==null||s==="")){if(this.backend?.create){const l={...a,isUpdate:o},c=this.backend.create.bind(this.backend);if(c.length<6)try{let u;c.length===5?u=c(e,n,s,r,l):u=c(e,n,s,r),u&&typeof u.then=="function"?u.then(p=>i(null,p)).catch(i):i(null,u)}catch(u){i(u)}else c(e,n,s,r,i,l)}!e||!e[0]||this.store.addResource(e[0],n,s,r)}}}const zt=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),M(t[1])&&(e.defaultValue=t[1]),M(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(s=>{e[s]=n[s]})}return e},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),is=t=>(M(t.ns)&&(t.ns=[t.ns]),M(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),M(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&!t.supportedLngs.includes("cimode")&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t),ct=()=>{},ua=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class et extends Pt{constructor(e={},n){if(super(),this.options=is(e),this.services={},this.logger=he,this.modules={external:[]},ua(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(e={},n){this.isInitializing=!0,typeof e=="function"&&(n=e,e={}),e.defaultNS==null&&e.ns&&(M(e.ns)?e.defaultNS=e.ns:e.ns.includes("translation")||(e.defaultNS=e.ns[0]));const s=zt();this.options={...s,...this.options,...is(e)},this.options.interpolation={...s.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=s.overloadTranslationOptionHandler);const r=c=>c?typeof c=="function"?new c:c:null;if(!this.options.isClone){this.modules.logger?he.init(r(this.modules.logger),this.options):he.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:c=aa;const u=new es(this.options);this.store=new Zn(this.options.resources,this.options);const p=this.services;p.logger=he,p.resourceStore=this.store,p.languageUtils=u,p.pluralResolver=new sa(u,{prepend:this.options.pluralSeparator}),c&&(p.formatter=r(c),p.formatter.init&&p.formatter.init(p,this.options),this.options.interpolation.format=p.formatter.format.bind(p.formatter)),p.interpolator=new rs(this.options),p.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},p.backendConnector=new ca(r(this.modules.backend),p.resourceStore,p,this.options),p.backendConnector.on("*",(g,...d)=>{this.emit(g,...d)}),this.modules.languageDetector&&(p.languageDetector=r(this.modules.languageDetector),p.languageDetector.init&&p.languageDetector.init(p,this.options.detection,this.options)),this.modules.i18nFormat&&(p.i18nFormat=r(this.modules.i18nFormat),p.i18nFormat.init&&p.i18nFormat.init(this)),this.translator=new wt(this.services,this.options),this.translator.on("*",(g,...d)=>{this.emit(g,...d)}),this.modules.external.forEach(g=>{g.init&&g.init(this)})}if(this.format=this.options.interpolation.format,n||(n=ct),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=(...u)=>this.store[c](...u)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=(...u)=>(this.store[c](...u),this)});const i=Ye(),l=()=>{const c=(u,p)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(p),n(u,p)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initAsync?l():setTimeout(l,0),i}loadResources(e,n=ct){let s=n;const r=M(e)?e:this.language;if(typeof e=="function"&&(s=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const o=[],a=i=>{if(!i||i==="cimode")return;
2this.services.languageUtils.toResolveHierarchy(i).forEach(c=>{c!=="cimode"&&(o.includes(c)||o.push(c))})};r?a(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload?.forEach?.(i=>a(i)),this.services.backendConnector.load(o,this.options.ns,i=>{!i&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),s(i)})}else s(null)}reloadResources(e,n,s){const r=Ye();return typeof e=="function"&&(s=e,e=void 0),typeof n=="function"&&(s=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),s||(s=ct),this.services.backendConnector.reload(e,n,o=>{r.resolve(),s(o)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&or.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!["cimode","dev"].includes(e)){for(let n=0;n<this.languages.length;n++){const s=this.languages[n];if(!["cimode","dev"].includes(s)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,n){this.isLanguageChangingTo=e;const s=Ye();this.emit("languageChanging",e);const r=i=>{this.language=i,this.languages=this.services.languageUtils.toResolveHierarchy(i),this.resolvedLanguage=void 0,this.setResolvedLanguage(i)},o=(i,l)=>{l?this.isLanguageChangingTo===e&&(r(l),this.translator.changeLanguage(l),this.isLanguageChangingTo=void 0,this.emit("languageChanged",l),this.logger.log("languageChanged",l)):this.isLanguageChangingTo=void 0,s.resolve((...c)=>this.t(...c)),n&&n(i,(...c)=>this.t(...c))},a=i=>{!e&&!i&&this.services.languageDetector&&(i=[]);const l=M(i)?i:i&&i[0],c=this.store.hasLanguageSomeTranslations(l)?l:this.services.languageUtils.getBestMatchFromCodes(M(i)?[i]:i);c&&(this.language||r(c),this.translator.language||this.translator.changeLanguage(c),this.services.languageDetector?.cacheUserLanguage?.(c)),this.loadResources(c,u=>{o(u,c)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),s}getFixedT(e,n,s,r){const o=r?.scopeNs,a=(i,l,...c)=>{let u;typeof l!="object"?u=this.options.overloadTranslationOptionHandler([i,l].concat(c)):u={...l},u.lng=u.lng||a.lng,u.lngs=u.lngs||a.lngs;const p=u.ns!==void 0&&u.ns!==null;u.ns=u.ns||a.ns,u.keyPrefix!==""&&(u.keyPrefix=u.keyPrefix||s||a.keyPrefix);const g={...this.options,...u};Array.isArray(o)&&!p&&(g.ns=o),typeof u.keyPrefix=="function"&&(u.keyPrefix=ze(u.keyPrefix,g));const d=this.options.keySeparator||".";let v;return u.keyPrefix&&Array.isArray(i)?v=i.map(m=>(typeof m=="function"&&(m=ze(m,g)),`${u.keyPrefix}${d}${m}`)):(typeof i=="function"&&(i=ze(i,g)),v=u.keyPrefix?`${u.keyPrefix}${d}${i}`:i),this.t(v,u)};return M(e)?a.lng=e:a.lngs=e,a.ns=n,a.keyPrefix=s,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,n={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;
2if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=n.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const a=(i,l)=>{const c=this.services.backendConnector.state[`${i}|${l}`];return c===-1||c===0||c===2};if(n.precheck){const i=n.precheck(this,a);if(i!==void 0)return i}return!!(this.hasResourceBundle(s,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(s,e)&&(!r||a(o,e)))}loadNamespaces(e,n){const s=Ye();return this.options.ns?(M(e)&&(e=[e]),e.forEach(r=>{this.options.ns.includes(r)||this.options.ns.push(r)}),this.loadResources(r=>{s.resolve(),n&&n(r)}),s):(n&&n(),Promise.resolve())}loadLanguages(e,n){const s=Ye();M(e)&&(e=[e]);const r=this.options.preload||[],o=e.filter(a=>!r.includes(a)&&this.services.languageUtils.isSupportedCode(a));return o.length?(this.options.preload=r.concat(o),this.loadResources(a=>{s.resolve(),n&&n(a)}),s):(n&&n(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const r=new Intl.Locale(e);if(r&&r.getTextInfo){const o=r.getTextInfo();if(o&&o.direction)return o.direction}}catch{}const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],s=this.services?.languageUtils||new es(zt());return e.toLowerCase().indexOf("-latn")>1?"ltr":n.includes(s.getLanguagePartFromCode(e))||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},n){const s=new et(e,n);return s.createInstance=et.createInstance,s}cloneInstance(e={},n=ct){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},o=new et(r);if((e.debug!==void 0||e.prefix!==void 0)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(i=>{o[i]=this[i]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},s){const i=Object.keys(this.store.data).reduce((l,c)=>(l[c]={...this.store.data[c]},l[c]=Object.keys(l[c]).reduce((u,p)=>(u[p]={...l[c][p]},u),l[c]),l),{});o.store=new Zn(i,r),o.services.resourceStore=o.store}if(e.interpolation){const l={...zt().interpolation,...this.options.interpolation,...e.interpolation},c={...r,interpolation:l};o.services.interpolator=new rs(c)}return o.translator=new wt(o.services,r),o.translator.on("*",(i,...l)=>{o.emit(i,...l)}),o.init(r,n),o.translator.options=r,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Z=et.createInstance();Z.createInstance;Z.dir;Z.init;Z.loadResources;Z.reloadResources;Z.use;Z.changeLanguage;Z.getFixedT;Z.t;Z.exists;Z.setDefaultNamespace;Z.hasLoadedNamespace;Z.loadNamespaces;Z.loadLanguages;const da=(t,e,n,s)=>{const r=[n,{code:e,...s||{}}];if(t?.services?.logger?.forward)return t.services.logger.forward(r,"warn","react-i18next::",!0);Ne(r[0])&&(r[0]=`react-i18next:: ${r[0]}`),t?.services?.logger?.warn?t.services.logger.warn(...r):console?.warn&&console.warn(...r)},as={},tn=(t,e,n,s)=>{Ne(n)&&as[n]||(Ne(n)&&(as[n]=new Date),da(t,e,n,s))},ar=(t,e)=>()=>{if(t.isInitialized)e();else{const n=()=>{setTimeout(()=>{t.off("initialized",n)},0),e()};t.on("initialized",n)}},nn=(t,e,n)=>{t.loadNamespaces(e,ar(t,n))},ls=(t,e,n,s)=>{if(Ne(n)&&(n=[n]),t.options.preload&&t.options.preload.indexOf(e)>-1)return nn(t,n,s);n.forEach(r=>{t.options.ns.indexOf(r)<0&&t.options.ns.push(r)}),t.loadLanguages(e,ar(t,s))},pa=(t,e,n={})=>
2!e.languages||!e.languages.length?(tn(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(t,{lng:n.lng,precheck:(s,r)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&s.services.backendConnector.backend&&s.isLanguageChangingTo&&!r(s.isLanguageChangingTo,t))return!1}}),Ne=t=>typeof t=="string",fa=t=>typeof t=="object"&&t!==null,ha=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ma={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},ga=t=>ma[t],va=t=>t.replace(ha,ga);let sn={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:va,transDefaultProps:void 0};const ya=(t={})=>{sn={...sn,...t}},ba=()=>sn;let lr;const xa=t=>{lr=t},wa=()=>lr,Ta={type:"3rdParty",init(t){ya(t.options.react),xa(t)}},Sa=f.createContext();class Ca{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}var cr={exports:{}},ur={};/**
3 * @license React
4 * use-sync-external-store-shim.production.js
5 *
6 * Copyright (c) Meta Platforms, Inc. and affiliates.
7 *
8 * This source code is licensed under the MIT license found in the
9 * LICENSE file in the root directory of this source tree.
10 */var He=f;function Aa(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Pa=typeof Object.is=="function"?Object.is:Aa,Ea=He.useState,Ra=He.useEffect,Oa=He.useLayoutEffect,La=He.useDebugValue;function Na(t,e){var n=e(),s=Ea({inst:{value:n,getSnapshot:e}}),r=s[0].inst,o=s[1];return Oa(function(){r.value=n,r.getSnapshot=e,qt(r)&&o({inst:r})},[t,n,e]),Ra(function(){return qt(r)&&o({inst:r}),t(function(){qt(r)&&o({inst:r})})},[t]),La(n),n}function qt(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Pa(t,n)}catch{return!0}}function Ma(t,e){return e()}var ja=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Ma:Na;ur.useSyncExternalStore=He.useSyncExternalStore!==void 0?He.useSyncExternalStore:ja;cr.exports=ur;var ka=cr.exports;const Ia=(t,e)=>{if(Ne(e))return e;if(fa(e)&&Ne(e.defaultValue))return e.defaultValue;if(typeof t=="function")return"";if(Array.isArray(t)){const n=t[t.length-1];return typeof n=="function"?"":n}return t},Da={t:Ia,ready:!1},$a=()=>()=>{},Fa=(t,e={})=>{const{i18n:n}=e,{i18n:s,defaultNS:r}=f.useContext(Sa)||{},o=n||s||wa();o&&!o.reportNamespaces&&(o.reportNamespaces=new Ca),o||tn(o,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const a=f.useMemo(()=>({...ba(),...o?.options?.react,...e}),[o,e]),{useSuspense:i,keyPrefix:l}=a,c=t||r||o?.options?.defaultNS,u=Ne(c)?[c]:c||["translation"],p=f.useMemo(()=>u,u);o?.reportNamespaces?.addUsedNamespaces?.(p);const g=f.useRef(0),d=f.useCallback(L=>{if(!o)return $a;const{bindI18n:O,bindI18nStore:k}=a,A=()=>{g.current+=1,L()};return O&&o.on(O,A),k&&o.store.on(k,A),()=>{O&&O.split(" ").forEach($=>o.off($,A)),k&&k.split(" ").forEach($=>o.store.off($,A))}},[o,a]),v=f.useRef(),m=f.useCallback(()=>{if(!o)return Da;const L=!!(o.isInitialized||o.initializedStoreOnce)&&p.every(K=>pa(K,o,a)),O=e.lng||o.language,k=g.current,A=v.current;if(A&&A.ready===L&&A.lng===O&&A.keyPrefix===l&&A.revision===k)return A;const C={t:o.getFixedT(O,a.nsMode==="fallback"?p:p[0],l,{scopeNs:p}),ready:L,lng:O,keyPrefix:l,revision:k};return v.current=C,C},[o,p,l,a,e.lng]),[y,w]=f.useState(0),{t:x,ready:T}=ka.useSyncExternalStore(d,m,m);f.useEffect(()=>{if(o&&!T&&!i){const L=()=>w(O=>O+1);e.lng?ls(o,e.lng,p,L):nn(o,p,L)}},[o,e.lng,p,T,i,y]);const S=o||{},R=f.useRef(null),P=f.useRef(),N=L=>{const O=Object.getOwnPropertyDescriptors(L);O.__original&&delete O.__original;const k=Object.create(Object.getPrototypeOf(L),O);if(!Object.prototype.hasOwnProperty.call(k,"__original"))try{Object.defineProperty(k,"__original",{value:L,writable:!1,enumerable:!1,configurable:!1})}catch{}return k},G=f.useMemo(()=>{const L=S,O=L?.language;let k=L;L&&(R.current&&R.current.__original===L?P.current!==O?(k=N(L),R.current=k,P.current=O):k=R.current:(k=N(L),R.current=k,P.current=O));const A=!T&&!i?(...C)=>(tn(o,"USE_T_BEFORE_READY","useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t."),x(...C)):x,$=[A,k,T];return $.t=A,$.i18n=k,$.ready=T,$},[x,S,T,S.resolvedLanguage,S.language,S.languages]);if(o&&i&&!T)throw new Promise(L=>{const O=()=>L();e.lng?ls(o,e.lng,p,O):nn(o,p,O)});return G};var cs=["light","dark"],_a="(prefers-color-scheme: dark)",Va=f.createContext(void 0),za={setTheme:t=>{},themes:[]},qa=()=>{var t;return(t=f.useContext(Va))!=null?t:za};f.memo(({forcedTheme:t,storageKey:e,attribute:n,enableSystem:s,enableColorScheme:r,defaultTheme:o,value:a,attrs:i,nonce:l})=>{let c=o==="system",u=n==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${i.map(v=>`'${v}'`).join(",")})`};`:`var d=document.documentElement,n='${n}',s='setAttribute';`,p=r?cs.includes(o)&&o?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${o}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",g=(v,m=!1,y=!0)=>{let w=a?a[v]:v,x=m?v+"|| ''":`'${w}'`,T="";return r&&y&&!m&&cs.includes(v)&&(T+=`d.style.colorScheme = '${v}';`),n==="class"?m||w?T+=`c.add(${x})`:T+="null":w&&(T+=`d[s](n,${x})`),T},d=t?`!function(){${u}${g(t)}}()`:s?`!function(){try{${u}var e=localStorage.getItem('${e}');if('system'===e||(!e&&${c})){var t='${_a}',m=window.matchMedia(t);if(m.media!==t||m.matches){${g("dark")}}else{${g("light")}}}else if(e){${a?`var x=${JSON.stringify(a)};`:""}${g(a?"x[e]":"e",!0)}}${c?"":"else{"+g(o,!1,!1)+"}"}${p}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${e}');if(e){${a?`var x=${JSON.stringify(a)};`:""}${g(a?"x[e]":"e",!0)}}else{${g(o,!1,!1)};}${p}}catch(t){}}();`;return f.createElement("script",{nonce:l,dangerouslySetInnerHTML:{__html:d}})});var Ha=t=>{switch(t){case"success":return Ja;case"info":return Ka;case"warning":return Ga;case"error":return Wa;default:return null}},Ba=Array(12).fill(0),Ua=({visible:t,className:e})=>b.createElement("div",{className:["sonner-loading-wrapper",e].filter(
10Boolean).join(" "),"data-visible":t},b.createElement("div",{className:"sonner-spinner"},Ba.map((n,s)=>b.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),Ja=b.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},b.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Ga=b.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},b.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Ka=b.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},b.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Wa=b.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},b.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Ya=b.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},b.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),b.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),Qa=()=>{let[t,e]=b.useState(document.hidden);return b.useEffect(()=>{let n=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),t},rn=1,Xa=class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:n,...s}=t,r=typeof t?.id=="number"||((e=t.id)==null?void 0:e.length)>0?t.id:rn++,o=this.toasts.find(i=>i.id===r),a=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),o?this.toasts=this.toasts.map(i=>i.id===r?(this.publish({...i,...t,id:r,title:n}),{...i,...t,id:r,dismissible:a,title:n}):i):this.addToast({title:n,...s,dismissible:a,id:r}),r},this.dismiss=t=>(this.dismissedToasts.add(t),t||this.toasts.forEach(e=>{this.subscribers.forEach(n=>n({id:e.id,dismiss:!0}))}),this.subscribers.forEach(e=>e({id:t,dismiss:!0})),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{if(!e)return;let n;e.loading!==void 0&&(n=this.create({...e,promise:t,type:"loading",message:e.loading,description:typeof e.description!="function"?e.description:void 0}));let s=t instanceof Promise?t:t(),r=n!==void 0,o,a=s.then(async l=>{if(o=["resolve",l],b.isValidElement(l))r=!1,this.create({id:n,type:"default",message:l});else if(el(l)&&!l.ok){r=!1;let c=typeof e.error=="function"?await e.error(`HTTP error! status: ${l.status}`):e.error,u=typeof e.description=="function"?await e.description(`HTTP error! status: ${l.status}`):e.description;this.create({id:n,type:"error",message:c,description:u})}else if(e.success!==void 0){r=!1;let c=typeof e.success=="function"?await e.success(l):e.success,u=typeof e.description=="function"?await e.description(l):e.description;this.create({id:n,type:"success",message:c,description:u})}}).catch(async l=>{if(o=["reject",l],e.error!==void 0){r=!1;let c=typeof e.error=="function"?await e.error(l):e.error,u=typeof e.description=="function"?await e.description(l):e.description;this.create({id:n,type:"error",message:c,description:u})}}).finally(()=>{var l;r&&(this.dismiss(n),n=void 0),(l=e.finally)==null||l.call(e)}),i=()=>new Promise((l,c)=>a.then(()=>o[0]==="reject"?c(o[1]):l(o[1])).catch(c));
10return typeof n!="string"&&typeof n!="number"?{unwrap:i}:Object.assign(n,{unwrap:i})},this.custom=(t,e)=>{let n=e?.id||rn++;return this.create({jsx:t(n),id:n,...e}),n},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},se=new Xa,Za=(t,e)=>{let n=e?.id||rn++;return se.addToast({title:t,...e,id:n}),n},el=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",tl=Za,nl=()=>se.toasts,sl=()=>se.getActiveToasts();Object.assign(tl,{success:se.success,info:se.info,warning:se.warning,error:se.error,custom:se.custom,message:se.message,promise:se.promise,dismiss:se.dismiss,loading:se.loading},{getHistory:nl,getToasts:sl});function rl(t,{insertAt:e}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css",e==="top"&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=t:s.appendChild(document.createTextNode(t))}rl(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
10left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
10:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
10--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
11`);function ut(t){return t.label!==void 0}var ol=3,il="32px",al="16px",us=4e3,ll=356,cl=14,ul=20,dl=200;function ue(...t){return t.filter(Boolean).join(" ")}function pl(t){let[e,n]=t.split("-"),s=[];return e&&s.push(e),n&&s.push(n),s}var fl=t=>{var e,n,s,r,o,a,i,l,c,u,p;let{invert:g,toast:d,unstyled:v,interacting:m,setHeights:y,visibleToasts:w,heights:x,index:T,toasts:S,expanded:R,removeToast:P,defaultRichColors:N,closeButton:G,style:L,cancelButtonStyle:O,actionButtonStyle:k,className:A="",descriptionClassName:$="",duration:C,position:K,gap:_,loadingIcon:V,expandByDefault:J,classNames:E,icons:Q,closeButtonAriaLabel:q="Close toast",pauseWhenPageIsHidden:I}=t,[F,H]=b.useState(null),[te,ve]=b.useState(null),[B,je]=b.useState(!1),[Ae,ke]=b.useState(!1),[Pe,Je]=b.useState(!1),[Ee,go]=b.useState(!1),[vo,Rn]=b.useState(!1),[yo,Mt]=b.useState(0),[bo,On]=b.useState(0),Ge=b.useRef(d.duration||C||us),Ln=b.useRef(null),Re=b.useRef(null),xo=T===0,wo=T+1<=w,oe=d.type,Ie=d.dism
11issible!==!1,To=d.className||"",So=d.descriptionClassName||"",it=b.useMemo(()=>x.findIndex(j=>j.toastId===d.id)||0,[x,d.id]),Co=b.useMemo(()=>{var j;return(j=d.closeButton)!=null?j:G},[d.closeButton,G]),Nn=b.useMemo(()=>d.duration||C||us,[d.duration,C]),jt=b.useRef(0),De=b.useRef(0),Mn=b.useRef(0),$e=b.useRef(null),[Ao,Po]=K.split("-"),jn=b.useMemo(()=>x.reduce((j,U,Y)=>Y>=it?j:j+U.height,0),[x,it]),kn=Qa(),Eo=d.invert||g,kt=oe==="loading";De.current=b.useMemo(()=>it*_+jn,[it,jn]),b.useEffect(()=>{Ge.current=Nn},[Nn]),b.useEffect(()=>{je(!0)},[]),b.useEffect(()=>{let j=Re.current;if(j){let U=j.getBoundingClientRect().height;return On(U),y(Y=>[{toastId:d.id,height:U,position:d.position},...Y]),()=>y(Y=>Y.filter(ae=>ae.toastId!==d.id))}},[y,d.id]),b.useLayoutEffect(()=>{if(!B)return;let j=Re.current,U=j.style.height;j.style.height="auto";let Y=j.getBoundingClientRect().height;j.style.height=U,On(Y),y(ae=>ae.find(le=>le.toastId===d.id)?ae.map(le=>le.toastId===d.id?{...le,height:Y}:le):[{toastId:d.id,height:Y,position:d.position},...ae])},[B,d.title,d.description,y,d.id]);let ye=b.useCallback(()=>{ke(!0),Mt(De.current),y(j=>j.filter(U=>U.toastId!==d.id)),setTimeout(()=>{P(d)},dl)},[d,P,y,De]);b.useEffect(()=>{if(d.promise&&oe==="loading"||d.duration===1/0||d.type==="loading")return;let j;return R||m||I&&kn?(()=>{if(Mn.current<jt.current){let U=new Date().getTime()-jt.current;Ge.current=Ge.current-U}Mn.current=new Date().getTime()})():Ge.current!==1/0&&(jt.current=new Date().getTime(),j=setTimeout(()=>{var U;(U=d.onAutoClose)==null||U.call(d,d),ye()},Ge.current)),()=>clearTimeout(j)},[R,m,d,oe,I,kn,ye]),b.useEffect(()=>{d.delete&&ye()},[ye,d.delete]);function Ro(){var j,U,Y;return Q!=null&&Q.loading?b.createElement("div",{className:ue(E?.loader,(j=d?.classNames)==null?void 0:j.loader,"sonner-loader"),"data-visible":oe==="loading"},Q.loading):V?b.createElement("div",{className:ue(E?.loader,(U=d?.classNames)==null?void 0:U.loader,"sonner-loader"),"data-visible":oe==="loading"},V):b.createElement(Ua,{className:ue(E?.loader,(Y=d?.classNames)==null?void 0:Y.loader),visible:oe==="loading"})}return b.createElement("li",{tabIndex:0,ref:Re,className:ue(A,To,E?.toast,(e=d?.classNames)==null?void 0:e.toast,E?.default,E?.[oe],(n=d?.classNames)==null?void 0:n[oe]),"data-sonner-toast":"","data-rich-colors":(s=d.richColors)!=null?s:N,"data-styled":!(d.jsx||d.unstyled||v),"data-mounted":B,"data-promise":!!d.promise,"data-swiped":vo,"data-removed":Ae,"data-visible":wo,"data-y-position":Ao,"data-x-position":Po,"data-index":T,"data-front":xo,"data-swiping":Pe,"data-dismissible":Ie,"data-type":oe,"data-invert":Eo,"data-swipe-out":Ee,"data-swipe-direction":te,"data-expanded":!!(R||J&&B),style:{"--index":T,"--toasts-before":T,"--z-index":S.length-T,"--offset":`${Ae?yo:De.current}px`,"--initial-height":J?"auto":`${bo}px`,...L,...d.style},onDragEnd:()=>{Je(!1),H(null),$e.current=null},onPointerDown:j=>{kt||!Ie||(Ln.current=new Date,Mt(De.current),j.target.setPointerCapture(j.pointerId),j.target.tagName!=="BUTTON"&&(Je(!0),$e.current={x:j.clientX,y:j.clientY}))},onPointerUp:()=>{var j,U,Y,ae;if(Ee||!Ie)return;$e.current=null;let le=Number(((j=Re.current)==null?void 0:j.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),be=Number(((U=Re.current)==null?void 0:U.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Oe=new Date().getTime()-((Y=Ln.current)==null?void 0:Y.getTime()),ce=F==="x"?le:be,xe=Math.abs(ce)/Oe;if(Math.abs(ce)>=ul||xe>.11){Mt(De.current),(ae=d.onDismiss)==null||ae.call(d,d),ve(F==="x"?le>0?"right":"left":be>0?"down":"up"),ye(),go(!0),Rn(!1);return}Je(!1),H(null)},onPointerMove:j=>{var U,Y,ae,le;if(!$e.current||!Ie||((U=window.getSelection())==null?void 0:U.toString().length)>0)return;let be=j.clientY-$e.current.y,Oe=j.clientX-$e.current.x,ce=(Y=t.swipeDirections)!=null?Y:pl(K);!F&&(Math.abs(Oe)>1||Math.abs(be)>1)&&H(Math.abs(Oe)>Math.abs(be)?"x":"y");let xe={x:0,y:0};F==="y"?(ce.includes("top")||ce.includes("bottom"))&&(ce.includes("top")&&be<0||ce.includes("bottom")&&be>0)&&(xe.y=be):F==="x"&&(ce.includes("left")||ce.includes("right"))&&(ce.includes("left")&&Oe<0||ce.includes("right")&&Oe>0)&&(xe.x=Oe),(Math.abs(xe.x)>0||Math.abs(xe.y)>0)&&Rn(!0),(ae=Re.current)==null||ae.style.setProperty("--swipe-amount-x",`${xe.x}px`),(le=Re.current)==null||le.style.setProperty("--swipe-amount-y",`${xe.y}px`)}},Co&&!d.jsx?b.createElement("button",{"aria-label":q,"data-disabled":kt,"data-close-button":!0,onClick:kt||!Ie?()=>{}:()=>{var j;ye(),(j=d.onDismiss)==null||j.call(d,d)},className:ue(E?.closeButton,(r=d?.classNames)==null?void 0:r.closeButton)},(o=Q?.close)!=null?o:Ya):null,d.jsx||f.isValidElement(d.title)?d.jsx?d.jsx:typeof d.title=="function"?d.title():d.title:b.createElement(b.Fragment,null,oe||d.icon||d.promise?b.createElement("div",{"data-icon":"",className:ue(E?.icon,(a=d?.classNames)==null?void 0:a.icon)},d.promise||d.type==="loading"&&!d.icon?d.icon||Ro():null,d.type!=="loading"?d.icon||Q?.[oe]||Ha(oe):null):null,b.createElement("div",{"data-content":"",className:ue(E?.content,(i=d?.classNames)==null?void 0:i.content)},b.createElement("div",{"data-title":"",className:ue(E?.title,(l=d?.classNames)==null?void 0:l.title)},typeof d.title=="function"?d.title():d.title),d.description?b.createElement("div",{"data-description":"",className:ue($,So,E?.description,(c=d?.classNames)==null?void 0:c.description)},typeof d.description=="function"?d.description():d.description):null),f.isValidElement(d.cancel)?d.cancel:d.cancel&&ut(d.cancel)?b.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||O,onClick:j=>{var U,Y;ut(d.cancel)&&Ie&&((Y=(U=d.cancel).onClick)==null||Y.call(U,j),ye())},className:ue(E?.cancelButton,(u=d?.classNames)==null?void 0:u.cancelButton)},d.cancel.label):null,f.isValidElement(d.action)?d.action:d.action&&ut(d.action)?b.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||k,onClick:j=>{var U,Y;ut(d.action)&&((Y=(U=d.action).onClick)==null||Y.call(U,j),!j.defaultPrevented&&ye())},className:ue(E?.actionButton,(p=d?.classNames)==null?void 0:p.actionButton)},d.action.label):null))};function ds(){if(typeof window>"u"||typeof document>"u")return"ltr";let t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function hl(t,e){let n={};return[t,e].forEach((s,r)=>{let o=r===1,a=o?"--mobile-offset":"--offset",i=o?al:il;function l(c){["top","right","bottom","left"].forEach(u=>{n[`${a}-${u}`]=typeof c=="number"?`${c}px`:c})}typeof s=="number"||typeof s=="string"?l(s):typeof s=="object"?["top","right","bottom","left"].forEach(c=>{s[c]===void 0?n[`${a}-${c}`]=i:n[`${a}-${c}`]=typeof s[c]=="number"?`${s[c]}px`:s[c]}):l(i)}),n}var ml=f.forwardRef(function(t,e){let{invert:n,position:s="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:a,className:i,offset:l,mobileOffset:c,theme:u="light",richColors:p,duration:g,style:d,visibleToasts:v=ol,toastOptions:m,dir:y=ds(),gap:w=cl,loadingIcon:x,icons:T,containerAriaLabel:S="Notifications",pauseWhenPageIsHidden:R}=t,[P,N]=b.useState([]),G=b.useMemo(()=>Array.from(new Set([s].concat(P.filter(I=>I.position).map(I=>I.position)))),[P,s]),[L,O]=b.useState([]),[k,A]=b.useState(!1),[$,C]=b.useState(!1),[K,_]=b.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dar
11k":"light"),V=b.useRef(null),J=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),E=b.useRef(null),Q=b.useRef(!1),q=b.useCallback(I=>{N(F=>{var H;return(H=F.find(te=>te.id===I.id))!=null&&H.delete||se.dismiss(I.id),F.filter(({id:te})=>te!==I.id)})},[]);return b.useEffect(()=>se.subscribe(I=>{if(I.dismiss){N(F=>F.map(H=>H.id===I.id?{...H,delete:!0}:H));return}setTimeout(()=>{Vs.flushSync(()=>{N(F=>{let H=F.findIndex(te=>te.id===I.id);return H!==-1?[...F.slice(0,H),{...F[H],...I},...F.slice(H+1)]:[I,...F]})})})}),[]),b.useEffect(()=>{if(u!=="system"){_(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?_("dark"):_("light")),typeof window>"u")return;let I=window.matchMedia("(prefers-color-scheme: dark)");try{I.addEventListener("change",({matches:F})=>{_(F?"dark":"light")})}catch{I.addListener(({matches:H})=>{try{_(H?"dark":"light")}catch(te){console.error(te)}})}},[u]),b.useEffect(()=>{P.length<=1&&A(!1)},[P]),b.useEffect(()=>{let I=F=>{var H,te;r.every(ve=>F[ve]||F.code===ve)&&(A(!0),(H=V.current)==null||H.focus()),F.code==="Escape"&&(document.activeElement===V.current||(te=V.current)!=null&&te.contains(document.activeElement))&&A(!1)};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[r]),b.useEffect(()=>{if(V.current)return()=>{E.current&&(E.current.focus({preventScroll:!0}),E.current=null,Q.current=!1)}},[V.current]),b.createElement("section",{ref:e,"aria-label":`${S} ${J}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},G.map((I,F)=>{var H;let[te,ve]=I.split("-");return P.length?b.createElement("ol",{key:I,dir:y==="auto"?ds():y,tabIndex:-1,ref:V,className:i,"data-sonner-toaster":!0,"data-theme":K,"data-y-position":te,"data-lifted":k&&P.length>1&&!o,"data-x-position":ve,style:{"--front-toast-height":`${((H=L[0])==null?void 0:H.height)||0}px`,"--width":`${ll}px`,"--gap":`${w}px`,...d,...hl(l,c)},onBlur:B=>{Q.current&&!B.currentTarget.contains(B.relatedTarget)&&(Q.current=!1,E.current&&(E.current.focus({preventScroll:!0}),E.current=null))},onFocus:B=>{B.target instanceof HTMLElement&&B.target.dataset.dismissible==="false"||Q.current||(Q.current=!0,E.current=B.relatedTarget)},onMouseEnter:()=>A(!0),onMouseMove:()=>A(!0),onMouseLeave:()=>{$||A(!1)},onDragEnd:()=>A(!1),onPointerDown:B=>{B.target instanceof HTMLElement&&B.target.dataset.dismissible==="false"||C(!0)},onPointerUp:()=>C(!1)},P.filter(B=>!B.position&&F===0||B.position===I).map((B,je)=>{var Ae,ke;return b.createElement(fl,{key:B.id,icons:T,index:je,toast:B,defaultRichColors:p,duration:(Ae=m?.duration)!=null?Ae:g,className:m?.className,descriptionClassName:m?.descriptionClassName,invert:n,visibleToasts:v,closeButton:(ke=m?.closeButton)!=null?ke:a,interacting:$,position:I,style:m?.style,unstyled:m?.unstyled,classNames:m?.classNames,cancelButtonStyle:m?.cancelButtonStyle,actionButtonStyle:m?.actionButtonStyle,removeToast:q,toasts:P.filter(Pe=>Pe.position==B.position),heights:L.filter(Pe=>Pe.position==B.position),setHeights:O,expandByDefault:o,gap:w,loadingIcon:x,expanded:k,pauseWhenPageIsHidden:R,swipeDirections:t.swipeDirections})})):null}))});const gl=({...t})=>{const{theme:e="system"}=qa();return h.jsx(ml,{theme:e,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})},vl=1,yl=1e6;let Ht=0;function bl(){return Ht=(Ht+1)%Number.MAX_SAFE_INTEGER,Ht.toString()}const Bt=new Map,ps=t=>{if(Bt.has(t))return;const e=setTimeout(()=>{Bt.delete(t),tt({type:"REMOVE_TOAST",toastId:t})},yl);Bt.set(t,e)},xl=(t,e)=>{switch(e.type){case"ADD_TOAST":return{...t,toasts:[e.toast,...t.toasts].slice(0,vl)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(n=>n.id===e.toast.id?{...n,...e.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=e;
11return n?ps(n):t.toasts.forEach(s=>{ps(s.id)}),{...t,toasts:t.toasts.map(s=>s.id===n||n===void 0?{...s,open:!1}:s)}}case"REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(n=>n.id!==e.toastId)}}},gt=[];let vt={toasts:[]};function tt(t){vt=xl(vt,t),gt.forEach(e=>{e(vt)})}function wl({...t}){const e=bl(),n=r=>tt({type:"UPDATE_TOAST",toast:{...r,id:e}}),s=()=>tt({type:"DISMISS_TOAST",toastId:e});return tt({type:"ADD_TOAST",toast:{...t,id:e,open:!0,onOpenChange:r=>{r||s()}}}),{id:e,dismiss:s,update:n}}function Tl(){const[t,e]=f.useState(vt);return f.useEffect(()=>(gt.push(e),()=>{const n=gt.indexOf(e);n>-1&&gt.splice(n,1)}),[t]),{...t,toast:wl,dismiss:n=>tt({type:"DISMISS_TOAST",toastId:n})}}function X(t,e,{checkForDefaultPrevented:n=!0}={}){return function(r){if(t?.(r),n===!1||!r.defaultPrevented)return e?.(r)}}function fs(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function dr(...t){return e=>{let n=!1;const s=t.map(r=>{const o=fs(r,e);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let r=0;r<s.length;r++){const o=s[r];typeof o=="function"?o():fs(t[r],null)}}}}function fe(...t){return f.useCallback(dr(...t),t)}function Yp(t,e){const n=f.createContext(e),s=o=>{const{children:a,...i}=o,l=f.useMemo(()=>i,Object.values(i));return h.jsx(n.Provider,{value:l,children:a})};s.displayName=t+"Provider";function r(o){const a=f.useContext(n);if(a)return a;if(e!==void 0)return e;throw new Error(`\`${o}\` must be used within \`${t}\``)}return[s,r]}function Et(t,e=[]){let n=[];function s(o,a){const i=f.createContext(a),l=n.length;n=[...n,a];const c=p=>{const{scope:g,children:d,...v}=p,m=g?.[t]?.[l]||i,y=f.useMemo(()=>v,Object.values(v));return h.jsx(m.Provider,{value:y,children:d})};c.displayName=o+"Provider";function u(p,g){const d=g?.[t]?.[l]||i,v=f.useContext(d);if(v)return v;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${o}\``)}return[c,u]}const r=()=>{const o=n.map(a=>f.createContext(a));return function(i){const l=i?.[t]||o;return f.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[s,Sl(r,...e)]}function Sl(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const s=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(o){const a=s.reduce((i,{useScope:l,scopeName:c})=>{const p=l(o)[`__scope${c}`];return{...i,...p}},{});return f.useMemo(()=>({[`__scope${e.scopeName}`]:a}),[a])}};return n.scopeName=e.scopeName,n}function Tt(t){const e=Cl(t),n=f.forwardRef((s,r)=>{const{children:o,...a}=s,i=f.Children.toArray(o),l=i.find(Pl);if(l){const c=l.props.children,u=i.map(p=>p===l?f.Children.count(c)>1?f.Children.only(null):f.isValidElement(c)?c.props.children:null:p);return h.jsx(e,{...a,ref:r,children:f.isValidElement(c)?f.cloneElement(c,void 0,u):null})}return h.jsx(e,{...a,ref:r,children:o})});return n.displayName=`${t}.Slot`,n}var Qp=Tt("Slot");function Cl(t){const e=f.forwardRef((n,s)=>{const{children:r,...o}=n;if(f.isValidElement(r)){const a=Rl(r),i=El(o,r.props);return r.type!==f.Fragment&&(i.ref=s?dr(s,a):a),f.cloneElement(r,i)}return f.Children.count(r)>1?f.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var pr=Symbol("radix.slottable");function Al(t){const e=({children:n})=>h.jsx(h.Fragment,{children:n});return e.displayName=`${t}.Slottable`,e.__radixId=pr,e}function Pl(t){return f.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===pr}function El(t,e){const n={...e};for(const s in e){const r=t[s],o=e[s];/^on[A-Z]/.test(s)?r&&o?n[s]=(...i)=>{const l=o(...i);return r(...i),l}:r&&(n[s]=r):s==="style"?n[s]={...r,...o}:s==="className"&&(n[s]=[r,o].filter(Boolean).join(" "))}return{...t,...n}}function Rl(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function Ol(t){const e=t+"CollectionProvider",[n,s]=Et(e),[r,o]=n(e,{collectionRef:{current:null},itemMap:new Map}),a=m=>{const{scope:y,children:w}=m,x=b.useRef(null),T=b.useRef(new Map).current;return h.jsx(r,{scope:y,itemMap:T,collectionRef:x,children:w})};a.displayName=e;const i=t+"CollectionSlot",l=Tt(i),c=b.forwardRef((m,y)=>{const{scope:w,children:x}=m,T=o(i,w),S=fe(y,T.collectionRef);return h.jsx(l,{ref:S,children:x})});c.displayName=i;const u=t+"CollectionItemSlot",p="data-radix-collection-item",g=Tt(u),d=b.forwardRef((m,y)=>{const{scope:w,children:x,...T}=m,S=b.useRef(null),R=fe(y,S),P=o(u,w);return b.useEffect(()=>(P.itemMap.set(S,{ref:S,...T}),()=>void P.itemMap.delete(S))),h.jsx(g,{[p]:"",ref:R,children:x})});d.displayName=u;function v(m){const y=o(t+"CollectionConsumer",m);return b.useCallback(()=>{const x=y.collectionRef.current;if(!x)return[];const T=Array.from(x.querySelectorAll(`[${p}]`));return Array.from(y.itemMap.values()).sort((P,N)=>T.indexOf(P.ref.current)-T.indexOf(N.ref.current))},[y.collectionRef,y.itemMap])}return[{Provider:a,Slot:c,ItemSlot:d},v,s]}var Ll=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],re=Ll.reduce((t,e)=>{const n=Tt(`Primitive.${e}`),s=f.forwardRef((r,o)=>{const{asChild:a,...i}=r,l=a?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(l,{...i,ref:o})});return s.displayName=`Primitive.${e}`,{...t,[e]:s}},{});function fr(t,e){t&&zs.flushSync(()=>t.dispatchEvent(e))}function Se(t){const e=f.useRef(t);return f.useEffect(()=>{e.current=t}),f.useMemo(()=>(...n)=>e.current?.(...n),[])}function Nl(t,e=globalThis?.document){const n=Se(t);f.useEffect(()=>{const s=r=>{r.key==="Escape"&&n(r)};return e.addEventListener("keydown",s,{capture:!0}),()=>e.removeEventListener("keydown",s,{capture:!0})},[n,e])}
vendor: 4,303 bytes, line 11
11var Ml="DismissableLayer",on="dismissableLayer.update",jl="dismissableLayer.pointerDownOutside",kl="dismissableLayer.focusOutside",hs,hr=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),yn=f.forwardRef((t,e)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:s,onPointerDownOutside:r,onFocusOutside:o,onInteractOutside:a,onDismiss:i,...l}=t,c=f.useContext(hr),[u,p]=f.useState(null),g=u?.ownerDocument??globalThis?.document,[,d]=f.useState({}),v=fe(e,N=>p(N)),m=Array.from(c.layers),[y]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),w=m.indexOf(y),x=u?m.indexOf(u):-1,T=c.layersWithOutsidePointerEventsDisabled.size>0,S=x>=w,R=Dl(N=>{const G=N.target,L=[...c.branches].some(O=>O.contains(G));!S||L||(r?.(N),a?.(N),N.defaultPrevented||i?.())},g),P=$l(N=>{const G=N.target;[...c.branches].some(O=>O.contains(G))||(o?.(N),a?.(N),N.defaultPrevented||i?.())},g);return Nl(N=>{x===c.layers.size-1&&(s?.(N),!N.defaultPrevented&&i&&(N.preventDefault(),i()))},g),f.useEffect(()=>{if(u)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(hs=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),ms(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=hs)}},[u,g,n,c]),f.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),ms())},[u,c]),f.useEffect(()=>{const N=()=>d({});return document.addEventListener(on,N),()=>document.removeEventListener(on,N)},[]),h.jsx(re.div,{...l,ref:v,style:{pointerEvents:T?S?"auto":"none":void 0,...t.style},onFocusCapture:X(t.onFocusCapture,P.onFocusCapture),onBlurCapture:X(t.onBlurCapture,P.onBlurCapture),onPointerDownCapture:X(t.onPointerDownCapture,R.onPointerDownCapture)})});yn.displayName=Ml;var Il="DismissableLayerBranch",mr=f.forwardRef((t,e)=>{const n=f.useContext(hr),s=f.useRef(null),r=fe(e,s);return f.useEffect(()=>{const o=s.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),h.jsx(re.div,{...t,ref:r})});mr.displayName=Il;function Dl(t,e=globalThis?.document){const n=Se(t),s=f.useRef(!1),r=f.useRef(()=>{});return f.useEffect(()=>{const o=i=>{if(i.target&&!s.current){let l=function(){gr(jl,n,c,{discrete:!0})};const c={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=l,e.addEventListener("click",r.current,{once:!0})):l()}else e.removeEventListener("click",r.current);s.current=!1},a=window.setTimeout(()=>{e.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),e.removeEventListener("pointerdown",o),e.removeEventListener("click",r.current)}},[e,n]),{onPointerDownCapture:()=>s.current=!0}}function $l(t,e=globalThis?.document){const n=Se(t),s=f.useRef(!1);return f.useEffect(()=>{const r=o=>{o.target&&!s.current&&gr(kl,n,{originalEvent:o},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function ms(){const t=new CustomEvent(on);document.dispatchEvent(t)}function gr(t,e,n,{discrete:s}){const r=n.originalEvent.target,o=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&r.addEventListener(t,e,{once:!0}),s?fr(r,o):r.dispatchEvent(o)}var Fl=yn,_l=mr,Ce=globalThis?.document?f.useLayoutEffect:()=>{},Vl="Portal",vr=f.forwardRef((t,e)=>{const{container:n,...s}=t,[r,o]=f.useState(!1);Ce(()=>o(!0),[]);const a=n||r&&globalThis?.document?.body;return a?Vs.createPortal(h.jsx(re.div,{...s,ref:e}),a):null});vr.displayName=Vl;function zl(t,e){return f.useReducer((n,s)=>e[n][s]??n,t)}var bn=t=>{const{present:e,children:n}=t,s=ql(e),r=typeof n=="function"?n({present:s.isPresent}):f.Children.only(n),o=fe(s.ref,Hl(r));return typeof n=="function"||s.isPresent?f.cloneElement(r,{ref:o}):null};bn.displayName="Presence";function ql(t){const[e,n]=f.useState(),s=f.useRef(null),r=f.useRef(t),o=f.useRef("none"),a=t?"mounted":"unmounted",[i,l]=zl(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const c=dt(s.current);o.current=i==="mounted"?c:"none"},[i]),Ce(()=>{const c=s.current,u=r.current;
11if(u!==t){const g=o.current,d=dt(c);t?l("MOUNT"):d==="none"||c?.display==="none"?l("UNMOUNT"):l(u&&g!==d?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),Ce(()=>{if(e){let c;const u=e.ownerDocument.defaultView??window,p=d=>{const m=dt(s.current).includes(d.animationName);if(d.target===e&&m&&(l("ANIMATION_END"),!r.current)){const y=e.style.animationFillMode;e.style.animationFillMode="forwards",c=u.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=y)})}},g=d=>{d.target===e&&(o.current=dt(s.current))};return e.addEventListener("animationstart",g),e.addEventListener("animationcancel",p),e.addEventListener("animationend",p),()=>{u.clearTimeout(c),e.removeEventListener("animationstart",g),e.removeEventListener("animationcancel",p),e.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:f.useCallback(c=>{s.current=c?getComputedStyle(c):null,n(c)},[])}}function dt(t){return t?.animationName||"none"}function Hl(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Bl=Oo[" useInsertionEffect ".trim().toString()]||Ce;function Ul({prop:t,defaultProp:e,onChange:n=()=>{},caller:s}){const[r,o,a]=Jl({defaultProp:e,onChange:n}),i=t!==void 0,l=i?t:r;{const u=f.useRef(t!==void 0);f.useEffect(()=>{const p=u.current;p!==i&&console.warn(`${s} is changing from ${p?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=i},[i,s])}const c=f.useCallback(u=>{if(i){const p=Gl(u)?u(t):u;p!==t&&a.current?.(p)}else o(u)},[i,t,o,a]);return[l,c]}function Jl({defaultProp:t,onChange:e}){const[n,s]=f.useState(t),r=f.useRef(n),o=f.useRef(e);return Bl(()=>{o.current=e},[e]),f.useEffect(()=>{r.current!==n&&(o.current?.(n),r.current=n)},[n,r]),[n,s,o]}function Gl(t){return typeof t=="function"}var Kl=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Wl="VisuallyHidden",Rt=f.forwardRef((t,e)=>h.jsx(re.span,{...t,ref:e,style:{...Kl,...t.style}}));Rt.displayName=Wl;var Yl=Rt,xn="ToastProvider",[wn,Ql,Xl]=Ol("Toast"),[yr,Xp]=Et("Toast",[Xl]),[Zl,Ot]=yr(xn),br=t=>{const{__scopeToast:e,label:n="Notification",duration:s=5e3,swipeDirection:r="right",swipeThreshold:o=50,children:a}=t,[i,l]=f.useState(null),[c,u]=f.useState(0),p=f.useRef(!1),g=f.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${xn}\`. Expected non-empty \`string\`.`),h.jsx(wn.Provider,{scope:e,children:h.jsx(Zl,{scope:e,label:n,duration:s,swipeDirection:r,swipeThreshold:o,toastCount:c,viewport:i,onViewportChange:l,onToastAdd:f.useCallback(()=>u(d=>d+1),[]),onToastRemove:f.useCallback(()=>u(d=>d-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:a})})};br.displayName=xn;var xr="ToastViewport",ec=["F8"],an="toast.viewportPause",ln="toast.viewportResume",wr=f.forwardRef((t,e)=>{const{__scopeToast:n,hotkey:s=ec,label:r="Notifications ({hotkey})",...o}=t,a=Ot(xr,n),i=Ql(n),l=f.useRef(null),c=f.useRef(null),u=f.useRef(null),p=f.useRef(null),g=fe(e,p,a.onViewportChange),d=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),v=a.toastCount>0;f.useEffect(()=>{const y=w=>{s.length!==0&&s.every(T=>w[T]||w.code===T)&&p.current?.focus()};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[s]),f.useEffect(()=>{const y=l.current,w=p.current;if(v&&y&&w){const x=()=>{if(!a.isClosePausedRef.current){const P=new CustomEvent(an);w.dispatchEvent(P),a.isClosePausedRef.current=!0}},T=()=>{if(a.isClosePausedRef.current){const P=new CustomEvent(ln);w.dispatchEvent(P),a.isClosePausedRef.current=!1}},S=P=>{!y.contains(P.relatedTarget)&&T()},R=()=>{y.contains(document.activeElement)||T()};return y.addEventListener("focusin",x),y.addEventListener("focusout",S),y.addEventListener("pointermove",x),y.addEventListener("pointerleave",R),window.addEventListener("blur",x),window.addEventListener("focus",T),()=>{y.removeEventListener("focusin",x),y.removeEventListener("focusout",S),y.removeEventListener("pointermove",x),y.removeEventListener("pointerleave",R),window.removeEventListener("blur",x),window.removeEventListener("focus",T)}}},[v,a.isClosePausedRef]);const m=f.useCallback(({tabbingDirection:y})=>{const x=i().map(T=>{const S=T.ref.current,R=[S,...fc(S)];return y==="forwards"?R:R.reverse()});return(y==="forwards"?x.reverse():x).flat()},[i]);return f.useEffect(()=>{const y=p.current;if(y){const w=x=>{const T=x.altKey||x.ctrlKey||x.metaKey;
11if(x.key==="Tab"&&!T){const R=document.activeElement,P=x.shiftKey;if(x.target===y&&P){c.current?.focus();return}const L=m({tabbingDirection:P?"backwards":"forwards"}),O=L.findIndex(k=>k===R);Ut(L.slice(O+1))?x.preventDefault():P?c.current?.focus():u.current?.focus()}};return y.addEventListener("keydown",w),()=>y.removeEventListener("keydown",w)}},[i,m]),h.jsxs(_l,{ref:l,role:"region","aria-label":r.replace("{hotkey}",d),tabIndex:-1,style:{pointerEvents:v?void 0:"none"},children:[v&&h.jsx(cn,{ref:c,onFocusFromOutsideViewport:()=>{const y=m({tabbingDirection:"forwards"});Ut(y)}}),h.jsx(wn.Slot,{scope:n,children:h.jsx(re.ol,{tabIndex:-1,...o,ref:g})}),v&&h.jsx(cn,{ref:u,onFocusFromOutsideViewport:()=>{const y=m({tabbingDirection:"backwards"});Ut(y)}})]})});wr.displayName=xr;var Tr="ToastFocusProxy",cn=f.forwardRef((t,e)=>{const{__scopeToast:n,onFocusFromOutsideViewport:s,...r}=t,o=Ot(Tr,n);return h.jsx(Rt,{"aria-hidden":!0,tabIndex:0,...r,ref:e,style:{position:"fixed"},onFocus:a=>{const i=a.relatedTarget;!o.viewport?.contains(i)&&s()}})});cn.displayName=Tr;var ot="Toast",tc="toast.swipeStart",nc="toast.swipeMove",sc="toast.swipeCancel",rc="toast.swipeEnd",Sr=f.forwardRef((t,e)=>{const{forceMount:n,open:s,defaultOpen:r,onOpenChange:o,...a}=t,[i,l]=Ul({prop:s,defaultProp:r??!0,onChange:o,caller:ot});return h.jsx(bn,{present:n||i,children:h.jsx(ac,{open:i,...a,ref:e,onClose:()=>l(!1),onPause:Se(t.onPause),onResume:Se(t.onResume),onSwipeStart:X(t.onSwipeStart,c=>{c.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:X(t.onSwipeMove,c=>{const{x:u,y:p}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","move"),c.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:X(t.onSwipeCancel,c=>{c.currentTarget.setAttribute("data-swipe","cancel"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:X(t.onSwipeEnd,c=>{const{x:u,y:p}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","end"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),l(!1)})})})});Sr.displayName=ot;var[oc,ic]=yr(ot,{onClose(){}}),ac=f.forwardRef((t,e)=>{const{__scopeToast:n,type:s="foreground",duration:r,open:o,onClose:a,onEscapeKeyDown:i,onPause:l,onResume:c,onSwipeStart:u,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:d,...v}=t,m=Ot(ot,n),[y,w]=f.useState(null),x=fe(e,C=>w(C)),T=f.useRef(null),S=f.useRef(null),R=r||m.duration,P=f.useRef(0),N=f.useRef(R),G=f.useRef(0),{onToastAdd:L,onToastRemove:O}=m,k=Se(()=>{y?.contains(document.activeElement)&&m.viewport?.focus(),a()}),A=f.useCallback(C=>{!C||C===1/0||(window.clearTimeout(G.current),P.current=new Date().getTime(),G.current=window.setTimeout(k,C))},[k]);f.useEffect(()=>{const C=m.viewport;if(C){const K=()=>{A(N.current),c?.()},_=()=>{const V=new Date().getTime()-P.current;N.current=N.current-V,window.clearTimeout(G.current),l?.()};return C.addEventListener(an,_),C.addEventListener(ln,K),()=>{C.removeEventListener(an,_),C.removeEventListener(ln,K)}}},[m.viewport,R,l,c,A]),f.useEffect(()=>{o&&!m.isClosePausedRef.current&&A(R)},[o,R,m.isClosePausedRef,A]),f.useEffect(()=>(L(),()=>O()),[L,O]);const $=f.useMemo(()=>y?Lr(y):null,[y]);return m.viewport?h.jsxs(h.Fragment,{children:[$&&h.jsx(lc,{__scopeToast:n,role:"status","aria-live":s==="foreground"?"assertive":"polite","aria-atomic":!0,children:$}),h.jsx(oc,{scope:n,onClose:k,children:zs.createPortal(h.jsx(wn.ItemSlot,{scope:n,children:h.jsx(Fl,{asChild:!0,onEscapeKeyDown:X(i,()=>{m.isFocusedToastEscapeKeyDownRef.current||k(),m.isFocusedToastEscapeKeyDownRef.current=!1}),children:h.jsx(re.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":o?"open":"closed","data-swipe-direction":m.swipeDirection,...v,ref:x,style:{userSelect:"none",touchAction:"none",...t.style},onKeyDown:X(t.onKeyDown,C=>{C.key==="Escape"&&(i?.(C.nativeEvent),C.nativeEvent.defaultPrevented||(m.isFocusedToastEscapeKeyDownRef.current=!0,k()))}),onPointerDown:X(t.onPointerDown,C=>{C.button===0&&(T.current={x:C.clientX,y:C.clientY})}),onPointerMove:X(t.onPointerMove,C=>
11{if(!T.current)return;const K=C.clientX-T.current.x,_=C.clientY-T.current.y,V=!!S.current,J=["left","right"].includes(m.swipeDirection),E=["left","up"].includes(m.swipeDirection)?Math.min:Math.max,Q=J?E(0,K):0,q=J?0:E(0,_),I=C.pointerType==="touch"?10:2,F={x:Q,y:q},H={originalEvent:C,delta:F};V?(S.current=F,pt(nc,p,H,{discrete:!1})):gs(F,m.swipeDirection,I)?(S.current=F,pt(tc,u,H,{discrete:!1}),C.target.setPointerCapture(C.pointerId)):(Math.abs(K)>I||Math.abs(_)>I)&&(T.current=null)}),onPointerUp:X(t.onPointerUp,C=>{const K=S.current,_=C.target;if(_.hasPointerCapture(C.pointerId)&&_.releasePointerCapture(C.pointerId),S.current=null,T.current=null,K){const V=C.currentTarget,J={originalEvent:C,delta:K};gs(K,m.swipeDirection,m.swipeThreshold)?pt(rc,d,J,{discrete:!0}):pt(sc,g,J,{discrete:!0}),V.addEventListener("click",E=>E.preventDefault(),{once:!0})}})})})}),m.viewport)})]}):null}),lc=t=>{const{__scopeToast:e,children:n,...s}=t,r=Ot(ot,e),[o,a]=f.useState(!1),[i,l]=f.useState(!1);return dc(()=>a(!0)),f.useEffect(()=>{const c=window.setTimeout(()=>l(!0),1e3);return()=>window.clearTimeout(c)},[]),i?null:h.jsx(vr,{asChild:!0,children:h.jsx(Rt,{...s,children:o&&h.jsxs(h.Fragment,{children:[r.label," ",n]})})})},cc="ToastTitle",Cr=f.forwardRef((t,e)=>{const{__scopeToast:n,...s}=t;return h.jsx(re.div,{...s,ref:e})});Cr.displayName=cc;var uc="ToastDescription",Ar=f.forwardRef((t,e)=>{const{__scopeToast:n,...s}=t;return h.jsx(re.div,{...s,ref:e})});Ar.displayName=uc;var Pr="ToastAction",Er=f.forwardRef((t,e)=>{const{altText:n,...s}=t;return n.trim()?h.jsx(Or,{altText:n,asChild:!0,children:h.jsx(Tn,{...s,ref:e})}):(console.error(`Invalid prop \`altText\` supplied to \`${Pr}\`. Expected non-empty \`string\`.`),null)});Er.displayName=Pr;var Rr="ToastClose",Tn=f.forwardRef((t,e)=>{const{__scopeToast:n,...s}=t,r=ic(Rr,n);return h.jsx(Or,{asChild:!0,children:h.jsx(re.button,{type:"button",...s,ref:e,onClick:X(t.onClick,r.onClose)})})});Tn.displayName=Rr;var Or=f.forwardRef((t,e)=>{const{__scopeToast:n,altText:s,...r}=t;return h.jsx(re.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":s||void 0,...r,ref:e})});function Lr(t){const e=[];return Array.from(t.childNodes).forEach(s=>{if(s.nodeType===s.TEXT_NODE&&s.textContent&&e.push(s.textContent),pc(s)){const r=s.ariaHidden||s.hidden||s.style.display==="none",o=s.dataset.radixToastAnnounceExclude==="";if(!r)if(o){const a=s.dataset.radixToastAnnounceAlt;a&&e.push(a)}else e.push(...Lr(s))}}),e}function pt(t,e,n,{discrete:s}){const r=n.originalEvent.currentTarget,o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e&&r.addEventListener(t,e,{once:!0}),s?fr(r,o):r.dispatchEvent(o)}var gs=(t,e,n=0)=>{const s=Math.abs(t.x),r=Math.abs(t.y),o=s>r;return e==="left"||e==="right"?o&&s>n:!o&&r>n};function dc(t=()=>{}){const e=Se(t);Ce(()=>{let n=0,s=0;return n=window.requestAnimationFrame(()=>s=window.requestAnimationFrame(e)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(s)}},[e])}function pc(t){return t.nodeType===t.ELEMENT_NODE}function fc(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const r=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||r?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function Ut(t){const e=document.activeElement;return t.some(n=>n===e?!0:(n.focus(),document.activeElement!==e))}var hc=br,Nr=wr,Mr=Sr,jr=Cr,kr=Ar,Ir=Er,Dr=Tn;function $r(t){var e,n,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(n=$r(t[e]))&&(s&&(s+=" "),s+=n)}else for(n in t)t[n]&&(s&&(s+=" "),s+=n);return s}function Fr(){for(var t,e,n=0,s="",r=arguments.length;n<r;n++)(t=arguments[n])&&(e=$r(t))&&(s&&(s+=" "),s+=e);return s}const vs=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,ys=Fr,mc=(t,e)=>n=>{var s;if(e?.variants==null)return ys(t,n?.class,n?.className);const{variants:r,defaultVariants:o}=e,a=Object.keys(r).map(c=>{const u=n?.[c],p=o?.[c];if(u===null)return null;const g=vs(u)||vs(p);return r[c][g]}),i=n&&Object.entries(n).reduce((c,u)=>{let[p,g]=u;return g===void 0||(c[p]=g),c},{}),l=e==null||(s=e.compoundVariants)===null||s===void 0?void 0:s.reduce((c,u)=>{let{class:p,className:g,...d}=u;return Object.entries(d).every(v=>{let[m,y]=v;return Array.isArray(y)?y.includes({...o,...i}[m]):{...o,...i}[m]===y})?[...c,p,g]:c},[]);return ys(t,a,l,n?.class,n?.className)},Sn="-",gc=t=>{const e=yc(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:s}=t;return{getClassGroupId:a=>{const i=a.split(Sn);return i[0]===""&&i.length!==1&&i.shift(),_r(i,e)||vc(a)},getConflictingClassGroupIds:(a,i)=>{const l=n[a]||[];return i&&s[a]?[...l,...s[a]]:l}}},_r=(t,e)=>{if(t.length===0)return e.classGroupId;const n=t[0],s=e.nextPart.get(n),r=s?_r(t.slice(1),s):void 0;if(r)return r;if(e.validators.length===0)return;const o=t.join(Sn);return e.validators.find(({validator:a})=>a(o))?.classGroupId},bs=/^\[(.+)\]$/,vc=t=>{if(bs.test(t)){const e=bs.exec(t)[1],n=e?.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},yc=t=>{const{theme:e,prefix:n}=t,s={nextPart:new Map,validators:[]};
vendor: 5,087 bytes, line 11
11return xc(Object.entries(t.classGroups),n).forEach(([o,a])=>{un(a,s,o,e)}),s},un=(t,e,n,s)=>{t.forEach(r=>{if(typeof r=="string"){const o=r===""?e:xs(e,r);o.classGroupId=n;return}if(typeof r=="function"){if(bc(r)){un(r(s),e,n,s);return}e.validators.push({validator:r,classGroupId:n});return}Object.entries(r).forEach(([o,a])=>{un(a,xs(e,o),n,s)})})},xs=(t,e)=>{let n=t;return e.split(Sn).forEach(s=>{n.nextPart.has(s)||n.nextPart.set(s,{nextPart:new Map,validators:[]}),n=n.nextPart.get(s)}),n},bc=t=>t.isThemeGetter,xc=(t,e)=>e?t.map(([n,s])=>{const r=s.map(o=>typeof o=="string"?e+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([a,i])=>[e+a,i])):o);return[n,r]}):t,wc=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,s=new Map;const r=(o,a)=>{n.set(o,a),e++,e>t&&(e=0,s=n,n=new Map)};return{get(o){let a=n.get(o);if(a!==void 0)return a;if((a=s.get(o))!==void 0)return r(o,a),a},set(o,a){n.has(o)?n.set(o,a):r(o,a)}}},Vr="!",Tc=t=>{const{separator:e,experimentalParseClassName:n}=t,s=e.length===1,r=e[0],o=e.length,a=i=>{const l=[];let c=0,u=0,p;for(let y=0;y<i.length;y++){let w=i[y];if(c===0){if(w===r&&(s||i.slice(y,y+o)===e)){l.push(i.slice(u,y)),u=y+o;continue}if(w==="/"){p=y;continue}}w==="["?c++:w==="]"&&c--}const g=l.length===0?i:i.substring(u),d=g.startsWith(Vr),v=d?g.substring(1):g,m=p&&p>u?p-u:void 0;return{modifiers:l,hasImportantModifier:d,baseClassName:v,maybePostfixModifierPosition:m}};return n?i=>n({className:i,parseClassName:a}):a},Sc=t=>{if(t.length<=1)return t;const e=[];let n=[];return t.forEach(s=>{s[0]==="["?(e.push(...n.sort(),s),n=[]):n.push(s)}),e.push(...n.sort()),e},Cc=t=>({cache:wc(t.cacheSize),parseClassName:Tc(t),...gc(t)}),Ac=/\s+/,Pc=(t,e)=>{const{parseClassName:n,getClassGroupId:s,getConflictingClassGroupIds:r}=e,o=[],a=t.trim().split(Ac);let i="";for(let l=a.length-1;l>=0;l-=1){const c=a[l],{modifiers:u,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:d}=n(c);let v=!!d,m=s(v?g.substring(0,d):g);if(!m){if(!v){i=c+(i.length>0?" "+i:i);continue}if(m=s(g),!m){i=c+(i.length>0?" "+i:i);continue}v=!1}const y=Sc(u).join(":"),w=p?y+Vr:y,x=w+m;if(o.includes(x))continue;o.push(x);const T=r(m,v);for(let S=0;S<T.length;++S){const R=T[S];o.push(w+R)}i=c+(i.length>0?" "+i:i)}return i};function Ec(){let t=0,e,n,s="";for(;t<arguments.length;)(e=arguments[t++])&&(n=zr(e))&&(s&&(s+=" "),s+=n);return s}const zr=t=>{if(typeof t=="string")return t;let e,n="";for(let s=0;s<t.length;s++)t[s]&&(e=zr(t[s]))&&(n&&(n+=" "),n+=e);return n};function Rc(t,...e){let n,s,r,o=a;function a(l){const c=e.reduce((u,p)=>p(u),t());return n=Cc(c),s=n.cache.get,r=n.cache.set,o=i,i(l)}function i(l){const c=s(l);if(c)return c;const u=Pc(l,n);return r(l,u),u}return function(){return o(Ec.apply(null,arguments))}}const W=t=>{const e=n=>n[t]||[];return e.isThemeGetter=!0,e},qr=/^\[(?:([a-z-]+):)?(.+)\]$/i,Oc=/^\d+\/\d+$/,Lc=new Set(["px","full","screen"]),Nc=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Mc=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jc=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,kc=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ic=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ge=t=>qe(t)||Lc.has(t)||Oc.test(t),we=t=>Ue(t,"length",Hc),qe=t=>!!t&&!Number.isNaN(Number(t)),Jt=t=>Ue(t,"number",qe),Qe=t=>!!t&&Number.isInteger(Number(t)),Dc=t=>t.endsWith("%")&&qe(t.slice(0,-1)),D=t=>qr.test(t),Te=t=>Nc.test(t),$c=new Set(["length","size","percentage"]),Fc=t=>Ue(t,$c,Hr),_c=t=>Ue(t,"position",Hr),Vc=new Set(["image","url"]),zc=t=>Ue(t,Vc,Uc),qc=t=>Ue(t,"",Bc),Xe=()=>!0,Ue=(t,e,n)=>{const s=qr.exec(t);return s?s[1]?typeof e=="string"?s[1]===e:e.has(s[1]):n(s[2]):!1},Hc=t=>Mc.test(t)&&!jc.test(t),Hr=()=>!1,Bc=t=>kc.test(t),Uc=t=>Ic.test(t),Jc=()=>{const t=W("colors"),e=W("spacing"),n=W("blur"),s=W("brightness"),r=W("borderColor"),o=W("borderRadius"),a=W("borderSpacing"),i=W("borderWidth"),l=W("contrast"),c=W("grayscale"),u=W("hueRotate"),p=W("invert"),g=W("gap"),d=W("gradientColorStops"),v=W("gradientColorStopPositions"),m=W("inset"),y=W("margin"),w=W("opacity"),x=W("padding"),T=W("saturate"),S=W("scale"),R=W("sepia"),P=W("skew"),N=W("space"),G=W("translate"),L=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],k=()=>["auto",D,e],A=()=>[D,e],$=()=>["",ge,we],C=()=>["auto",qe,D],K=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],_=()=>["solid","dashed","dotted","double","none"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],J=()=>["start","end","center","between","around","evenly","stretch"],E=()=>["","0",D],Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],q=()=>[qe,D];return{cacheSize:500,separator:":",theme:{colors:[Xe],spacing:[ge,we],blur:["none","",Te,D],brightness:q(),borderColor:[t],borderRadius:["n
11one","","full",Te,D],borderSpacing:A(),borderWidth:$(),contrast:q(),grayscale:E(),hueRotate:q(),invert:E(),gap:A(),gradientColorStops:[t],gradientColorStopPositions:[Dc,we],inset:k(),margin:k(),opacity:q(),padding:A(),saturate:q(),scale:q(),sepia:E(),skew:q(),space:A(),translate:A()},classGroups:{aspect:[{aspect:["auto","square","video",D]}],container:["container"],columns:[{columns:[Te]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...K(),D]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Qe,D]}],basis:[{basis:k()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",D]}],grow:[{grow:E()}],shrink:[{shrink:E()}],order:[{order:["first","last","none",Qe,D]}],"grid-cols":[{"grid-cols":[Xe]}],"col-start-end":[{col:["auto",{span:["full",Qe,D]},D]}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":[Xe]}],"row-start-end":[{row:["auto",{span:[Qe,D]},D]}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",D]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",D]}],gap:[{gap:[g]}],"gap-x":[{"gap-x":[g]}],"gap-y":[{"gap-y":[g]}],"justify-content":[{justify:["normal",...J()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...J(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...J(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[x]}],px:[{px:[x]}],py:[{py:[x]}],ps:[{ps:[x]}
vendor: 8,317 bytes, line 11
11],pe:[{pe:[x]}],pt:[{pt:[x]}],pr:[{pr:[x]}],pb:[{pb:[x]}],pl:[{pl:[x]}],m:[{m:[y]}],mx:[{mx:[y]}],my:[{my:[y]}],ms:[{ms:[y]}],me:[{me:[y]}],mt:[{mt:[y]}],mr:[{mr:[y]}],mb:[{mb:[y]}],ml:[{ml:[y]}],"space-x":[{"space-x":[N]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[N]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",D,e]}],"min-w":[{"min-w":[D,e,"min","max","fit"]}],"max-w":[{"max-w":[D,e,"none","full","min","max","fit","prose",{screen:[Te]},Te]}],h:[{h:[D,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[D,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[D,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[D,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Te,we]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Jt]}],"font-family":[{font:[Xe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",D]}],"line-clamp":[{"line-clamp":["none",qe,Jt]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",ge,D]}],"list-image":[{"list-image":["none",D]}],"list-style-type":[{list:["none","disc","decimal",D]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[w]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[w]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[..._(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",ge,we]}],"underline-offset":[{"underline-offset":["auto",ge,D]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",D]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",D]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[w]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...K(),_c]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Fc]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},zc]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[v]}],"gradient-via-pos":[{via:[v]}],"gradient-to-pos":[{to:[v]}],"gradient-from":[{from:[d]}],"gradient-via":[{via:[d]}],"gradient-to":[{to:[d]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[w]}],"border-style":[{border:[..._(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[w]}],"divide-style":[{divide:_()}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-s":[{"border-s":[r]}],"border-color-e":[{"border-e":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["",..._()]}],"outline-offset":[{"outline-offset":[ge,D]}],"outline-w":[{outline:[ge,we]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:$()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[w]}],"ring-offset-w":[{"ring-offset":[ge,we]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Te,qc]}],"shadow-color":[{shadow:[Xe]}],opacity:[{opacity:[w]}],"mix-blend":[{"mix-blend":[...V(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[s]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",Te,D]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[p]}],saturate:[{saturate:[T]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[s]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[w]}],"backdrop-saturate":[{"backdrop-saturate":[T]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",D]}],duration:[{duration:q()}],ease:[{ease:["linear","in","out","in-out",D]}],delay:[{delay:q()}],animate:[{animate:["none","spin","ping","pulse","bounce",D]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[S]}],"scale-x":[{"scale-x":[S]}],"scale-y":[{"scale-y":[S]}],rotate:[{rotate:[Qe,D]}],"translate-x":[{"translate-x":[G]}],"translate-y":[{"translate-y":[G]}],"skew-x":[{"skew-x":[P]}],"skew-y":[{"skew-y":[P]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",D]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",D]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}
11],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",D]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[ge,we,Jt]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Gc=Rc(Jc);function Me(...t){return Gc(Fr(t))}const Kc=hc,Br=f.forwardRef(({className:t,...e},n)=>h.jsx(Nr,{ref:n,className:Me("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));Br.displayName=Nr.displayName;const Wc=mc("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Ur=f.forwardRef(({className:t,variant:e,...n},s)=>h.jsx(Mr,{ref:s,className:Me(Wc({variant:e}),t),...n}));Ur.displayName=Mr.displayName;const Yc=f.forwardRef(({className:t,...e},n)=>h.jsx(Ir,{ref:n,className:Me("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",t),...e}));Yc.displayName=Ir.displayName;const Jr=f.forwardRef(({className:t,...e},n)=>h.jsx(Dr,{ref:n,className:Me("absolute right-2 top-2 rounded-md p-1 text-foreground
11/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...e,children:h.jsx(qo,{className:"h-4 w-4"})}));Jr.displayName=Dr.displayName;const Gr=f.forwardRef(({className:t,...e},n)=>h.jsx(jr,{ref:n,className:Me("text-sm font-semibold",t),...e}));Gr.displayName=jr.displayName;const Kr=f.forwardRef(({className:t,...e},n)=>h.jsx(kr,{ref:n,className:Me("text-sm opacity-90",t),...e}));Kr.displayName=kr.displayName;function Qc(){const{toasts:t}=Tl();return h.jsxs(Kc,{children:[t.map(function({id:e,title:n,description:s,action:r,...o}){return h.jsxs(Ur,{...o,children:[h.jsxs("div",{className:"grid gap-1",children:[n&&h.jsx(Gr,{children:n}),s&&h.jsx(Kr,{children:s})]}),r,h.jsx(Jr,{})]},e)}),h.jsx(Br,{})]})}var Xc="Arrow",Wr=f.forwardRef((t,e)=>{const{children:n,width:s=10,height:r=5,...o}=t;return h.jsx(re.svg,{...o,ref:e,width:s,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?n:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});Wr.displayName=Xc;var Zc=Wr;function eu(t){const[e,n]=f.useState(void 0);return Ce(()=>{if(t){n({width:t.offsetWidth,height:t.offsetHeight});const s=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const o=r[0];let a,i;if("borderBoxSize"in o){const l=o.borderBoxSize,c=Array.isArray(l)?l[0]:l;a=c.inlineSize,i=c.blockSize}else a=t.offsetWidth,i=t.offsetHeight;n({width:a,height:i})});return s.observe(t,{box:"border-box"}),()=>s.unobserve(t)}else n(void 0)},[t]),e}var Cn="Popper",[Yr,Qr]=Et(Cn),[tu,Xr]=Yr(Cn),Zr=t=>{const{__scopePopper:e,children:n}=t,[s,r]=f.useState(null);return h.jsx(tu,{scope:e,anchor:s,onAnchorChange:r,children:n})};Zr.displayName=Cn;var eo="PopperAnchor",to=f.forwardRef((t,e)=>{const{__scopePopper:n,virtualRef:s,...r}=t,o=Xr(eo,n),a=f.useRef(null),i=fe(e,a);return f.useEffect(()=>{o.onAnchorChange(s?.current||a.current)}),s?null:h.jsx(re.div,{...r,ref:i})});to.displayName=eo;var An="PopperContent",[nu,su]=Yr(An),no=f.forwardRef((t,e)=>{const{__scopePopper:n,side:s="bottom",sideOffset:r=0,align:o="center",alignOffset:a=0,arrowPadding:i=0,avoidCollisions:l=!0,collisionBoundary:c=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:d="optimized",onPlaced:v,...m}=t,y=Xr(An,n),[w,x]=f.useState(null),T=fe(e,B=>x(B)),[S,R]=f.useState(null),P=eu(S),N=P?.width??0,G=P?.height??0,L=s+(o!=="center"?"-"+o:""),O=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},k=Array.isArray(c)?c:[c],A=k.length>0,$={padding:O,boundary:k.filter(ou),altBoundary:A},{refs:C,floatingStyles:K,placement:_,isPositioned:V,middlewareData:J}=Lo({strategy:"fixed",placement:L,whileElementsMounted:(...B)=>No(...B,{animationFrame:d==="always"}),elements:{reference:y.anchor},middleware:[Mo({mainAxis:r+G,alignmentAxis:a}),l&&jo({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Fo():void 0,...$}),l&&ko({...$}),Io({...$,apply:({elements:B,rects:je,availableWidth:Ae,availableHeight:ke})=>{const{width:Pe,height:Je}=je.reference,Ee=B.floating.style;Ee.setProperty("--radix-popper-available-width",`${Ae}px`),Ee.setProperty("--radix-popper-available-height",`${ke}px`),Ee.setProperty("--radix-popper-anchor-width",`${Pe}px`),Ee.setProperty("--radix-popper-anchor-height",`${Je}px`)}}),S&&Do({element:S,padding:i}),iu({arrowWidth:N,arrowHeight:G}),g&&$o({strategy:"referenceHidden",...$})]}),[E,Q]=oo(_),q=Se(v);Ce(()=>{V&&q?.()},[V,q]);const I=J.arrow?.x,F=J.arrow?.y,H=J.arrow?.centerOffset!==0,[te,ve]=f.useState();return Ce(()=>{w&&ve(window.getComputedStyle(w).zIndex)},[w]),h.jsx("div",{ref:C.setFloating,"data-radix-popper-content-wrapper":"",style:{...K,transform:V?K.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:te,"--radix-popper-transform-origin":[J.transformOrigin?.x,J.transformOrigin?.y].join(" "),...J.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:h.jsx(nu,{scope:n,placedSide:E,onArrowChange:R,arrowX:I,arrowY:F,shouldHideArrow:H,children:h.jsx(re.div,{"data-side":E,"data-align":Q,...m,ref:T,style:{...m.style,animation:V?void 0:"none"}})})})});no.displayName=An;var so="PopperArrow",ru={top:"bottom",right:"left",bottom:"top",left:"r
11ight"},ro=f.forwardRef(function(e,n){const{__scopePopper:s,...r}=e,o=su(so,s),a=ru[o.placedSide];return h.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:h.jsx(Zc,{...r,ref:n,style:{...r.style,display:"block"}})})});ro.displayName=so;function ou(t){return t!==null}var iu=t=>({name:"transformOrigin",options:t,fn(e){const{placement:n,rects:s,middlewareData:r}=e,a=r.arrow?.centerOffset!==0,i=a?0:t.arrowWidth,l=a?0:t.arrowHeight,[c,u]=oo(n),p={start:"0%",center:"50%",end:"100%"}[u],g=(r.arrow?.x??0)+i/2,d=(r.arrow?.y??0)+l/2;let v="",m="";return c==="bottom"?(v=a?p:`${g}px`,m=`${-l}px`):c==="top"?(v=a?p:`${g}px`,m=`${s.floating.height+l}px`):c==="right"?(v=`${-l}px`,m=a?p:`${d}px`):c==="left"&&(v=`${s.floating.width+l}px`,m=a?p:`${d}px`),{data:{x:v,y:m}}}});function oo(t){const[e,n="center"]=t.split("-");return[e,n]}var Zp=Zr,au=to,lu=no,cu=ro,[Lt,ef]=Et("Tooltip",[Qr]),Pn=Qr(),io="TooltipProvider",uu=700,ws="tooltip.open",[du,ao]=Lt(io),lo=t=>{const{__scopeTooltip:e,delayDuration:n=uu,skipDelayDuration:s=300,disableHoverableContent:r=!1,children:o}=t,a=f.useRef(!0),i=f.useRef(!1),l=f.useRef(0);return f.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),h.jsx(du,{scope:e,isOpenDelayedRef:a,delayDuration:n,onOpen:f.useCallback(()=>{window.clearTimeout(l.current),a.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,s)},[s]),isPointerInTransitRef:i,onPointerInTransitChange:f.useCallback(c=>{i.current=c},[]),disableHoverableContent:r,children:o})};lo.displayName=io;var co="Tooltip",[tf,Nt]=Lt(co),dn="TooltipTrigger",pu=f.forwardRef((t,e)=>{const{__scopeTooltip:n,...s}=t,r=Nt(dn,n),o=ao(dn,n),a=Pn(n),i=f.useRef(null),l=fe(e,i,r.onTriggerChange),c=f.useRef(!1),u=f.useRef(!1),p=f.useCallback(()=>c.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),h.jsx(au,{asChild:!0,...a,children:h.jsx(re.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...s,ref:l,onPointerMove:X(t.onPointerMove,g=>{g.pointerType!=="touch"&&!u.current&&!o.isPointerInTransitRef.current&&(r.onTriggerEnter(),u.current=!0)}),onPointerLeave:X(t.onPointerLeave,()=>{r.onTriggerLeave(),u.current=!1}),onPointerDown:X(t.onPointerDown,()=>{r.open&&r.onClose(),c.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:X(t.onFocus,()=>{c.current||r.onOpen()}),onBlur:X(t.onBlur,r.onClose),onClick:X(t.onClick,r.onClose)})})});pu.displayName=dn;var fu="TooltipPortal",[nf,hu]=Lt(fu,{forceMount:void 0}),Be="TooltipContent",uo=f.forwardRef((t,e)=>{const n=hu(Be,t.__scopeTooltip),{forceMount:s=n.forceMount,side:r="top",...o}=t,a=Nt(Be,t.__scopeTooltip);return h.jsx(bn,{present:s||a.open,children:a.disableHoverableContent?h.jsx(po,{side:r,...o,ref:e}):h.jsx(mu,{side:r,...o,ref:e})})}),mu=f.forwardRef((t,e)=>{const n=Nt(Be,t.__scopeTooltip),s=ao(Be,t.__scopeTooltip),r=f.useRef(null),o=fe(e,r),[a,i]=f.useState(null),{trigger:l,onClose:c}=n,u=r.current,{onPointerInTransitChange:p}=s,g=f.useCallback(()=>{i(null),p(!1)},[p]),d=f.useCallback((v,m)=>{const y=v.currentTarget,w={x:v.clientX,y:v.clientY},x=xu(w,y.getBoundingClientRect()),T=wu(w,x),S=Tu(m.getBoundingClientRect()),R=Cu([...T,...S]);i(R),p(!0)},[p]);return f.useEffect(()=>()=>g(),[g]),f.useEffect(()=>{if(l&&u){const v=y=>d(y,u),m=y=>d(y,l);return l.addEventListener("pointerleave",v),u.addEventListener("pointerleave",m),()=>{l.removeEventListener("pointerleave",v),u.removeEventListener("pointerleave",m)}}},[l,u,d,g]),f.useEffect(()=>{if(a){const v=m=>{const y=m.target,w={x:m.clientX,y:m.clientY},x=l?.contains(y)||u?.contains(y),T=!Su(w,a);x?g():T&&(g(),c())};return document.addEventListener("pointermove",v),()=>document.removeEventListener("pointermove",v)}},[l,u,a,c,g]),h.jsx(po,{...t,ref:o})}),[gu,vu]=Lt(co,{isInside:!1}),yu=Al("TooltipContent"),po=f.forwardRef((t,e)=>{const{__scopeTooltip:n,children:s,"aria-label":r,onEscapeKeyDown:o,onPointerDownOutside:a,...i}=t,l=Nt(Be,n),c=Pn(n),{onClose:u}=l;return f.useEffect(()=>(document.addEventListener(ws,u),()=>document.removeEventListener(ws,u)),[u]),f.useEffect(()=>{if(l.trigger){const p=g=>{g.target?.contains(l.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,u]),h.jsx(yn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:h.jsxs(lu,{"data-state":l.stateAttribute,...c,...i,ref:e,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[h.jsx(yu,{children:s}),h.jsx(gu,{scope:n,isInside:!0,children:h.jsx(Yl,{id:l.contentId,role:"tooltip",children:r||s})})]})})});uo.displayName=Be;var fo="TooltipArrow",bu=f.forwardRef((t,e)=>{const{__scopeTooltip:n,...s}=t,r=Pn(n);return vu(fo,n).isInside?null:h.jsx(cu,{...r,...s,ref:e})});bu.displayName=fo;function xu(t,e){const n=Math.abs(e.top-t.y),s=Math.abs(e.bottom-t.y),r=Math.abs(e.right-t.x),o=Math.abs(e.left-t.x);switch(Math.min(n,s,r,o)){case o:return"left";case r:return"right";case n:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function wu(t,e,n=5){const s=[];
vendor: 5,796 bytes, line 11
11switch(e){case"top":s.push({x:t.x-n,y:t.y+n},{x:t.x+n,y:t.y+n});break;case"bottom":s.push({x:t.x-n,y:t.y-n},{x:t.x+n,y:t.y-n});break;case"left":s.push({x:t.x+n,y:t.y-n},{x:t.x+n,y:t.y+n});break;case"right":s.push({x:t.x-n,y:t.y-n},{x:t.x-n,y:t.y+n});break}return s}function Tu(t){const{top:e,right:n,bottom:s,left:r}=t;return[{x:r,y:e},{x:n,y:e},{x:n,y:s},{x:r,y:s}]}function Su(t,e){const{x:n,y:s}=t;let r=!1;for(let o=0,a=e.length-1;o<e.length;a=o++){const i=e[o],l=e[a],c=i.x,u=i.y,p=l.x,g=l.y;u>s!=g>s&&n<(p-c)*(s-u)/(g-u)+c&&(r=!r)}return r}function Cu(t){const e=t.slice();return e.sort((n,s)=>n.x<s.x?-1:n.x>s.x?1:n.y<s.y?-1:n.y>s.y?1:0),Au(e)}function Au(t){if(t.length<=1)return t.slice();const e=[];for(let s=0;s<t.length;s++){const r=t[s];for(;e.length>=2;){const o=e[e.length-1],a=e[e.length-2];if((o.x-a.x)*(r.y-a.y)>=(o.y-a.y)*(r.x-a.x))e.pop();else break}e.push(r)}e.pop();const n=[];for(let s=t.length-1;s>=0;s--){const r=t[s];for(;n.length>=2;){const o=n[n.length-1],a=n[n.length-2];if((o.x-a.x)*(r.y-a.y)>=(o.y-a.y)*(r.x-a.x))n.pop();else break}n.push(r)}return n.pop(),e.length===1&&n.length===1&&e[0].x===n[0].x&&e[0].y===n[0].y?e:e.concat(n)}var Pu=lo,ho=uo;const Eu=Pu,Ru=f.forwardRef(({className:t,sideOffset:e=4,...n},s)=>h.jsx(ho,{ref:s,sideOffset:e,className:Me("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...n}));Ru.displayName=ho.displayName;const Ou={agency:"L'agence",services:"Nos services",sell:"Vendre",buy:"Acheter",rentManagement:"Location & Gestion",sales:"Ventes",rentals:"Locations",sector:"Secteur",contact:"Contact",estimate:"Estimation gratuite",phone:"+33 4 93 61 19 18"},Lu={tagline:"Transaction, location et gestion locative sur le littoral azuréen depuis plus de 20 ans.",agencyTitle:"L'agence",aboutUs:"Qui sommes-nous",ourServices:"Nos services",ourSector:"Notre secteur",faq:"Questions fréquentes",contact:"Contact",servicesTitle:"Services",sell:"Vendre",buy:"Acheter",rent:"Location",rentManagement:"Gestion locative",forSale:"Biens à la vente",forRent:"Biens en location",recentSales:"Ventes et locations récentes",soldArchives:"Archives ventes",rentalArchives:"Archives locations",contactTitle:"Coordonnées",address:"2 av. de l'Estérel, 06160 Juan-les-Pins",copyright:"© {{year}} Agence Méditerranée — Tous droits réservés.",legalNotice:"Mentions légales",fees:"Honoraires",privacy:"Politique de confidentialité",siteBy:"Un site"},Nu={switchToEn:"English",switchToFr:"Français"},Mu="Chargement de la page…",ju={defaultTitle:"Bien immobilier",notFound:"Ce bien n'existe pas ou a été retiré."},ku={nav:Ou,footer:Lu,language:Nu,loading:Mu,property:ju},Iu={agency:"The agency",services:"Our services",sell:"Sell",buy:"Buy",rentManagement:"Rental & Management",sales:"Sales",rentals:"Locations",sector:"Sector",contact:"Contact",estimate:"Free estimate",phone:"+33 4 93 61 19 18"},Du={tagline:"Transaction, rental and rental management on the French Riviera for over 20 years.",agencyTitle:"The agency",aboutUs:"Who are we",ourServices:"Our services",ourSector:"Our sector",faq:"Frequently Asked Questions",contact:"Contact",servicesTitle:"Services",sell:"Sell",buy:"Buy",rent:"Rental",rentManagement:"Rental management",forSale:"Properties for sale",forRent:"Rental properties",recentSales:"Recent Sales and Rentals",soldArchives:"Sales Archives",rentalArchives:"Location Archives",contactTitle:"Contact details",address:"2 Avenue de l'Estérel, 06160 Juan-les-Pins",copyright:"© {{year}} Agence Méditerranée — All rights reserved.",legalNotice:"Legal notice",fees:"Fees",privacy:"Privacy Policy",siteBy:"A website"},$u={switchToEn:"English",switchToFr:"French"},Fu="Loading page…",_u={defaultTitle:"Real estate",notFound:"This item does not exist or has been removed."},Vu={nav:Iu,footer:Du,language:$u,loading:Fu,property:_u},zu={name:"Nom",firstName:"Prénom",email:"Email",phone:"Téléphone",message:"Message",submit:"Envoyer ma demande",sending:"Envoi en cours…",success:"Merci, votre message a bien été envoyé.",successSub:"Nous vous répondrons dans les meilleurs délais.",error:"Une erreur est survenue. Vous pouvez aussi nous appeler.",gdpr:"J'accepte que mes informations soient utilisées pour être recontacté au sujet de ma demande.",privacy:"Les informations envoyées via ce formulaire sont uniquement utilisées pour répondre à votre demande. Vous pouvez demander la suppression de vos données à tout moment.",placeholderName:"Votre nom",placeholderFirstName:"Votre prénom",placeholderEmail:"[email protected]",placeholderPhone:"Votre numéro",placeholderMessage:"Décrivez votre besoin, la ville, et l'échéance si vous en avez une.",selectPlaceholder:"Sélectionnez",projectType:"Type de projet",projectSell:"Vendre",projectBuy:"Acheter",projectRent:"Louer",projectManagement:"Gestion locative",projectResidence:"Résidence secondaire",projectOther:"Autre"},qu={title:"Parlons de votre projet",subtitle:"Dites-nous en quelques lignes ce que vous souhaitez faire. Nous vous répondons rapidement.",phone:"Téléphone",email:"Email",address:"Adresse",hours:"Horaires",transaction:"Transaction",transactionHours:"Lun–Ven 9h30–12h30 / 14h–18h30 ; Sam sur rendez-vous",rentalManagement:"Location / Gestion",rentalHours:"Lun–Ven 9h30–12h30 / 14h–18h30",callAdvice:"Si vous préférez, appelez-nous : nous vous orienterons vers le bon interlocuteur."},Hu={badge:"Recherche personnalisée",title:"Vous ne trouvez pas votre bonheur ?",subt
11itle:"Confiez-nous votre recherche. Nous sélectionnons pour vous les biens correspondant à vos critères, y compris ceux qui ne sont pas encore publiés.",contactDirect:"Contactez-nous directement",criteria:"Vos critères",sector:"Secteur recherché",sectorPlaceholder:"Ex : Juan-les-Pins, Antibes…",criteriaPlaceholder:"Type de bien, budget, nombre de pièces, proximité…",submit:"Confier ma recherche",callbackNote:"Notre équipe vous rappelle sous 24 h pour affiner votre recherche et vous proposer une sélection sur mesure.",success:"Merci, votre demande a bien été envoyée !",successSub:"Nous reviendrons vers vous très rapidement.",privacy:"Vos données sont uniquement utilisées pour répondre à votre demande. Suppression possible sur simple demande.",gdpr:"J'accepte que mes informations soient utilisées pour être recontacté au sujet de ma recherche."},Bu={title:"Recherche",allCities:"Toutes les villes",allTypes:"Tous les types de bien",minBudget:"Budget minimum",maxBudget:"Budget maximum",minBudgetPlaceholder:"Budget min. (€)",maxBudgetPlaceholder:"Budget max. (€)",minArea:"Surface minimum",minAreaPlaceholder:"Surface min. (m²)",minRooms:"Nombre de pièces minimum",minRoomsPlaceholder:"Pièces min.",minBedrooms:"Nombre de chambres minimum",minBedroomsPlaceholder:"Chambres min.",complementary:"Options complémentaires",equipment:"Équipements & critères",parking:"Parking",exterior:"Extérieur (jardin, terrasse…)",reset:"Réinitialiser les filtres",mobileButton:"Filtres",mobileTitle:"Filtrer les biens"},Uu={label:"Tri & affichage",ariaLabel:"Trier par",newest:"Plus récents",priceAsc:"Prix croissant",priceDesc:"Prix décroissant",areaDesc:"Surface décroissante"},Ju={grid:"Vue grille",list:"Vue liste"},Gu={prev:"Page précédente",next:"Page suivante",ariaLabel:"Pagination"},Ku={prev:"Photo précédente",next:"Photo suivante",thumbnail:"Voir photo {{number}}"},Wu={selector:"Sélecteur de langue",fr:"Version française",en:"English version",current:"actuelle"},Yu={sold:"Vendu",rented:"Loué"},Qu={see:"Voir",resultsOne:"{{count}} bien trouvé",resultsMany:"{{count}} biens trouvés",noResults:"Aucun bien ne correspond à vos critères.",noResultsSub:"Essayez de modifier vos filtres ou contactez-nous directement."},Xu={form:zu,contact:qu,search:Hu,filters:Bu,sort:Uu,view:Ju,pagination:Gu,gallery:Ku,language:Wu,badge:Yu,property:Qu},Zu={name:"Name",firstName:"First name",email:"E-mail",phone:"Phone",message:"Message",submit:"Submit my request",sending:"Shipment in progress…",success:"Thank you, your message has been sent.",successSub:"We will respond as soon as possible.",error:"An error has occurred. You can also call us.",gdpr:"I agree that my information may be used to contact me regarding my request.",privacy:"The information submitted via this form is used solely to respond to your request. You can request the deletion of your data at any time.",placeholderName:"Your name",placeholderFirstName:"Your first name",placeholderEmail:"[email protected]",placeholderPhone:"Your number",placeholderMessage:"Describe your need, the city, and the deadline if you have one.",selectPlaceholder:"Select",projectType:"Project type",projectSell:"Sell",projectBuy:"Buy",projectRent:"To rent out",projectManagement:"Rental management",projectResidence:"Second home",projectOther:"Other"},ed={title:"Let's talk about your project",subtitle:"Tell us in a few lines what you would like to do. We will respond quickly.",phone:"Phone",email:"E-mail",address:"Address",hours:"Schedules",transaction:"Transaction",transactionHours:"Mon–Fri 9:30am–12:30pm / 2pm–6:30pm; Sat by appointment",rentalManagement:"Rental / Management",rentalHours:"Mon–Fri 9:30am–12:30pm / 2pm–6:30pm",callAdvice:"If you prefer, call us: we will direct you to the right person."},td={badge:"Custom search",title:"Can't find what you're looking for?",subtitle:"Entrust us with your search. We will select properties that match your criteria, including those not yet listed.",contactDirect:"Contact us directly",criteria:"Your criteria",sector:"Sector sought",sectorPlaceholder:"Ex: Juan-les-Pins, Antibes…",criteriaPlaceholder:"Property type, budget, number of rooms, proximity…",submit:"Entrust my search",callbackNote:"Our team will call you back within 24 hours to refine your search and offer you a tailored selection.",success:"Thank y
11ou, your request has been successfully sent!",successSub:"We will get back to you very soon.",privacy:"Your data is used solely to respond to your request. It can be deleted upon request.",gdpr:"I agree that my information may be used to contact me regarding my search."},nd={title:"Research",allCities:"All cities",allTypes:"All types of property",minBudget:"Minimum budget",maxBudget:"Maximum budget",minBudgetPlaceholder:"Minimum budget (€)",maxBudgetPlaceholder:"Maximum budget (€)",minArea:"Minimum surface area",minAreaPlaceholder:"Minimum surface area (m²)",minRooms:"Minimum number of pieces",minRoomsPlaceholder:"Minimum parts",minBedrooms:"Minimum number of rooms",minBedroomsPlaceholder:"Rooms min.",complementary:"Additional options",equipment:"Equipment & criteria",parking:"Parking",exterior:"Exterior (garden, terrace…)",reset:"Reset filters",mobileButton:"Filters",mobileTitle:"Filter the goods"},sd={label:"Sorting & displaying",ariaLabel:"sort by",newest:"More recent",priceAsc:"Price increasing",priceDesc:"Price descending",areaDesc:"decreasing surface area"},rd={grid:"Grid view",list:"List view"},od={prev:"Previous page",next:"Next page",ariaLabel:"Paging"},id={prev:"Previous photo",next:"Next photo",thumbnail:"See photo {{number}}"},ad={selector:"Language selector",fr:"French version",en:"English version",current:"current"},ld={sold:"Sold",rented:"Rented"},cd={see:"See",resultsOne:"{{count}} well found",resultsMany:"{{count}} found goods",noResults:"No properties match your criteria.",noResultsSub:"Try changing your filters or contact us directly."},ud={form:Zu,contact:ed,search:td,filters:nd,sort:sd,view:rd,pagination:od,gallery:id,language:ad,badge:ld,property:cd},dd={title:"Agence immobilière à Juan-les-Pins & Antibes",subtitle:"Transaction, location et gestion locative sur le littoral azuréen. Un accompagnement sérieux, du premier échange jusqu'à la signature.",tagline:"Plus de 20 ans d'expérience • Expertise locale • Suivi personnalisé",imgAlt:"Vue aérienne du littoral de Juan-les-Pins et Antibes, Côte d'Azur",imgAlt1:"Vue aérienne du Cap d'Antibes et de son littoral méditerranéen",imgAlt2:"Vue panoramique sur les toits de la vieille ville d'Antibes depuis les remparts",imgAlt3:"Rue commerçante fleurie de la vieille ville d'Antibes",ctaSales:"Voir les biens à la vente",ctaRentals:"Voir les locations",ctaEstimation:"Demander une estimation",phone:"Juan-les-Pins • +33 4 93 61 19 18",trust:["Estimation réaliste","Mise en valeur premium","Diffusion large & réseau"]},pd={title:"Biens en vitrine",subtitle:"Un aperçu de nos biens disponibles. Consultez nos pages dédiées pour voir l'ensemble de notre offre.",ctaSales:"Voir toutes les ventes",ctaRentals:"Voir toutes les locations"},fd={title:"Nos services",subtitle:"Que vous soyez vendeur, acquéreur ou propriétaire bailleur, nous construisons une démarche simple : comprendre, cadrer, agir, puis suivre.",items:[{title:"Vendre",text:"Estimation, mise en valeur, diffusion et accompagnement jusqu'à la signature.",link:"Découvrir notre méthode"},{title:"Acheter",text:"Conseil, sélection ciblée et accompagnement. Possibilité de chasse immobilière.",link:"En savoir plus"},{title:"Location & Gestion",text:"Mise en location, gestion locative, résidence secondaire : un suivi structuré.",link:"En savoir plus"}]},hd={title:"Une agence locale, une approche exigeante",subtitle:"Agence Méditerranée vous accompagne à Juan-les-Pins, Antibes et Golfe-Juan pour vendre, acheter, louer ou gérer un bien. Notre priorité : une stratégie claire, des conseils concrets et un suivi fiable à chaque étape.",cards:[{title:"Conseil & transparence",text:"Un avis objectif sur le prix, le marché et les options pour avancer sereinement."},{title:"Valorisation du bien",text:"Des supports de présentation soignés pour attirer les bons profils dès le départ."},{title:"Accompagnement complet",text:"Visites, négociation, suivi administratif et coordination jusqu'à la signature."}]},md={title:"Notre secteur",subtitle:"Juan-les-Pins, Antibes, Golfe-Juan et environs : une connaissance locale pour mieux estimer, mieux positionner et mieux accompagner.",mapAlt:"Carte stylisée du littoral entre Antibes, Juan-les-Pins et Cannes",outsideZone:"Vous vendez hors de cette zone ? Contactez-nous : nous vous dirons simplement si nous sommes les bons interlocuteurs."},gd={title:"Questions fréquentes",subtitle:"Quelques réponses rapides. Pour un point précis, contactez-nous.",items:[{q:"Comment se déroule une estimation ?",a:"Nous anal
11ysons le bien, son emplacement, l'état, la copropriété et le marché local. Vous recevez un avis clair et argumenté."},{q:"Quels documents prévoir pour vendre ?",a:"Selon le bien : titre de propriété, diagnostics, charges de copropriété, taxe foncière, plans si disponibles. Nous vous guidons sur la liste exacte."},{q:"Proposez-vous la gestion locative ?",a:"Oui. La gestion permet de simplifier le suivi, et selon le cas de sécuriser les loyers. Nous expliquons le périmètre exact lors d'un échange."},{q:"Qu'est-ce que la multi-diffusion MLS Côte d'Azur ?",a:"C'est un réseau de diffusion partagé entre agences, qui augmente la visibilité et les opportunités de vente (470 agences)."},{q:"Intervenez-vous pour les résidences secondaires ?",a:"Oui, sur les Alpes-Maritimes et le Var, avec une prestation sur-mesure : coordination, suivi et administratif."}]},vd={hero:dd,grid:pd,services:fd,agency:hd,sector:md,faq:gd},yd={title:"Real estate agency in Juan-les-Pins & Antibes",subtitle:"Real estate transactions, rentals and property management on the French Riviera. Comprehensive support from the initial contact to the signing.",tagline:"Over 20 years of experience • Local expertise • Personalized support",imgAlt:"Aerial view of the coastline of Juan-les-Pins and Antibes, French Riviera",imgAlt1:"Aerial view of Cap d'Antibes and its Mediterranean coastline",imgAlt2:"Panoramic view of the old town of Antibes rooftops from the ramparts",imgAlt3:"Flower-lined shopping street in the old town of Antibes",ctaSales:"View properties for sale",ctaRentals:"View rentals",ctaEstimation:"Request a quote",phone:"Juan-les-Pins • +33 4 93 61 19 18",trust:["Estimation réaliste","Mise en valeur premium","Diffusion large & réseau"]},bd={title:"Goods on display",subtitle:"A preview of our available properties. Visit our dedicated pages to see our full range of offerings.",ctaSales:"View all sales",ctaRentals:"See all rentals"},xd={title:"Our services",subtitle:"Whether you are a seller, buyer or landlord, we build a simple approach: understand, frame, act, then follow.",items:[{title:"Vendre",text:"Estimation, mise en valeur, diffusion et accompagnement jusqu'à la signature.",link:"Découvrir notre méthode"},{title:"Acheter",text:"Conseil, sélection ciblée et accompagnement. Possibilité de chasse immobilière.",link:"En savoir plus"},{title:"Location & Gestion",text:"Mise en location, gestion locative, résidence secondaire : un suivi structuré.",link:"En savoir plus"}]},wd={title:"A local agency, a demanding approach",subtitle:"Agence Méditerranée assists you in Juan-les-Pins, Antibes, and Golfe-Juan with selling, buying, renting, or managing a property. Our priority: a clear strategy, practical advice, and reliable support at every stage.",cards:[{title:"Conseil & transparence",text:"Un avis objectif sur le prix, le marché et les options pour avancer sereinement."},{title:"Valorisation du bien",text:"Des supports de présentation soignés pour attirer les bons profils dès le départ."},{title:"Accompagnement complet",text:"Visites, négociation, suivi administratif et coordination jusqu'à la signature."}]},Td={title:"Our sector",subtitle:"Juan-les-Pins, Antibes, Golfe-Juan and surrounding areas: local knowledge to better assess, better position and better support.",mapAlt:"Stylized map of the coastline between Antibes, Juan-les-Pins and Cannes",outsideZone:"Do you sell outside this area? Contact us: we'll simply tell you if we're the right people to talk to."},Sd={title:"Frequently Asked Questions",subtitle:"A few quick answers. For a specific question, please contact us.",items:[{q:"Comment se déroule une estimation ?",a:"Nous analysons le bien, son emplacement, l'état, la copropriété et le marché local. Vous recevez un avis clair et argumenté."},{q:"Quels documents prévoir pour vendre ?",a:"Selon le bien : titre de propriété, diagnostics, charges de copropriété, taxe foncière, plans si disponibles. Nous vous guidons sur la liste exacte."},{q:"Proposez-vous la gestion locative ?",a:"Oui. La gestion permet de simplifier le suivi, et selon le cas de sécuriser les loyers. Nous expliquons le périmètre exact lors d'un échange."},{q:"Qu'est-ce que la multi-diffusion MLS Côte d'Azur ?",a:"C'est un réseau de diffusion partagé entre agences, qui augmente la visibilité et les opportunités de vente (470 agences)."},{q:"Intervenez-vous pour les résidences secondaires ?",a:"Oui, sur les Alpes-Maritimes et le Var, avec une prestation sur-mesure : coordination, suivi et administratif."}]},Cd={hero:yd,grid:bd,services:xd,agency:wd,sector:Td,faq:Sd},Ad={meta:{title:"Biens à la vente à Juan-les-Pins & Antibes — Agence Méditerranée",description:"Découvrez notre sélection de biens immobiliers à la vente sur le littoral azuréen : appartements, villas, maisons à Juan-les-Pins, Antibes, Golfe-Juan.",canonical:"https://agencemed.fr/ventes",jsonLd:"Biens à la vente — Agence Méditerranée"},hero:{title:"Nos biens à la vente",intro:"Découvrez notre sélection de biens à la vente sur le littoral azuréen. Filtrez par ville, budget, surface ou nombre de pièces.",microcopy:"Un bien vous intéresse ? Contactez-nous ou appelez-nous au +33 4 93 61 19 18.",cta:"Demander une estimation"}},Pd={meta:{title:"Biens en location à Juan-les-Pins & Antibes — Agence Méditerranée",description:"Parcourez nos biens disponibles à la location sur le littoral azuréen : appartements, studios, villas à Juan-les-Pins, Antibes, Golfe-Juan.",canonical:"https://agencemed.fr/locations",jsonLd:"Biens en location — Agence Méditerranée"},hero:{title:"Nos biens en location",intro:"Parcourez nos biens disponibles à la location. Une question sur un dossier ou une visite ? Nous vous guidons.",microcopy:"Location / Gestion : accueil tél. Lun–Ven 9h30–12h30.",cta:"Être rappelé"}},Ed={meta:{title:"Ventes et locations récentes — Agence Méditerranée",description:"Consultez les ventes et locations conclues récemment par l'Agence Méditerranée à Juan-les-Pins, Antibes et environs (90 derniers jours).",canonical:"https://agencemed.fr/biens-vendus"},hero:{title:"Ventes et locations récemment conclues",intro:"Biens vendus ou loués au cours des {{days}} derniers jours. Au-delà, consultez nos archives par type de transaction.",linkSales:"Voir les ventes",linkRentals:"Voir les locations",linkSoldArchives:"Archives ventes",linkRentalArchives:"Archives locations"},empty:"Aucun bien vendu ou loué récemment trouvé."},Rd={meta:{title:"Archives ventes — Agence Méditerranée",description:"Consultez les ventes conclues par l'Agence Méditerranée à Juan-les-Pins, Antibes et environs (archives au-delà de 90 jours).",canonical:"https://agencemed.fr/vendus"},hero:{title:"Archives ventes",intro:"Ventes conclues il y a plus de {{days}} jours. Ces fiches sont conservées à titre d'information et pour illustrer notre activité sur le littoral azuréen.",linkSales:"Voir les ventes en cours",linkRecent:"Ventes et locations récentes"},empty:"Aucune vente archivée trouvée."},Od={meta:{title:"Archives locations — Agence Méditerranée",description:"Consultez les locations conclues par l'Agence Méditerranée à Juan-les-Pins, Antibes et environs (archives au-delà de 90 jours).",canonical:"https://agencemed.fr/loues"},hero:{title:"Archives locations",intro:"Locations conclues il y a plus de {{days}} jours. Ces fiches sont conservées à titre d'information.",linkRentals:"Voir les locations en cours",linkRecent:"Ventes et locations récentes"},empty:"Aucune location archivée trouvée."},Ld={ventes:Ad,locations:Pd,biensVendus:Ed,archivesVendus:Rd,archivesLoues:Od},Nd={meta:{title:"Properties for sale in Juan-les-Pins & Antibes — Agence Méditerranée",description:"Discover our selection of real estate for sale on the French Riviera: apartments, villas, houses in Juan-les-Pins, Antibes, Golfe-Juan.",canonical:"https://agencemed.fr/en/for-sale",jsonLd:"Properties for sale — Mediterranean Agency"},hero:{title:"Our properties for sale",intro:"Discover our selection of properties for sale on the French Riviera. Filter by city, budget, size or number of rooms.",microcopy:"Interested in a property? Contact us or call us on +33 4 93 61 19 18.",cta:"Request a quote"}},Md={meta:{title:"Rental properties in Juan-les-Pins & Antibes — Agence Méditerranée",description:"Browse our properties available for rent on the French Riviera: apartments, studios, villas in Juan-les-Pins, Antibes, Golfe-Juan.",canonical:"https://agencemed.fr/en/rentals",jsonLd:"Rental properties — Mediterranean Agency"},hero:{title:"Our rental properties",intro:"Browse our available rental properties. Have a question about an application or a viewing? We're here to help.",microcopy:"Rental / Management: Reception by phone Mon–Fri 9:30am–12:30pm.",cta:"To be called back"}},jd={meta:{title:"Recent Sales and Rentals — Mediterranean Agency",de
11scription:"View the sales and rentals recently completed by Agence Méditerranée in Juan-les-Pins, Antibes and surrounding areas (last 90 days).",canonical:"https://agencemed.fr/en/recent-sales"},hero:{title:"Sales and rentals recently completed",intro:"Properties sold or rented in the last {{days}} days. For further information, please consult our archives by transaction type.",linkSales:"View sales",linkRentals:"View rentals",linkSoldArchives:"Sales Archives",linkRentalArchives:"Location Archives"},empty:"No properties found for sale or rent recently."},kd={meta:{title:"Sales Archives — Mediterranean Agency",description:"View sales concluded by Agence Méditerranée in Juan-les-Pins, Antibes and surrounding areas (archives beyond 90 days).",canonical:"https://agencemed.fr/en/sold-archives"},hero:{title:"Sales Archives",intro:"Sales concluded more than {{days}} days ago. These records are kept for informational purposes and to illustrate our activity on the French Riviera.",linkSales:"View current sales",linkRecent:"Recent Sales and Rentals"},empty:"No archived sales found."},Id={meta:{title:"Location Archives — Mediterranean Agency",description:"View rentals concluded by Agence Méditerranée in Juan-les-Pins, Antibes and surrounding areas (archives beyond 90 days).",canonical:"https://agencemed.fr/en/rental-archives"},hero:{title:"Location Archives",intro:"Rentals concluded more than {{days}} days ago. These records are kept for informational purposes.",linkRentals:"View current rentals",linkRecent:"Recent Sales and Rentals"},empty:"No archived rentals found."},Dd={ventes:Nd,locations:Md,biensVendus:jd,archivesVendus:kd,archivesLoues:Id},$d={toSales:"Retour aux ventes",toRentals:"Retour aux locations",toRecentSold:"Retour aux biens récemment vendus ou loués",toSoldArchives:"Retour aux archives ventes",toRentalArchives:"Retour aux archives locations"},Fd={sold:"Vendu",rented:"Loué"},_d="Réf. {{ref}}",Vd={chargesIncluded:"dont {{amount}} € de charges (loyer {{rent}} €)"},zd={description:"Description",characteristics:"Caractéristiques",location:"Localisation",mapPlaceholder:"Carte disponible prochainement"},qd={type:"Type",area:"Surface",land:"Terrain",rooms:"Pièces",bedrooms:"Chambres",floor:"Étage",condition:"État"},Hd={area:"{{value}} m²",rooms_one:"{{count}} pièce",rooms_other:"{{count}} pièces",bedrooms_one:"{{count}} chambre",bedrooms_other:"{{count}} chambres",floor:"Étage {{value}}",parking:"Parking",exterior:"Extérieur",terrace:"Terrasse",seaView:"Vue mer",elevator:"Ascenseur"},Bd={titleSold:"Ce bien a été vendu",titleRented:"Ce bien a été loué",subtitle:"Cette fiche est conservée à titre d'information. Découvrez nos biens encore disponibles :",linkSales:"Voir les ventes",linkRentals:"Voir les locations",related:"Biens similaires disponibles"},Ud={title:"Ce bien vous intéresse ?",call:"Appeler l'agence",orSend:"ou envoyez un message",send:"Envoyer le message",sending:"Envoi en cours…",success:"Merci, votre message a bien été envoyé.",error:"Une erreur est survenue. Vous pouvez aussi nous appeler.",gdpr:"J'accepte que mes informations soient utilisées pour être recontacté au sujet de ma demande.",defaultMessage:'Bonjour, je souhaite des informations sur le bien {{ref}} — "{{title}}". Merci de me recontacter.',placeholderName:"Votre nom",placeholderEmail:"Votre email",placeholderPhone:"Votre téléphone"},Jd={back:$d,status:Fd,ref:_d,price:Vd,sections:zd,fields:qd,features:Hd,soldBanner:Bd,contact:Ud},Gd={toSales:"Back to sales",toRentals:"Back to rentals",toRecentSold:"Return to recently sold or rented properties",toSoldArchives:"Back to sales archives",toRentalArchives:"Back to rentals archives"},Kd={sold:"Sold",rented:"Rented"},Wd="Ref. {{ref}}",Yd={chargesIncluded:"including €{{amount}} charges (rent €{{rent}})"},Qd={description:"Description",characteristics:"Features",location:"Location",mapPlaceholder:"Map available soon"},Xd={type:"Kind",area:"Surface",land:"Ground",rooms:"Pieces",bedrooms:"Rooms",floor:"Floor",condition:"State"},Zd={area:"{{value}} m²",rooms_one:"{{count}} piece",rooms_other:"{{count}} pieces",bedrooms_one:"{{count}} room",bedrooms_other:"{{count}} rooms",floor:"Floor {{value}}",parking:"Parking",exterior:"Outside",terrace:"Terrace",seaView:"Sea view",elevator:"Elevator"},ep={titleSold:"This property has been sold",titleRented:"This property has been rented",subtitle:"This information sheet is kept for reference only. Discover our other available properties:",linkSales:"View sales",linkRentals:"View rentals",related:"Similar properties available"},tp={title:"Are you interested in this property?",call:"Call the agency",orSend:"or send a message",send:"Send the message",sending:"Shipment in progress…",success:"Thank y
11ou, your message has been sent.",error:"An error has occurred. You can also call us.",gdpr:"I agree that my information may be used to contact me regarding my request.",defaultMessage:'Hello, I would like some information on the property {{ref}} — "{{title}}". Please get back to me.',placeholderName:"Your name",placeholderEmail:"Your email",placeholderPhone:"Your phone"},np={back:Gd,status:Kd,ref:Wd,price:Yd,sections:Qd,fields:Xd,features:Zd,soldBanner:ep,contact:tp},sp={meta:{title:"L'agence — Agence Méditerranée | Immobilier à Juan-les-Pins & Antibes",description:"Découvrez l'Agence Méditerranée à Juan-les-Pins : plus de 20 ans d'expertise immobilière à Antibes, Juan-les-Pins et Golfe-Juan. Vente, location, gestion locative.",ogTitle:"L'agence — Agence Méditerranée | Immobilier à Juan-les-Pins & Antibes",ogDescription:"Plus de 20 ans d'expertise immobilière sur le littoral azuréen. Vente, achat, location et gestion locative à Antibes et Juan-les-Pins."},hero:{title:"Votre agence immobilière à Antibes & Juan-les-Pins",eyebrow:"Depuis plus de 20 ans à vos côtés",subtitle:"Basée à Juan-les-Pins, l'Agence Méditerranée vous accompagne dans tous vos projets immobiliers à Antibes, Juan-les-Pins, Golfe-Juan et les alentours. Avec un conseiller diplômé en Droit Notarial et une équipe expérimentée, nous vous guidons avec sérieux et expertise, que vous souhaitiez acheter, vendre, louer ou faire gérer votre bien."},founders:{title:"Les fondateurs",subtitle:"À la tête de l'agence depuis sa création, Jérôme Robard et Thierry Eustache mettent leur expertise et leur connaissance du terrain au service de chaque projet.",role:"Co-fondateur & Conseiller immobilier",jerome_subtitle:"Titulaire d'un DESS Droit Notarial"},values:{title:"Nos valeurs",subtitle:"Notre expertise locale et la confiance de nos clients font de l'Agence Méditerranée une référence sur le littoral azuréen.",items:[{title:"Expertise locale",text:"Plus de 20 ans d'expérience sur Antibes, Juan-les-Pins et Golfe-Juan. Une connaissance approfondie du marché, quartier par quartier."},{title:"Sérieux & transparence",text:"Un conseiller diplômé en Droit Notarial et une équipe rigoureuse qui vous accompagne avec clarté à chaque étape."},{title:"Relation de confiance",text:"La satisfaction de nos clients est notre meilleure recommandation. Nous privilégions la qualité de l'accompagnement."},{title:"Accompagnement complet",text:"Transaction, location, gestion locative, résidence secondaire : toutes les solutions immobilières en un seul interlocuteur."}]},services:{title:"Ce que nous faisons pour vous",subtitle:"Découvrez nos biens à la vente et nos locations disponibles sur Antibes et Juan-les-Pins, sélectionnés pour répondre à tous les styles de vie.",items:["Estimation gratuite et personnalisée de votre bien","Mise en valeur et diffusion sur les portails majeurs","Sélection rigoureuse des acquéreurs et locataires","Suivi administratif et juridique jusqu'à la signature","Gestion locative complète et sécurisée","Accompagnement à la gestion locative"]},findUs:{title:"Nous trouver",subtitle:"Contactez-nous pour un accompagnement personnalisé, afin d'avancer sereinement dans votre projet immobilier.",address:"Adresse",phone:"Téléphone",email:"Email",transaction:"Transaction",transactionHours:"Lun–Ven 9h30–12h30 / 14h–18h30 ; Sam sur rendez-vous",rentalManagement:"Location / Gestion",rentalHours:"Lun–Ven 9h30–12h30 / 14h–18h30"}},rp={meta:{title:"Contact — Agence Méditerranée | Immobilier à Juan-les-Pins & Antibes",description:"Contactez l'Agence Méditerranée à Juan-les-Pins pour vos projets immobiliers à Antibes et sur le littoral azuréen. Téléphone, email ou formulaire.",ogTitle:"Contact — Agence Méditerranée | Immobilier à Juan-les-Pins & Antibes",ogDescription:"Contactez-nous pour un accompagnement personnalisé dans votre projet immobilier à Antibes et Juan-les-Pins."},hero:{title:"Contactez-nous",subtitle:"Dites-nous en quelques lignes ce que vous souhaitez faire. Nous vous répondons rapidement."}},op={meta:{title:"Estimation immobilière gratuite à Antibes, Juan-les-Pins & environs",description:"Faites estimer votre bien gratuitement par l'Agence Méditerranée. Estimation personnalisée à Antibes, Juan-les-Pins, Golfe-Juan, Vallauris, Biot, Cannes et Mougins.",ogTitle:"Estimation immobilière gratuite — Agence Méditerranée",ogDescription:"Obtenez une estimation gratuite et sans engagement de votre bien immobilier sur le littoral azuréen."},hero:{title:"Estimation gratuite de votre bien",eyebrow:"Sans engagement",subtitle:"Vous souhaitez connaître la valeur de votre bien à Antibes, Juan-les-Pins, Golfe-Juan ou dans les communes voisines ? Notre équipe réalise une estimation personnalisée, basée sur une connaissance approfondie du marché local."},why:{title:"Pourquoi nous confier votre estimation ?",subtitle:"Une estimation juste est la première 
11étape d'une vente réussie. Depuis plus de 20 ans, nous analysons le marché immobilier du littoral azuréen pour vous fournir un avis précis et argumenté.",reasons:["Plus de 20 ans d'expertise sur le marché immobilier local","Connaissance précise des prix quartier par quartier","Un conseiller diplômé en Droit Notarial","Estimation personnalisée, sans engagement","Réseau MLS Côte d'Azur (470 agences partenaires)","Accompagnement complet de l'estimation à la vente"]},sector:{title:"Notre secteur d'intervention",subtitle:"Nous intervenons sur l'ensemble du bassin antibois et cannois, avec une expertise particulièrement fine sur les communes suivantes :",outsideNote:"Votre bien se situe dans une autre commune ? Contactez-nous : nous vous dirons si nous sommes les bons interlocuteurs."},form:{title:"Demandez votre estimation",subtitle:"Remplissez le formulaire ci-contre et nous vous recontacterons rapidement pour organiser une visite d'estimation. C'est gratuit et sans engagement.",callPrefix:"Ou appelez-nous directement au",city:"Commune du bien",otherCity:"Autre commune",type:"Type de bien",apartment:"Appartement",house:"Maison",villa:"Villa",land:"Terrain",commercial:"Local commercial",other:"Autre",additionalInfo:"Informations complémentaires",additionalInfoPlaceholder:"Surface, nombre de pièces, étage, travaux récents…",submit:"Demander mon estimation gratuite",sending:"Envoi en cours…",success:"Merci, votre demande d'estimation a bien été envoyée.",successSub:"Nous vous recontacterons dans les meilleurs délais.",gdpr:"J'accepte que mes informations soient utilisées pour être recontacté au sujet de ma demande.",privacy:"Les informations envoyées via ce formulaire sont uniquement utilisées pour répondre à votre demande.",error:"Une erreur est survenue. Vous pouvez aussi nous appeler."}},ip={meta:{title:"Vendre un bien à Antibes & Juan-les-Pins | Agence Méditerranée",description:"Estimation gratuite, mise en valeur premium et diffusion large : vendez votre bien à Antibes, Juan-les-Pins et environs avec l'Agence Méditerranée."},hero:{title:"Vendre votre bien",eyebrow:"Nos services",subtitle:"Estimation, mise en valeur, diffusion et accompagnement jusqu'à la signature. Une méthode claire pour vendre au meilleur prix."}},ap={meta:{title:"Acheter un bien à Antibes & Juan-les-Pins | Agence Méditerranée",description:"Conseil, sélection ciblée et accompagnement complet pour acheter à Antibes, Juan-les-Pins et environs. Chasse immobilière sur demande."},hero:{title:"Acheter un bien",eyebrow:"Nos services",subtitle:"Gagner du temps, éviter les erreurs : nous vous aidons à cadrer votre recherche et à avancer avec méthode."}},lp={meta:{title:"Location & gestion locative à Juan-les-Pins | Agence Méditerranée",description:"Mise en location, gestion locative, assurance loyers et gestion de résidence secondaire à Juan-les-Pins, Antibes et environs."},hero:{title:"Location & gestion locative",eyebrow:"Nos services",subtitle:"Une location réussie repose sur une diffusion efficace, une sélection sérieuse et un suivi constant."}},cp={title:"404",text:"Oops ! Page introuvable",subtitle:"La page que vous recherchez n'existe pas ou a été déplacée.",link:"Retour à l'accueil",usefulLinks:"Liens utiles",sales:"Biens à la vente",rentals:"Biens en location",contact:"Nous contacter",estimate:"Estimation gratuite"},up={title:"Vendre : une stratégie claire, des preuves concrètes",subtitle:"Une vente réussie, c'est d'abord un prix juste, une présentation irréprochable et une diffusion efficace. Nous mettons en place des supports et une méthode qui maximisent l'intérêt dès les premiers jours.",showcase:{title:"Mise en valeur & diffusion",subtitle:"Selon le bien et le mandat, nous pouvons activer des supports de présentation destinés à déclencher des visites qualifiées.",features:["Visite virtuelle 360°","Vidéo de présentation","Photos haute qualité","Diffusion sur les principaux portails","Multi-diffusion MLS Côte d'Azur (470 agences)","Plan 3D (mandat multi-diffusé)"]},method:{title:"Une méthode en 5 étapes",steps:[{title:"Échange & estimation",text:"Analyse du marché, du bien et des attentes."},{title:"Préparation",text:"Conseils concrets pour optimiser la perception (sans sur-investir)."},{title:"Mise en valeur",text:"Supports adaptés : photo, 360°, vidéo, plan 3D selon le cas."},{title:"Diffusion & visites",text:"Ciblage, organisation et suivi rigoureux."},{title:"Négociation & signature",text:"Accompagnement jusqu'au rendez-vous final."}]},cta:"Demander une estimation gratuite",ctaSub:"Réponse rapide. Aucune obligation."},dp={title:"Acheter : gagner du temps, éviter les erreurs",subtitle:"Nous vous aidons à c
11adrer votre recherche, à comparer les opportunités et à avancer avec méthode, du premier brief jusqu'à la signature.",fullService:{title:"Un accompagnement complet",bullets:["Clarification du budget et des priorités","Sélection des biens pertinents","Organisation des visites","Analyse des points clés (emplacement, charges, copropriété, potentiel)","Aide à la négociation et au montage du dossier"]},hunting:{title:"Chasse immobilière (sur demande)",text:"Vous manquez de temps ou vous n'êtes pas sur place ? Nous recherchons et présélectionnons pour vous, puis organisons les visites et le suivi jusqu'à l'offre.",cta:"Parler de mon projet d'achat"}},pp={title:"Location & gestion : rigueur, sécurité, sérénité",subtitle:"Une location réussie repose sur une diffusion efficace, une sélection sérieuse et un suivi constant. Pour les propriétaires, la gestion locative permet de sécuriser et simplifier.",owner:{title:"Pour les propriétaires",subtitle:"Nous vous accompagnons pour mettre en location dans de bonnes conditions, avec un suivi structuré.",bullets:["Diffusion et mise en location","Organisation des visites","Sélection et vérification des dossiers","Gestion locative possible","Assurance loyers","Suivi administratif et présence aux assemblées générales"]},tenant:{title:"Pour les locataires",subtitle:"Une démarche simple : biens clairement présentés, visites organisées, échanges fluides.",bullets:["Biens disponibles et informations essentielles","Visites planifiées","Accompagnement sur le dossier"]},cta:"Être rappelé",ctaSub:"Indiquez votre besoin (location, gestion, bailleur ou locataire) : nous vous répondons rapidement."},fp={title:"Résidence secondaire : un service de gestion de propriété discret",subtitle:"Vous souhaitez confier la gestion de votre résidence secondaire ? Nous coordonnons les intervenants et assurons un suivi fiable, sur les Alpes-Maritimes et le Var.",items:["Coordination des intervenants","Suivi de travaux et interventions","Gestion des factures et du suivi administratif","Coordination du personnel de maison","Compte-rendu régulier selon vos besoins"],cta:"Demander un devis de gestion",ctaSub:"Service sur-mesure, selon fréquence et niveau d'accompagnement."},hp={agence:sp,contact:rp,estimation:op,vendre:ip,acheter:ap,locationGestion:lp,notFound:cp,sell:up,buy:dp,rental:pp,secondaryResidence:fp},mp={meta:{title:"The agency — Agence Méditerranée | Real estate in Juan-les-Pins & Antibes",description:"Discover Agence Méditerranée in Juan-les-Pins: over 20 years of real estate expertise in Antibes, Juan-les-Pins and Golfe-Juan. Sales, rentals, property management.",ogTitle:"The agency — Agence Méditerranée | Real estate in Juan-les-Pins & Antibes",ogDescription:"Over 20 years of real estate expertise on the French Riviera. Sales, purchases, rentals and property management in Antibes and Juan-les-Pins."},hero:{title:"Your real estate agency in Antibes & Juan-les-Pins",eyebrow:"By your side for over 20 years",subtitle:"Based in Juan-les-Pins, Agence Méditerranée assists you with all your real estate projects in Antibes, Juan-les-Pins, Golfe-Juan, and the surrounding areas. With a qualified Notarial Law advisor and an experienced team, we guide you with professionalism and expertise, whether you wish to buy, sell, rent, or have your property managed."},founders:{title:"The founders",subtitle:"At the helm of the agency since its creation, Jérôme Robard and Thierry Eustache put their expertise and knowledge of the field at the service of each project.",role:"Co-founder & Real Estate Advisor",jerome_subtitle:"Holder of a postgraduate degree in Notarial Law"},values:{title:"Our values",subtitle:"Our local expertise and the trust of our clients make Agence Méditerranée a benchmark on the French Riviera coastline.",items:[{title:"Expertise locale",text:"Plus de 20 ans d'expérience sur Antibes, Juan-les-Pins et Golfe-Juan. Une connaissance approfondie du marché, quartier par quartier."},{title:"Sérieux & transparence",text:"Un conseiller diplômé en Droit Notarial et une équipe rigoureuse qui vous accompagne avec clarté à chaque étape."},{title:"Relation de confiance",text:"La satisfaction de nos clients est notre meilleure recommandation. Nous privilégions la qualité de l'accompagnement."},{title:"Accompagnement complet",text:"Transaction, location, gestion locative, résidence secondaire : toutes les solutions immobilières en un seul interlocuteur."}]},services:{title:"What we do for you",subtitle:"Discover our properties for sale and our rentals available in Antibes and Juan-les-Pins, selected to suit all lifestyles.",items:["Estimation gratuite et personnalisée de votre bien","Mise en valeur et diffusion sur les portails majeurs","Sélection rigoureuse des acquéreurs et locataires","Suivi administratif et juridique jusqu'à la signature","Gestion locative complète et sécurisée","Accompagnement à la gestion locative"]},findUs:{title:"Find us",subtitle:"Contact us for personalized support, so you can move forward smoothly with your real estate project.",address:"Address",phone:"Phone",email:"E-mail",transaction:"Transaction",transactionHours:"Mon–Fri 9:30am–12:30pm / 2pm–6:30pm; Sat by appointment",rentalManagement:"Rental / Management",rentalHours:"Mon–Fri 9:30am–12:30pm / 2pm–6:30pm"}},gp={meta:{title:"Contact — Agence Méditerranée | Real Estate in Juan-les-Pins & Antibes",description:"Contact Agence Méditerranée in Juan-les-Pins for your real estate projects in Antibes and on the French Riviera. Telephone, email or form.",ogTitle:"Contact — Agence Méditerranée | Real Estate in Juan-les-Pins & Antibes",ogDescription:"Contact us for personalized support with your real estate project in Antibes and Juan-les-Pins."},hero:{title:"Contact us",subtitle:"Tell us in a few lines what you would like to do. We will respond quickly."}},vp={meta:{title:"Free property valuation in Antibes, Juan-les-Pins & surrounding areas",de
11scription:"Get a free property valuation from Agence Méditerranée. Personalized valuations in Antibes, Juan-les-Pins, Golfe-Juan, Vallauris, Biot, Cannes and Mougins.",ogTitle:"Free property valuation — Mediterranean Agency",ogDescription:"Get a free, no-obligation estimate of your property on the French Riviera."},hero:{title:"Free valuation of your property",eyebrow:"No commitment",subtitle:"Do you want to know the value of your property in Antibes, Juan-les-Pins, Golfe-Juan or in the surrounding towns? Our team provides a personalized valuation, based on in-depth knowledge of the local market."},why:{title:"Why entrust us with your valuation?",subtitle:"An accurate valuation is the first step towards a successful sale. For over 20 years, we have been analyzing the real estate market on the French Riviera to provide you with precise and well-reasoned advice.",reasons:["Plus de 20 ans d'expertise sur le marché immobilier local","Connaissance précise des prix quartier par quartier","Un conseiller diplômé en Droit Notarial","Estimation personnalisée, sans engagement","Réseau MLS Côte d'Azur (470 agences partenaires)","Accompagnement complet de l'estimation à la vente"]},sector:{title:"Our area of intervention",subtitle:"We operate throughout the Antibes and Cannes area, with particularly specialized expertise in the following municipalities:",outsideNote:"Is your property located in another municipality? Contact us: we will tell you if we are the right contacts."},form:{title:"Request your estimate",subtitle:"Fill out the form on the right and we will contact you shortly to arrange an appraisal visit. It's free and without obligation.",callPrefix:"Or call us directly at",city:"Commune of the property",otherCity:"Another municipality",type:"Property type",apartment:"Apartment",house:"Home",villa:"Villa",land:"Ground",commercial:"Commercial premises",other:"Other",additionalInfo:"Additional information",additionalInfoPlaceholder:"Surface area, number of rooms, floor, recent renovations…",submit:"Request my free estimate",sending:"Shipment in progress…",success:"Thank you, your quote request has been successfully sent.",successSub:"We will get back to you as soon as possible.",gdpr:"I agree that my information may be used to contact me regarding my request.",privacy:"The information submitted via this form is used solely to respond to your request.",error:"An error has occurred. You can also call us."}},yp={meta:{title:"Selling a property in Antibes & Juan-les-Pins | Agence Méditerranée",description:"Free valuation, premium enhancement and wide distribution: sell your property in Antibes, Juan-les-Pins and surrounding areas with Agence Méditerranée."},hero:{title:"Sell your property",eyebrow:"Our services",subtitle:"Valuation, enhancement, marketing and support until the signing. A clear method to sell at the best price."}},bp={meta:{title:"Buying property in Antibes & Juan-les-Pins | Agence Méditerranée",description:"Advice, targeted selection and complete support for buying in Antibes, Juan-les-Pins and surrounding areas. Property search on request."},hero:{title:"Buying a property",eyebrow:"Our services",subtitle:"Save time, avoid mistakes: we help you frame your search and move forward methodically."}},xp={meta:{title:"Rental & Property Management in Juan-les-Pins | Agence Méditerranée",description:"Rental, rental management, rent insurance and management of secondary residences in Juan-les-Pins, Antibes and surrounding areas."},hero:{title:"Rental & Property Management",eyebrow:"Our services",subtitle:"A successful rental relies on effective marketing, careful selection, and constant follow-up."}},wp={title:"404",text:"Oops! Page not found",subtitle:"The page you are looking for does not exist or has been moved.",link:"Return to homepage",usefulLinks:"Useful links",sales:"Properties for sale",rentals:"Rental properties",contact:"Contact us",estimate:"Free estimate"},Tp={title:"Selling: a clear strategy, concrete proof",subtitle:"A successful sale begins with a fair price, impeccable presentation, and effective distribution. We implement tools and a methodology designed to maximize interest from the very first days.",showcase:{title:"Promotion & dissemination",subtitle:"Depending on the property and the mandate, we can activate presentation materials designed to trigger qualified visits.",features:["Visite virtuelle 360°","Vidéo de présentation","Photos haute qualité","Diffusion sur les principaux portails","Multi-diffusion MLS Côte d'Azur (470 agences)","Plan 3D (mandat multi-diffusé)"]},method:{title:"A 5-step method",steps:[{title:"Échange & estimation",text:"Analyse du marché, du bien et des attentes."},{title:"Préparation",text:"Conseils concrets pour optimiser la perception (sans sur-investir)."},{title:"Mise en valeur",text:"Supports adaptés : photo, 360°, vidéo, plan 3D selon le cas."},{title:"Diffusion & visites",text:"Ciblage, organisation et suivi rigoureux."},{title:"Négociation & signature",text:"Accompagnement jusqu'au rendez-vous final."}]},cta:"Request a free estimate",ctaSub:"Quick response. No obligation."},Sp={title:"Buying: saving time, avoiding mistakes",subtitle:"We help you frame your search, compare opportunities and move forward methodically, from the first brief to the signing.",fullService:{title:"Comprehensive support",bullets:["Clarification du budget et des priorités","Sélection des biens pertinents","Organisation des visites","Analyse des points clés (emplacement, charges, copropriété, potentiel)","Aide à la négociation et au montage du dossier"]},hunting:{title:"Property search (on request)",text:"Short on time or not on site? We search and pre-select for you, then organize visits and follow up until the offer.",cta:"Talking about my purchase project"}},Cp={title:"Rental & management: rigor, security, peace of mind",subtitle:"Successful rentals rely on effective marketing, careful tenant selection, and consistent follow-up. For landlords, property management services offer security and simplicity.",owner:{title:"For the owners",subtitle:"We support you in renting out your property under good conditions, with structured follow-up.",bullets:["Diffusion et mise en location","Organisation des visites","Sélection et vérification des dossiers","Gestion locative possible","Assurance loyers","Suivi administratif et présence aux assemblées générales"]},tenant:{title:"For tenants",subtitle:"A simple approach: properties clearly presented, visits organized, smooth communication.",bullets:["Biens disponibles et informations essentielles","Visites planifiées","Accompagnement sur le dossier"]},cta:"To be called back",ctaSub:"Indicate your need (rental, management, landlord or tenant): we will respond quickly."},Ap={title:"Second home: a discreet property management service",subtitle:"Do you want to entrust the management of your second home to someone else? We coordinate the various stakeholders and ensure reliable monitoring, in the Alpe
11s-Maritimes and Var regions.",items:["Coordination des intervenants","Suivi de travaux et interventions","Gestion des factures et du suivi administratif","Coordination du personnel de maison","Compte-rendu régulier selon vos besoins"],cta:"Request a management quote",ctaSub:"Tailor-made service, depending on frequency and level of support."},Pp={agence:mp,contact:gp,estimation:vp,vendre:yp,acheter:bp,locationGestion:xp,notFound:wp,sell:Tp,buy:Sp,rental:Cp,secondaryResidence:Ap},Ep={meta:{title:"Mentions légales — Agence Méditerranée",description:"Mentions légales du site agencemed.fr — Agence Méditerranée, agence immobilière à Juan-les-Pins."},title:"Mentions légales",publisher:{title:"Éditeur du site",body:`Agence Méditerranée
12Société : SAS (à compléter)
13Capital social : (à compléter)
14RCS : (à compléter — Tribunal de Commerce d'Antibes)
15N° SIRET : (à compléter)
16Carte professionnelle : CPI (à compléter) délivrée par la CCI Nice Côte d'Azur
17Garantie financière : (à compléter)
18Assurance RCP : (à compléter)`,address:`Siège social :
192 avenue de l'Estérel
2006160 Juan-les-Pins
21France`,contact:`Contact :
22Téléphone : +33 4 93 61 19 18
23Email : [email protected]`,directors:`Directeurs de la publication :
24Jérôme Robard & Thierry Eustache`},hosting:{title:"Hébergement",body:`Ce site est hébergé par :
25Vercel Inc.
26440 N Barranca Ave #4133, Covina, CA 91723, États-Unis`},creation:{title:"Conception et réalisation",body:"Harko"},ip:{title:"Propriété intellectuelle",p1:"L'ensemble du contenu de ce site (textes, images, photographies, logos, icônes, vidéos, sons, logiciels, base de données, mises en page) est protégé par le droit d'auteur et le droit des marques. Toute reproduction, représentation, modification, publication, adaptation de tout ou partie des éléments du site, quel que soit le moyen ou le procédé utilisé, est interdite sans l'autorisation écrite préalable de l'Agence Méditerranée.",p2:"Les photographies des biens immobiliers présentés sur ce site sont la propriété de l'Agence Méditerranée ou sont utilisées avec l'autorisation des propriétaires. Leur reproduction est strictement interdite."},liability:{title:"Responsabilité",p1:"L'Agence Méditerranée s'efforce d'assurer l'exactitude et la mise à jour des informations diffusées sur ce site. Toutefois, elle ne peut garantir l'exactitude, la précision ou l'exhaustivité des informations mises à disposition. En conséquence, l'utilisateur reconnaît utiliser ces informations sous sa responsabilité exclusive.",p2:"Les informations relatives aux biens immobiliers (prix, surfaces, disponibilité) sont données à titre indicatif et ne constituent pas une offre contractuelle. Seul le compromis de vente ou le bail signé fait foi."},links:{title:"Liens hypertextes",body:"Le site peut contenir des liens vers d'autres sites internet. L'Agence Méditerranée n'exerce aucun contrôle sur le contenu de ces sites et décline toute responsabilité quant à leur contenu."},law:{title:"Droit applicable",body:"Les présentes mentions légales sont régies par le droit français. En cas de litige, les tribunaux d'Antibes seront seuls compétents."}},Rp={meta:{title:"Barème des honoraires — Agence Méditerranée",description:"Consultez le barème des honoraires de l'Agence Méditerranée pour les transactions immobilières, la location et la gestion locative."},title:"Barème des honoraires",intro:"Conformément à l'arrêté du 10 janvier 2017, les honoraires de l'Agence Méditerranée sont affichés ci-dessous. Tous les montants s'entendent TTC (TVA 20 %) sauf mention contraire.",tables:[{title:"Transaction — Immeuble",cols:["Tranche de prix","Honoraires TTC"],rows:[["Ventes jusqu'à 50 000 €","4 000 € TTC"],["Ventes de 50 000 € à 100 000 €","5 000 € TTC"],["Ventes au-delà de 100 000 €","5 % TTC maximum"]]},{title:"Transaction — Terrains et fonds de commerces",cols:["Tranche de prix","Honoraires TTC"],rows:[["Ventes jusqu'à 38 000 €","4 000 € TTC"],["Part comprise de 38 001 € à 45 000 €","4 500 € TTC"],["Part comprise de 45 001 € à 53 000 €","11 % TTC maximum"],["Ventes supérieures à 53 000 €","10 % TTC maximum"]]},{title:"Location",cols:["Prestation","Honoraires TTC"],rows:[["Publicité, étude des dossiers, rédaction de bail","10,09 € / m²"],["Frais d'état des lieux","3,03 € / m²"]]},{title:"Gestion locative",cols:["Prestation","Honoraires TTC"],rows:[["Gestion courante","7,20 % TTC des sommes perçues (6 % HT)"],["Garantie des Loyers Impayés (GLI)","3 % du loyer + charges — location à l'année (vide ou meublée)"]]}],footnote:"Montants TTC (TVA 20 %) calculés sur le montant de la transaction réalisée. Les honoraires ci-dessus sont donnés à titre indicatif et peuvent faire l'objet de négociations. Le barème applicable est précisé dans chaque mandat.",additional:{title:"Informations complémentaires",p1:"L'Agence Méditerranée est titulaire de la carte professionnelle délivrée par la CCI Nice Côte d'Azur. Elle dispose d'une garantie financière et d'une assurance responsabilité civile professionnelle conformément à la loi Hoguet du 2 janvier 1970.",p2:"Pour toute question relative à nos honoraires, n'hé
26sitez pas à nous contacter au"}},Op={meta:{title:"Politique de confidentialité — Agence Méditerranée",description:"Politique de confidentialité et protection des données personnelles du site agencemed.fr — Agence Méditerranée."},title:"Politique de confidentialité",intro:"L'Agence Méditerranée s'engage à protéger la vie privée des utilisateurs de son site internet. La présente politique de confidentialité décrit la manière dont vos données personnelles sont collectées, utilisées et protégées.",controller:{title:"Responsable du traitement",body:`Agence Méditerranée
272 avenue de l'Estérel, 06160 Juan-les-Pins
28Téléphone : +33 4 93 61 19 18
29Email : [email protected]
30Responsables : Jérôme Robard & Thierry Eustache`},data:{title:"Données collectées",intro:"Nous collectons les données personnelles que vous nous transmettez volontairement via nos formulaires de contact et d'estimation :",items:["Nom et prénom","Adresse email","Numéro de téléphone","Message et informations relatives à votre projet immobilier"],analytics:"Nous collectons également des données de navigation de manière automatique via Google Tag Manager (cookies, pages visitées, durée de visite) à des fins d'analyse statistique et d'amélioration du site."},purposes:{title:"Finalités du traitement",intro:"Vos données sont utilisées pour :",items:["Répondre à vos demandes d'information ou d'estimation","Vous recontacter dans le cadre de votre projet immobilier","Améliorer la qualité de nos services et de notre site","Établir des statistiques de fréquentation anonymes"]},legalBasis:{title:"Base légale",body:"Le traitement de vos données repose sur votre consentement (case RGPD cochée lors de l'envoi d'un formulaire) et sur l'intérêt légitime de l'Agence Méditerranée à répondre à vos demandes et améliorer ses services."},retention:{title:"Durée de conservation",body:"Vos données personnelles sont conservées pendant une durée maximale de 3 ans à compter de votre dernier contact avec l'agence. Passé ce délai, elles sont supprimées ou anonymisées."},recipients:{title:"Destinataires des données",p1:"Vos données sont exclusivement destinées aux collaborateurs de l'Agence Méditerranée. Elles ne sont en aucun cas vendues, louées ou cédées à des tiers à des fins commerciales.",p2:"Les sous-traitants techniques suivants peuvent avoir accès à vos données dans le cadre de leurs prestations :",items:["Hébergeur du site (Vercel Inc.)","Outil d'analyse (Google Analytics via Google Tag Manager)"]},cookies:{title:"Cookies",p1:"Ce site utilise des cookies à des fins de mesure d'audience et de suivi des conversions via Google Tag Manager. Vous pouvez configurer votre navigateur pour refuser les cookies ou être averti lorsqu'un cookie est déposé.",p2:"Les cookies utilisés sont :",items:["Cookies essentiels : nécessaires au fonctionnement du site (aucune donnée personnelle)","Cookies analytiques : mesure d'audience (Google Analytics) — données anonymisées","Cookies de conversion : suivi des interactions (formulaires, clics téléphone/email/carte)"]},rights:{title:"Vos droits",intro:"Conformément au Règlement Général sur la Protection des Données (RGPD) et à la loi Informatique et Libertés, vous disposez des droits suivants :",items:["Droit d'accès : obtenir la confirmation que vos données sont traitées et en demander une copie","Droit de rectification : corriger des données inexactes ou incomplètes","Droit à l'effacement : demander la suppression de vos données","Droit à la limitation : restreindre le traitement de vos données","Droit d'opposition : vous opposer au traitement de vos données","Droit à la portabilité : recevoir vos données dans un format structuré"],contact:"Pour exercer ces droits, contactez-nous par email à [email protected] ou par courrier à l'adresse de l'agence. Nous répondrons dans un délai maximum de 30 jours."},complaint:{title:"Réclamation",p1:"Si vous estimez que le traitement de vos données ne respecte pas la réglementation en vigueur, vous pouvez introduire une réclamation auprès de la CNIL (Commission Nationale de l'Informatique et des Libertés) :",p2:"CNIL — 3 Place de Fontenoy, TSA 80715, 75334 Paris Cedex 07"},update:{title:"Mise à jour",p1:"La présente politique de confidentialité peut être modifiée à tout moment. La date de dernière mise à jour est indiquée ci-dessous.",date:"Dernière mise à jour : mars 2026"}},Lp={mentionsLegales:Ep,honoraires:Rp,politique:Op}
30,Np={meta:{title:"Legal notices — Mediterranean Agency",description:"Legal notices for the website agencemed.fr — Agence Méditerranée, real estate agency in Juan-les-Pins."},title:"Legal notice",publisher:{title:"Website publisher",body:`Mediterranean Agency
31Company: SAS (to be completed)
32Share capital: (to be completed)
33Trade and Companies Register (RCS): (to be completed — Antibes Commercial Court)
34SIRET number: (to be completed)
35Professional license: CPI (to be completed) issued by the Nice Côte d'Azur Chamber of Commerce and Industry
36Financial guarantee: (to be completed)
37Professional liability insurance: (to be completed)`,address:`Head office:
382 avenue de l'Estérel
3906160 Juan-les-Pins
40France`,contact:`Contact:
41Phone: +33 4 93 61 19 18
42Email: [email protected]`,directors:"Publication Directors: Jérôme Robard & Thierry Eustache"},hosting:{title:"Accommodation",body:`This site is hosted by:
43Vercel Inc.
44440 N Barranca Ave #4133, Covina, CA 91723, USA`},creation:{title:"Design and production",body:"Harko"},ip:{title:"Intellectual property",p1:"All content on this site (texts, images, photographs, logos, icons, videos, sounds, software, databases, layouts) is protected by copyright and trademark law. Any reproduction, representation, modification, publication, or adaptation of all or part of the site's elements, regardless of the means or process used, is prohibited without the prior written authorization of Agence Méditerranée.",p2:"The photographs of the properties shown on this website are the property of Agence Méditerranée or are used with the permission of the owners. Their reproduction is strictly prohibited."},liability:{title:"Responsibility",p1:"The Mediterranean Agency strives to ensure the accuracy and timeliness of the information published on this website. However, it cannot guarantee the accuracy, precision, or completeness of the information provided. Consequently, the user acknowledges using this information at their own risk.",p2:"The information regarding the properties (price, size, availability) is provided for informational purposes only and does not constitute a contractual offer. Only the preliminary sales agreement or the signed lease is legally binding."},links:{title:"Hyperlinks",body:"The site may contain links to other websites. The Mediterranean Agency has no control over the content of these sites and accepts no responsibility for their content."}
44,law:{title:"Applicable law",body:"These legal notices are governed by French law. In the event of a dispute, the courts of Antibes shall have exclusive jurisdiction."}},Mp={meta:{title:"Fee schedule — Mediterranean Agency",description:"Consult the fee schedule of Agence Méditerranée for real estate transactions, rental and rental management."},title:"Fee schedule",intro:"In accordance with the decree of January 10, 2017, the fees of Agence Méditerranée are displayed below. All amounts are inclusive of VAT (20%) unless otherwise stated.",tables:[{title:"Transaction — Immeuble",cols:["Tranche de prix","Honoraires TTC"],rows:[["Ventes jusqu'à 50 000 €","4 000 € TTC"],["Ventes de 50 000 € à 100 000 €","5 000 € TTC"],["Ventes au-delà de 100 000 €","5 % TTC maximum"]]},{title:"Transaction — Terrains et fonds de commerces",cols:["Tranche de prix","Honoraires TTC"],rows:[["Ventes jusqu'à 38 000 €","4 000 € TTC"],["Part comprise de 38 001 € à 45 000 €","4 500 € TTC"],["Part comprise de 45 001 € à 53 000 €","11 % TTC maximum"],["Ventes supérieures à 53 000 €","10 % TTC maximum"]]},{title:"Location",cols:["Prestation","Honoraires TTC"],rows:[["Publicité, étude des dossiers, rédaction de bail","10,09 € / m²"],["Frais d'état des lieux","3,03 € / m²"]]},{title:"Gestion locative",cols:["Prestation","Honoraires TTC"],rows:[["Gestion courante","7,20 % TTC des sommes perçues (6 % HT)"],["Garantie des Loyers Impayés (GLI)","3 % du loyer + charges — location à l'année (vide ou meublée)"]]}],footnote:"Amounts inclusive of VAT (20%) are calculated on the transaction amount. The fees above are indicative and negotiable. The applicable fee schedule is specified in each mandate.",additional:{title:"Additional information",p1:"Agence Méditerranée holds a professional license issued by the Nice Côte d'Azur Chamber of Commerce and Industry. It has a financial guarantee and professional liability insurance in accordance with the Hoguet Law of January 2, 1970.",p2:"For any questions regarding our fees, please do not hesitate to contact us at"}},jp={meta:{title:"Privacy Policy — Mediterranean Agency",description:"Privacy policy and protection of personal data for the agencemed.fr website — Agence Méditerranée."},title:"Privacy Policy",intro:"The Mediterranean Agency is committed to protecting the privacy of its website users. This privacy policy describes how your personal data is collected, used, and protected.",controller:{title:"Data Controller",body:`Agence Méditerranée
452 avenue de l'Estérel, 06160 Juan-les-Pins
46Telephone: +33 4 93 61 19 18
47Email: [email protected]
48Managers: Jérôme Robard & Thierry Eustache`},data:{title:"Data collected",intro:"We collect the personal data that you voluntarily provide to us via our contact and quote forms:",items:["Nom et prénom","Adresse email","Numéro de téléphone","Message et informations relatives à votre projet immobilier"],analytics:"We also automatically collect browsing data via Google Tag Manager (cookies, pages visited, visit duration) for statistical analysis and site improvement purposes."},purposes:{title:"Purposes of the processing",intro:"Your data is used for:",items:["Répondre à vos demandes d'information ou d'estimation","Vous recontacter dans le cadre de votre projet immobilier","Améliorer la qualité de nos services et de notre site","Établir des statistiques de fréquentation anonymes"]},legalBasis:{title:"Legal basis",body:"The processing of your data is based on your consent (GDPR box ticked when submitting a form) and on the legitimate interest of the Mediterranean Agency in responding to your requests and improving its services."},retention:{title:"Shelf life",body:"Your personal data is kept for a maximum of 3 years from your last contact with the agency. After this period, it is deleted or anonymized."},recipients:{title:"Data recipients",p1:"Your data is intended exclusively for the staff of the Mediterranean Agency. It is under no circumstances sold, rented or transferred to third parties for commercial purposes.",p2:"The following technical subcontractors may have access to your data as part of their services:",items:["Hébergeur du site (Vercel Inc.)","Outil d'analyse (Google Analytics via Google Tag Manager)"]}
48,cookies:{title:"Cookies",p1:"This site uses cookies for audience measurement and conversion tracking via Google Tag Manager. You can configure your browser to refuse cookies or to be notified when a cookie is placed.",p2:"The cookies used are:",items:["Cookies essentiels : nécessaires au fonctionnement du site (aucune donnée personnelle)","Cookies analytiques : mesure d'audience (Google Analytics) — données anonymisées","Cookies de conversion : suivi des interactions (formulaires, clics téléphone/email/carte)"]},rights:{title:"Your rights",intro:"In accordance with the General Data Protection Regulation (GDPR) and the French Data Protection Act, you have the following rights:",items:["Droit d'accès : obtenir la confirmation que vos données sont traitées et en demander une copie","Droit de rectification : corriger des données inexactes ou incomplètes","Droit à l'effacement : demander la suppression de vos données","Droit à la limitation : restreindre le traitement de vos données","Droit d'opposition : vous opposer au traitement de vos données","Droit à la portabilité : recevoir vos données dans un format structuré"],contact:"To exercise these rights, please contact us by email at [email protected] or by mail at the agency's address. We will respond within a maximum of 30 days."},complaint:{title:"Claim",p1:"If you believe that the processing of your data does not comply with current regulations, you can file a complaint with the CNIL (National Commission for Information Technology and Civil Liberties):",p2:"CNIL — 3 Place de Fontenoy, TSA 80715, 75334 Paris Cedex 07"},update:{title:"Update",p1:"This privacy policy may be modified at any time. The date of the last update is indicated below.",date:"Last updated: March 2026"}},kp={mentionsLegales:Np,honoraires:Mp,politique:jp},Ip={fr:{common:ku,shared:Xu,home:vd,listings:Ld,property:Jd,pages:hp,legal:Lp},en:{common:Vu,shared:ud,home:Cd,listings:Dd,property:np,pages:Pp,legal:kp}};Z.use(Ta).init({resources:Ip,lng:"fr",fallbackLng:"fr",defaultNS:"common",ns:["common","shared","home","listings","property","pages","legal"],interpolation:{escapeValue:!1}});function Dp(t){Z.language!==t&&Z.changeLanguage(t),document.documentElement.lang=t}const En={home:{fr:"/",en:"/en"},ventes:{fr:"/ventes",en:"/en/for-sale"},locations:{fr:"/locations",en:"/en/rentals"},biensVendus:{fr:"/biens-vendus",en:"/en/recent-sales"},vendus:{fr:"/vendus",en:"/en/sold-archives"},loues:{fr:"/loues",en:"/en/rental-archives"},agence:{fr:"/agence",en:"/en/agency"},contact:{fr:"/contact",en:"/en/contact"},estimation:{fr:"/estimation",en:"/en/valuation"},vendre:{fr:"/vendre",en:"/en/sell"},acheter:{fr:"/acheter",en:"/en/buy"},locationGestion:{fr:"/location-gestion",en:"/en/property-management"},mentionsLegales:{fr:"/mentions-legales",en:"/en/legal-notice"},honoraires:{fr:"/honoraires",en:"/en/fees"},politiqueConfidentialite:{fr:"/politique-confidentialite",en:"/en/privacy-policy"}},Ts={fr:"/bien",en:"/en/property"},pn=new Map;for(const[t,e]of Object.entries(En))pn.set(e.en,t),pn.set(`${e.en}/`,t);const fn=new Map;for(const[t,e]of Object.entries(En))fn.set(e.fr,t),fn.set(`${e.fr}/`,t);function $p(t){const e=t.split("?")[0]||"/";return e==="/en"||e.startsWith("/en/")?"en":"fr"}function Fp(t,e){const n=En[t][e];return e==="en"&&t==="home"?"/en":n}function Ss(t,e){return e==="en"?`${Ts.en}/${t}`:`${Ts.fr}/${t}`}function sf(t,e){const n=t.split("?")[0]||"/",s=n.match(/^\/bien\/([^/]+)\/?$/);if(s)return Ss(decodeURIComponent(s[1]),e);const r=n.match(/^\/en\/property\/([^/]+)\/?$/);if(r)return Ss(decodeURIComponent(r[1]),e);if(n==="/en"||n==="/en/")return e==="fr"?"/":"/en";const o=e==="en"?fn.get(n):pn.get(n);return o?Fp(o,e):n.startsWith("/en/")?e==="fr"?"/":n:e==="en"?"/en":n}function rf(t,e){return e==="en"?`/en#${t}`:`/#${t}`}const mo=f.createContext("fr");function _p({children:t}){const{pathname:e}=qs(),n=$p(e);return f.useEffect(()=>{Dp(n)},[n]),h.jsx(mo.Provider,{value:n,children:t})}function of(){return f.useContext(mo)}const Vp=()=>{const{pathname:t,hash:e}=qs();return f.useEffect(()=>{if(e){const n=document.querySelector(e);n?n.scrollIntoView({behavior:"smooth"}):window.scrollTo({top:0,left:0,behavior:"smooth"})}else window.scrollTo({top:0,left:0,behavior:"smooth"})},[t,e]),null},Cs=f.lazy(()=>ee(()=>import("./Index-BJSQus8d.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),As=f.lazy(()=>ee(()=>import("./Ventes-oJF_BpAd.js"),__vite__mapDeps([12,1,3,13,2,4,14,15,7,6,5,16,9,10,11]))),Ps=f.lazy(()=>ee(()=>import("./Locations-DeG0Lj1y.js"),__vite__mapDeps([17,1,3,13,2,4,14,15,7,6,5,16,9,10,11]))),Es=f.lazy(()=>ee(()=>import("./BiensVendus-KQ2xDPT6.js"),__vite__mapDeps([18,1,3,19,13,2,4,15,7,6,5,10,11]))),Rs=f.lazy(()=>ee(()=>import("./ArchivesVendus-Dc5E9DBc.js"),__vite__mapDeps([20,1,3,19,13,2,4,15,7,6,5,10,11]))),Os=f.lazy(()=>ee(()=>import("./ArchivesLoues-DcU0_-Vk.js"),__vite__mapDeps([21,1,3,19,13,2,4,15,7,6,5,10,11]))),Ls=f.lazy(()=>ee(()=>import("./BienDetail-C2zHFCXh.js"),__vite__mapDeps([22,1,3,13,2,4,9,5,6,11]))),Ns=f.lazy(()=>ee(()=>import("./Agence-BhhOpEPE.js"),__vite__mapDeps([23,1,24,13,2,3,4,8,9,10,11]))),Ms=f.lazy(()=>ee(()=>import("./Contact-1-Pdu0HT.js"),__vite__mapDeps([25,1,24,13,2,3,4,8,9,10,11]))),js=f.lazy(()=>ee(()=>import("./Estimation-ByCWPs9s.js"),__vite__mapDeps([26,1,24,13,2,3,4,10,11,9]))),ks=f.lazy(()=>ee(()=>import("./Vendre-BN0A51p0.js"),__vite__mapDeps([27,1,24,13,2,3,4,8,9,10,11]))),Is=f.lazy(()=>ee(()=>import("./Acheter-BZsiyfWz.js"),__vite__mapDeps([28,1,24,13,2,3,4,16,9,8,10,11]))),Ds=f.lazy(()=>ee(()=>import("./LocationGestion-CEtKzGm5.js"),__vite__mapDeps([29,1,24,13,2,3,4,8,9,10,11]))),$s=f.lazy(()=>ee(()=>import("./MentionsLegales-sgixzOV_.js"),__vite__mapDeps([30,1,24,13,2,3,4,10,11]))),Fs=f.lazy(()=>ee(()=>import("./Honoraires-D40m7mii.js"),__vite__mapDeps([31,1,24,13,2,3,4,10,11]))),_s=f.lazy(()=>ee(()=>import("./PolitiqueConfidentialite-CLv_78c7.js"),__vite__mapDeps([32,1,24,13,2,3,4,10,11]))),zp=f.lazy(()=>ee(()=>import("./NotFound-DkokMu6f.js"),__vite__mapDeps([33,1,3,2,13,4]))),qp=new fi,Hp=()=>{const{t}=Fa();return h.jsx("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-sm text-muted-foreground",children:t("loading")})},Bp=()=>h.jsxs(zo,{children:[h.jsx(z,{path:"/",element:h.jsx(Cs,{})}),h.jsx(z,{path:"/ventes",element:h.jsx(As,{})}),h.jsx(z,{path:"/locations",element:h.jsx(Ps,{})}),h.jsx(z,{path:"/biens-vendus",element:h.jsx(Es,{})}),h.jsx(z,{path:"/vendus",element:h.jsx(Rs,{})}),h.jsx(z,{path:"/loues",element:h.jsx(Os,{})}),h.jsx(z,{path:"/bien/:slug",element:h.jsx(Ls,{})}),h.jsx(z,{path:"/agence",element:h.jsx(Ns,{})}),h.jsx(z,{path:"/vendre",element:h.jsx(ks,{})}),h.jsx(z,{path:"/acheter",element:h.jsx(Is,{})}),h.jsx(z,{path:"/location-gestion",element:h.jsx(Ds,{})}),h.jsx(z,{path:"/contact",element:h.jsx(Ms,{})}),h.jsx(z,{path:"/estimation",element:h.jsx(js,{})}),h.jsx(z,{path:"/mentions-legales",element:h.jsx($s,{})}),h.jsx(z,{path:"/honoraires",element:h.jsx(Fs,{})}),h.jsx(z,{path:"/politique-confidentialite",element:h.jsx(_s,{})}),h.jsx(z,{path:"/en",element:h.jsx(Cs,{})}),h.jsx(z,{path:"/en/for-sale",element:h.jsx(As,{})}),h.jsx(z,{path:"/en/rentals",element:h.jsx(Ps,{})}),h.jsx(z,{path:"/en/recent-sales",element:h.jsx(Es,{})}),h.jsx(z,{path:"/en/sold-archives",element:h.jsx(Rs,{})}),h.jsx(z,{path:"/en/rental-archives",element:h.jsx(Os,{})}),h.jsx(z,{path:"/en/property/:slug",element:h.jsx(Ls,{})}),h.jsx(z,{path:"/en/agency",element:h.jsx(Ns,{})}),h.jsx(z,{path:"/en/sell",element:h.jsx(ks,{})}),h.jsx(z,{path:"/en/buy",element:h.jsx(Is,{})}),h.jsx(z,{path:"/en/property-management",element:h.jsx(Ds,{})}),h.jsx(z,{path:"/en/contact",element:h.jsx(Ms,{})}),h.jsx(z,{path:"/en/valuation",element:h.jsx(js,{})}),h.jsx(z,{path:"/en/legal-notice",element:h.jsx($s,{})}),h.jsx(z,{path:"/en/fees",element:h.jsx(Fs,{})}),h.jsx(z,{path:"/en/privacy-policy",element:h.jsx(_s,{})}),h.jsx(z,{path:"*",element:h.jsx(zp,{})})]}),Up=()=>h.jsx(nr,{children:h.jsx(mi,{client:qp,children:h.jsxs(Eu,{children:[h.jsx(Qc,{}),h.jsx(gl,{}),h.jsxs(Vo,{children:[h.jsx(Vp,{}),h.jsx(_p,{children:h.jsx(f.Suspense,{fallback:h.jsx(Hp,{}),children:h.jsx(Bp,{})})})]})]})})});_o(document.getElementById("root")).render(h.jsx(Up,{}));export{au as A,lu as C,yn as D,Wp as H,re as P,Zp as R,Qp as S,of as a,Ul as b,Et as c,X as d,bn as e,fe as f,Ce as g,rf as h,Ol as i,Me as j,Se as k,Yp as l,vr as m,Tt as n,mc as o,Ss as p,eu as q,Qr as r,cu as s,Fp as t,Fa as u,sf as v};

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