vendor: 15,956 bytes, lines 1-17
1function M5(e,a){for(var r=0;r<a.length;r++){const s=a[r];if(typeof s!="string"&&!Array.isArray(s)){for(const l in s)if(l!=="default"&&!(l in e)){const d=Object.getOwnPropertyDescriptor(s,l);d&&Object.defineProperty(e,l,d.get?d:{enumerable:!0,get:()=>s[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))s(l);new MutationObserver(l=>{for(const d of l)if(d.type==="childList")for(const u of d.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(l){const d={};return l.integrity&&(d.integrity=l.integrity),l.referrerPolicy&&(d.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?d.credentials="include":l.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function s(l){if(l.ep)return;l.ep=!0;const d=r(l);fetch(l.href,d)}})();function bw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Hh={exports:{}},wo={};/** 2 * @license React 3 * react-jsx-runtime.production.js 4 * 5 * Copyright (c) Meta Platforms, Inc. and affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var Jb;function L5(){if(Jb)return wo;Jb=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function r(s,l,d){var u=null;if(d!==void 0&&(u=""+d),l.key!==void 0&&(u=""+l.key),"key"in l){d={};for(var p in l)p!=="key"&&(d[p]=l[p])}else d=l;return l=d.ref,{$$typeof:e,type:s,key:u,ref:l!==void 0?l:null,props:d}}return wo.Fragment=a,wo.jsx=r,wo.jsxs=r,wo}var e0;function _5(){return e0||(e0=1,Hh.exports=L5()),Hh.exports}var o=_5();const H5="app_session_id",z5="__Host-oauth_state",D5=e=>btoa(JSON.stringify(e));var zh={exports:{}},Ee={};/** 10 * @license React 11 * react.production.js 12 * 13 * Copyright (c) Meta Platforms, Inc. and affiliates. 14 * 15 * This source code is licensed under the MIT license found in the 16 * LICENSE file in the root directory of this source tree. 17 */var t0;function B5(){if(t0)return Ee;t0=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),u=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),S=Symbol.iterator;function E(T){return T===null||typeof T!="object"?null:(T=S&&T[S]||T["@@iterator"],typeof T=="function"?T:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},x=Object.assign,k={};function C(T,V,W){this.props=T,this.context=V,this.refs=k,this.updater=W||N}C.prototype.isReactComponent={},C.prototype.setState=function(T,V){if(typeof T!="object"&&typeof T!="function"&&T!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,T,V,"setState")},C.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function I(){}I.prototype=C.prototype;function M(T,V,W){this.props=T,this.context=V,this.refs=k,this.updater=W||N}var Y=M.prototype=new I;Y.constructor=M,x(Y,C.prototype),Y.isPureReactComponent=!0;var L=Array.isArray;function G(){}var j={H:null,A:null,T:null,S:null},z=Object.prototype.hasOwnProperty;function F(T,V,W){var Z=W.ref;return{$$typeof:e,type:T,key:V,ref:Z!==void 0?Z:null,props:W}}function re(T,V){return F(T.type,V,T.props)}function se(T){return typeof T=="object"&&T!==null&&T.$$typeof===e}function ie(T){var V={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(W){return V[W]})}var te=/\/+/g;function U(T,V){return typeof T=="object"&&T!==null&&T.key!=null?ie(""+T.key):V.toString(36)}function ne(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(G,G):(T.status="pending",T.then(function(V){T.status==="pending"&&(T.status="fulfilled",T.value=V)},function(V){T.status==="pending"&&(T.status="rejected",T.reason=V)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function O(T,V,W,Z,oe){var ue=typeof T;(ue==="undefined"||ue==="boolean")&&(T=null);var ae=!1;if(T===null)ae=!0;else switch(ue){case"bigint":case"string":case"number":ae=!0;break;case"object":switch(T.$$typeof){case e:case a:ae=!0;break;case v:return ae=T._init,O(ae(T._payload),V,W,Z,oe)}}if(ae)return oe=oe(T),ae=Z===""?"."+U(T,0):Z,L(oe)?(W="",ae!=null&&(W=ae.replace(te,"$&/")+"/"),O(oe,V,W,"",function(ke){return ke})):oe!=null&&(se(oe)&&(oe=re(oe,W+(oe.key==null||T&&T.key===oe.key?"":(""+oe.key).replace(te,"$&/")+"/")+ae)),V.push(oe)),1;ae=0;var pe=Z===""?".":Z+":";if(L(T))for(var Se=0;Se<T.length;Se++)Z=T[Se],ue=pe+U(Z,Se),ae+=O(Z,V,W,ue,oe);else if(Se=E(T),typeof Se=="function")for(T=Se.call(T),Se=0;!(Z=T.next()).done;)Z=Z.value,ue=pe+U(Z,Se++),ae+=O(Z,V,W,ue,oe);else if(ue==="object"){if(typeof T.then=="function")return O(ne(T),V,W,Z,oe);throw V=String(T),Error("Objects are not valid as a React child (found: "+(V==="[object Object]"?"object with keys {"+Object.keys(T).join(", ")+"}":V)+"). If you meant to render a collection of children, use an array instead.")}return ae}function D(T,V,W){if(T==null)return T;var Z=[],oe=0;return O(T,Z,"","",function(ue){return V.call(W,ue,oe++)}),Z}function _(T){if(T._status===-1){var V=T._result;V=V(),V.then(function(W){(T._status===0||T._status===-1)&&(T._status=1,T._result=W)},function(W){(T._status===0||T._status===-1)&&(T._status=2,T._result=W)}),T._status===-1&&(T._status=0,T._result=V)}if(T._status===1)return T._result.default;throw T._result}var ce=typeof reportError=="function"?reportError:function(T){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var V=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof T=="object"&&T!==null&&typeof T.message=="string"?String(T.message):String(T),error:T});if(!window.dispatchEvent(V))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",T);return}console.error(T)},he={map:D,forEach:function(T,V,W){D(T,function(){V.apply(this,arguments)},W)},count:function(T){var V=0;return D(T,function(){V++}),V},toArray:function(T){return D(T,function(V){return V})||[]},only:function(T){if(!se(T))throw Error("React.Children.only expected to receive a single React element child.");return T}};return Ee.Activity=y,Ee.Children=he,Ee.Component=C,Ee.Fragment=r,Ee.Profiler=l,Ee.PureComponent=M,Ee.StrictMode=s,Ee.Suspense=m,Ee.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=j,Ee.__COMPILER_RUNTIME={__proto__:null,c:function(T){return j.H.useMemoCache(T)}},Ee.cache=function(T){return function(){return T.apply(null,arguments)}},Ee.cacheSignal=function(){return null},Ee.cloneElement=function(T,V,W){if(T==null)throw Error("The argument must be a React element, but you passed "+T+".");var Z=x({},T.props),oe=T.key;if(V!=null)for(ue in V.key!==void 0&&(oe=""+V.key),V)!z.call(V,ue)||ue==="key"||ue==="__self"||ue==="__source"||ue==="ref"&&V.ref===void 0||(Z[ue]=V[ue]);var ue=arguments.length-2;if(ue===1)Z.children=W;else if(1<ue){for(var ae=Array(ue),pe=0;pe<ue;pe++)ae[pe]=arguments[pe+2];Z.children=ae}return F(T.type,oe,Z)},Ee.createContext=function(T){return T={$$typeof:u,_currentValue:T,_currentValue2:T,_threadCount:0,Provider:null,Consumer:null},T.Provider=T,T.Consumer={$$typeof:d,_context:T},T},Ee.createElement=function(T,V,W){var Z,oe={},ue=null;if(V!=null)for(Z in V.key!==void 0&&(ue=""+V.key),V)z.call(V,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(oe[Z]=V[Z]);var ae=arguments.length-2;if(ae===1)oe.children=W;else if(1<ae){for(var pe=Array(ae),Se=0;Se<ae;Se++)pe[Se]=arguments[Se+2];oe.children=pe}if(T&&T.defaultProps)for(Z in ae=T.defaultProps,ae)oe[Z]===void 0&&(oe[Z]=ae[Z]);return F(T,ue,oe)},Ee.createRef=function(){return{current:null}},Ee.forwardRef=function(T){return{$$typeof:p,render:T}},Ee.isValidElement=se,Ee.lazy=function(T){return{$$typeof:v,_payload:{_status:-1,_result:T},_init:_}},Ee.memo=function(T,V){return{$$typeof:g,type:T,compare:V===void 0?null:V}},Ee.startTransition=function(T){var V=j.T,W={};j.T=W;try{var Z=T(),oe=j.S;oe!==null&&oe(W,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(G,ce)}catch(ue){ce(ue)}finally{V!==null&&W.types!==null&&(V.types=W.types),j.T=V}},Ee.unstable_useCacheRefresh=function(){return j.H.useCacheRefresh()},Ee.use=function(T){return j.H.use(T)},Ee.useActionState=function(T,V,W){return j.H.useActionState(T,V,W)},Ee.useCallback=function(T,V){return j.H.useCallback(T,V)},Ee.useContext=function(T){return j.H.useContext(T)},Ee.useDebugValue=function(){},Ee.useDeferredValue=function(T,V){return j.H.useDeferredValue(T,V)},Ee.useEffect=function(T,V){return j.H.useEffect(T,V)},Ee.useEffectEvent=function(T){return j.H.useEffectEvent(T)},Ee.useId=function(){return j.H.useId()},Ee.useImperativeHandle=function(T,V,W){return j.H.useImperativeHandle(T,V,W)},Ee.useInsertionEffect=function(T,V){return j.H.useInsertionEffect(T,V)},Ee.useLayoutEffect=function(T,V){return j.H.useLayoutEffect(T,V)},Ee.useMemo=function(T,V){return j.H.useMemo(T,V)},Ee.useOptimistic=function(T,V){return j.H.useOptimistic(T,V)},Ee.useReducer=function(T,V,W){return j.H.useReducer(T,V,W)},Ee.useRef=function(T){return j.H.useRef(T)},Ee.useState=function(T){return j.H.useState(T)},Ee.useSyncExternalStore=function(T,V,W){return j.H.useSyncExternalStore(T,V,W)},Ee.useTransition=function(){return j.H.useTransition()},Ee.version="19.2.1",Ee}var a0;function Zc(){return a0||(a0=1,zh.exports=B5()),zh.exports}var w=Zc();const le=bw(w),Qc=M5({__proto__:null,default:le},[w]),vw=w.createContext(void 0),Uo=e=>{const a=w.useContext(vw);if(e)return e;if(!a)throw new Error("No QueryClient set, use QueryClientProvider to set one");return a},U5=({client:e,children:a})=>(w.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),o.jsx(vw.Provider,{value:e,children:a})),q5={setTimeout:(e,a)=>setTimeout(e,a),clearTimeout:e=>clearTimeout(e),setInterval:(e,a)=>setInterval(e,a),clearInterval:e=>clearInterval(e)};var G5=class{#t=q5;#e=!1;setTimeoutProvider(e){this.#t=e}setTimeout(e,a){return this.#t.setTimeout(e,a)}clearTimeout(e){this.#t.clearTimeout(e)}setInterval(e,a){return this.#t.setInterval(e,a)}clearInterval(e){this.#t.clearInterval(e)}};const $r=new G5;function W5(e){setTimeout(e,0)}const Y5=typeof window>"u"||"Deno"in globalThis;function Ct(){}function $5(e,a){return typeof e=="function"?e(a):e}function ww(e){return typeof e=="number"&&e>=0&&e!==1/0}function xw(e,a){return Math.max(e+(a||0)-Date.now(),0)}function ht(e,a){return typeof e=="function"?e(a):e}function i0(e,a){const{type:r="all",exact:s,fetchStatus:l,predicate:d,queryKey:u,stale:p}=e;if(u){if(s){if(a.queryHash!==cf(u,a.options))return!1}else if(!ds(a.queryKey,u))return!1}if(r!=="all"){const m=a.isActive();if(r==="active"&&!m||r==="inactive"&&m)return!1}return!(typeof p=="boolean"&&a.isStale()!==p||l&&l!==a.state.fetchStatus||d&&!d(a))}function r0(e,a){const{exact:r,status:s,predicate:l,mutationKey:d}=e;if(d){if(!a.options.mutationKey)return!1;if(r){if(fr(a.options.mutationKey)!==fr(d))return!1}else if(!ds(a.options.mutationKey,d))return!1}return!(s&&a.state.status!==s||l&&!l(a))}function cf(e,a){return(a?.queryKeyHashFn||fr)(e)}function fr(e){return JSON.stringify(e,(a,r)=>pp(r)?Object.keys(r).sort().reduce((s,l)=>(s[l]=r[l],s),{}):r)}function ds(e,a){if(e===a)return!0;if(typeof e!=typeof a)return!1;if(e&&a&&typeof e=="object"&&typeof a=="object"){if(Array.isArray(e)&&Array.isArray(a)){for(let s=0;s<a.length;s++)if(!ds(e[s],a[s]))return!1;return!0}const r=Object.keys(a);for(const s of r)if(!ds(e[s],a[s]))return!1;return!0}return!1}const F5=Object.prototype.hasOwnProperty;function df(e,a,r=0){if(e===a)return e;if(r>500)return a;const s=n0(e)&&n0(a);if(!s&&!(pp(e)&&pp(a)))return a;const l=(s?e:Object.keys(e)).length,d=s?a:Object.keys(a),u=d.length,p=s?new Array(u):{};let m=0;for(let g=0;g<u;g++){const v=s?g:d[g],y=e[v],S=a[v];if(y===S){p[v]=y,(s?g<l:F5.call(e,v))&&m++;continue}if(y===null||S===null||typeof y!="object"||typeof S!="object"){p[v]=S;continue}const E=df(y,S,r+1);p[v]=E,E===y&&m++}return l===u&&m===l?e:p}function ko(e,a){if(!a||Object.keys(e).length!==Object.keys(a).length)return!1;for(const r in e)if(e[r]!==a[r])return!1;return!0}function n0(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function pp(e){if(!s0(e))return!1;const a=e.constructor;if(a===void 0)return!0;const r=a.prototype;return!(!s0(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function s0(e){return Object.prototype.toString.call(e)==="[object Object]"}function K5(e){return new Promise(a=>{$r.setTimeout(a,e)})}function fp(e,a,r){return typeof r.structuralSharing=="function"?r.structuralSharing(e,a):r.structuralSharing!==!1?df(e,a):a}function V5(e,a,r=0){const s=[...e,a];return r&&s.length>r?s.slice(1):s}function Z5(e,a,r=0){const s=[a,...e];return r&&s.length>r?s.slice(0,-1):s}const ga=Symbol();function Sw(e,a){return!e.queryFn&&a?.initialPromise?()=>a.initialPromise:!e.queryFn||e.queryFn===ga?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function uf(e,a){return typeof e=="function"?e(...a):!!e}function Q5(e,a,r){let s=!1,l;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(l??=a(),s||(s=!0,l.aborted?r():l.addEventListener("abort",r,{once:!0})),l)}),e}let X5=()=>Y5;const hf=()=>X5();var rn=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},J5=class extends rn{#t;#e;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const a=()=>e();return window.addEventListener("visibilitychange",a,!1),()=>{window.removeEventListener("visibilitychange",a)}}}}onSubscribe(){this.#e||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#a=e,this.#e?.(),this.#e=e(a=>{typeof a=="boolean"?this.setFocused(a):this.onFocus()})}setFocused(e){this.#t!==e&&(this.#t=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(a=>{a(e)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}};const pf=new J5,eA=W5;function tA(){let e=[],a=0,r=p=>{p()},s=p=>{p()},l=eA;const d=p=>{a?e.push(p):l(()=>{r(p)})},u=()=>{const p=e;e=[],p.length&&l(()=>{s(()=>{p.forEach(m=>{r(m)})})})};return{batch:p=>{let m;a++;try{m=p()}finally{a--,a||u()}return m},batchCalls:p=>(...m)=>{d(()=>{p(...m)})},schedule:d,setNotifyFunction:p=>{r=p},setBatchNotifyFunction:p=>{s=p},setScheduler:p=>{l=p}}}const pt=tA();var aA=class extends rn{#t=!0;#e;#a;constructor(){super(),this.#a=e=>{if(typeof window<"u"&&window.addEventListener){const a=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",a,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",a),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#e||this.setEventListener(this.#a)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#a=e,this.#e?.(),this.#e=e(this.setOnline.bind(this))}setOnline(e){this.#t!==e&&(this.#t=e,this.listeners.forEach(a=>{a(e)}))}isOnline(){return this.#t}};const _c=new aA;function iA(e){return Math.min(1e3*2**e,3e4)}function Aw(e){return(e??"online")==="online"?_c.isOnline():!0}
17var mp=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Ew(e){let a=!1,r=0,s,l="pending",d,u;const p=new Promise((I,M)=>{d=I,u=M});p.catch(Ct);const m=()=>l!=="pending",g=I=>{if(!m()){const M=new mp(I);x(M),e.onCancel?.(M)}},v=()=>{a=!0},y=()=>{a=!1},S=()=>pf.isFocused()&&(e.networkMode==="always"||_c.isOnline())&&e.canRun(),E=()=>Aw(e.networkMode)&&e.canRun(),N=I=>{m()||(s?.(),l="resolved",d(I))},x=I=>{m()||(s?.(),l="rejected",u(I))},k=()=>new Promise(I=>{s=M=>{(m()||S())&&I(M)},e.onPause?.()}).then(()=>{s=void 0,m()||e.onContinue?.()}),C=()=>{if(m())return;let I;const M=r===0?e.initialPromise:void 0;try{I=M??e.fn()}catch(Y){I=Promise.reject(Y)}Promise.resolve(I).then(N).catch(Y=>{if(m())return;const L=e.retry??(hf()?0:3),G=e.retryDelay??iA,j=typeof G=="function"?G(r,Y):G,z=L===!0||typeof L=="number"&&r<L||typeof L=="function"&&L(r,Y);if(a||!z){x(Y);return}r++,e.onFail?.(r,Y),K5(j).then(()=>S()?void 0:k()).then(()=>{a?x(Y):C()})})};return{promise:p,status:()=>l,cancel:g,continue:()=>(s?.(),p),cancelRetry:v,continueRetry:y,canStart:E,start:()=>(E()?C():k().then(C),p)}}var Nw=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),ww(this.gcTime)&&(this.#t=$r.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(hf()?1/0:3e5))}clearGcTimeout(){this.#t!==void 0&&($r.clearTimeout(this.#t),this.#t=void 0)}};function rA(e){return{onFetch:(a,r)=>{const s=a.options,l=a.fetchOptions?.meta?.fetchMore?.direction,d=a.state.data?.pages||[],u=a.state.data?.pageParams||[];let p={pages:[],pageParams:[]},m=0;const g=async()=>{let v=!1;const y=N=>{Q5(N,()=>a.signal,()=>v=!0)},S=Sw(a.options,a.fetchOptions),E=async(N,x,k)=>{if(v)return Promise.reject(a.signal.reason);if(x==null&&N.pages.length)return Promise.resolve(N);const I=(()=>{const G={client:a.client,queryKey:a.queryKey,pageParam:x,direction:k?"backward":"forward",meta:a.options.meta};return y(G),G})(),M=await S(I),{maxPages:Y}=a.options,L=k?Z5:V5;return{pages:L(N.pages,M,Y),pageParams:L(N.pageParams,x,Y)}};if(l&&d.length){const N=l==="backward",x=N?kw:gp,k={pages:d,pageParams:u};p=await E(k,x(s,k),N)}else{const N=e??d.length;do{const x=m===0?u[0]??s.initialPageParam:gp(s,p);if(m>0&&x==null)break;p=await E(p,x),m++}while(m<N)}return p};a.options.persister?a.fetchFn=()=>a.options.persister?.(g,{client:a.client,queryKey:a.queryKey,meta:a.options.meta,signal:a.signal},r):a.fetchFn=g}}}function gp(e,{pages:a,pageParams:r}){const s=a.length-1;return a.length>0?e.getNextPageParam(a[s],a,r[s],r):void 0}function kw(e,{pages:a,pageParams:r}){return a.length>0?e.getPreviousPageParam?.(a[0],a,r[0],r):void 0}function nA(e,a){return a?gp(e,a)!=null:!1}function sA(e,a){return!a||!e.getPreviousPageParam?!1:kw(e,a)!=null}var oA=class extends Nw{#t;#e;#a;#i;#r;#n;#s;#l;constructor(e){super(),this.#l=!1,this.#s=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#i=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=l0(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#t}get promise(){return this.#n?.promise}setOptions(e){if(this.options={...this.#s,...e},e?._type&&(this.#t=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const a=l0(this.options);a.data!==void 0&&(this.setState(o0(a.data,a.dataUpdatedAt)),this.#e=a)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#i.remove(this)}setData(e,a){const r=fp(this.state.data,e,this.options);return this.#o({data:r,type:"success",dataUpdatedAt:a?.updatedAt,manual:a?.manual}),r}setState(e){this.#o({type:"setState",state:e})}cancel(e){const a=this.#n?.promise;return this.#n?.cancel(e),a?a.then(Ct).catch(Ct):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#e}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>ht(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ga||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdate
vendor: 4,710 bytes, line 17
17Count>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>ht(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!xw(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#i.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){const a=this.observers.indexOf(e);a!==-1&&(this.observers.splice(a,1),this.observers.length||(this.#n&&(this.#l||this.state.fetchStatus==="paused"&&this.state.status==="pending"?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#i.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}async fetch(e,a){if(this.state.fetchStatus!=="idle"&&this.#n?.status()!=="rejected"){if(this.state.data!==void 0&&a?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){const m=this.observers.find(g=>g.options.queryFn);m&&this.setOptions(m.options)}const r=new AbortController,s=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(this.#l=!0,r.signal)})},l=()=>{const m=Sw(this.options,a),v=(()=>{const y={client:this.#r,queryKey:this.queryKey,meta:this.meta};return s(y),y})();return this.#l=!1,this.options.persister?this.options.persister(m,v,this):m(v)},u=(()=>{const m={fetchOptions:a,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:l};return s(m),m})();(this.#t==="infinite"?rA(this.options.pages):this.options.behavior)?.onFetch(u,this),this.#a=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&this.#o({type:"fetch",meta:u.fetchOptions?.meta});const p=this.#n=Ew({initialPromise:a?.initialPromise,fn:u.fetchFn,onCancel:m=>{m instanceof mp&&m.revert&&this.setState({...this.#a,fetchStatus:"idle"}),r.abort()},onFail:(m,g)=>{this.#o({type:"failed",failureCount:m,error:g})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0});try{const m=await p.start();if(m===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(m),this.#i.config.onSuccess?.(m,this),this.#i.config.onSettled?.(m,this.state.error,this),m}catch(m){if(m instanceof mp){if(m.silent)return this.#n.promise;if(m.revert){if(this.state.data===void 0)throw m;return this.state.data}}throw this.#o({type:"error",error:m}),this.#i.config.onError?.(m,this),this.#i.config.onSettled?.(this.state.data,m,this),m}finally{this.#n===p&&(this.#n=void 0),this.scheduleGc()}}#o(e){const a=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Ow(r.data,this.options),fetchMeta:e.meta??null};case"success":const s={...r,...o0(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#a=e.manual?s:void 0,s;case"error":const l=e.error;return{...r,error:l,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:l,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=a(this.state),pt.batch(()=>{this.observers.slice().forEach(r=>{r.onQueryUpdate()}),this.#i.notify({query:this,type:"updated",action:e})})}};function Ow(e,a){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Aw(a.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function o0(e,a){return{data:e,dataUpdatedAt:a??Date.now(),error:null,isInvalidated:!1,status:"success"}}function l0(e){const a=typeof e.initialData=="function"?e.initialData():e.initialData,r=a!==void 0,s=r?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:a,dataUpdateCount:0,dataUpdatedAt:r?s??Date.now():0,error:null,errorUpdate
17Count:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var qo=class extends rn{#t;#e=void 0;#a=void 0;#i=void 0;#r;#n;#s;#l;#o;#p;#c;#d;#u;#f=new Set;constructor(e,a){super(),this.options=a,this.#t=e,this.#s=null,this.bindMethods(),this.setOptions(a)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),c0(this.#e,this.options)?this.#h():this.updateResult(),this.#v())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return yp(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return yp(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#w(),this.#x(),this.#e.removeObserver(this)}setOptions(e){const a=this.options,r=this.#e;if(this.options=this.#t.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ht(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#S(),this.#e.setOptions(this.options),a._defaulted&&!ko(this.options,a)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const s=this.hasListeners();s&&d0(this.#e,r,this.options,a)&&this.#h(),this.updateResult(),s&&(this.#e!==r||ht(this.options.enabled,this.#e)!==ht(a.enabled,this.#e)||ht(this.options.staleTime,this.#e)!==ht(a.staleTime,this.#e))&&this.#g();const l=this.#y();s&&(this.#e!==r||ht(this.options.enabled,this.#e)!==ht(a.enabled,this.#e)||l!==this.#u)&&this.#b(l)}getOptimisticResult(e){const a=this.#t.getQueryCache().build(this.#t,e),r=this.createResult(a,e);return ko(this.getCurrentResult(),r)||(this.#i=r,this.#n=this.options,this.#r=this.#e.state),r}getCurrentResult(){return this.#i}trackResult(e,a){return new Proxy(e,{get:(r,s)=>(this.trackProp(s),a?.(s),Reflect.get(r,s))})}trackProp(e){this.#f.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const a=this.#t.defaultQueryOptions(e),r=this.#t.getQueryCache().build(this.#t,a);let s=()=>{},l;const d=new Promise(u=>{l=u,s=this.#t.getQueryCache().subscribe(p=>{p.type==="updated"&&p.query.queryHash===r.queryHash&&r.state.data!==void 0&&(s(),u(this.createResult(r,a)))})});return Promise.race([r.fetch().then(()=>{const u=this.createResult(r,a);return l?.(u),u}).finally(()=>{s()}),d])}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#i))}#h(e){this.#S();let a=this.#e.fetch(this.options,e);return e?.throwOnError||(a=a.catch(Ct)),a}#m(e){return!hf()&&ht(this.options.enabled,this.#e)!==!1&&ww(e)}#g(){this.#w();const e=ht(this.options.staleTime,this.#e);if(this.#i.isStale||!this.#m(e))return;const a=xw(this.#i.dataUpdatedAt,e)+1;this.#c=$r.setTimeout(()=>{this.#i.isStale||this.updateResult()},a)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#b(e){this.#x(),this.#u=e,!(this.#u===0||!this.#m(this.#u))&&(this.#d=$r.setInterval(()=>{(this.options.refetchIntervalInBackground||pf.isFocused())&&this.#h()},this.#u))}#v(){this.#g(),this.#b(this.#y())}#w(){this.#c!==void 0&&($r.clearTimeout(this.#c),this.#c=void 0)}#x(){this.#d!==void 0&&($r.clearInterval(this.#d),this.#d=void 0)}createResult(e,a){const r=this.#e,s=this.options,l=this.#i,d=this.#r,u=this.#n,p=e!==r?e.state:this.#a,{state:m}=e;let g={...m},v=!1,y;if(a._optimisticResults){const L=this.hasListeners(),G=!L&&c0(e,a),j=L&&d0(e,r,a,s);(G||j)&&(g={...g,...Ow(m.data,e.options)}),a._optimisticResults==="isRestoring"&&(g.fetchStatus="idle")}let{error:S,errorUpdatedAt:E,status:N}=g;y=g.data;let x=!1;if(a.placeholderData!==void 0&&y===void 0&&N==="pending"){let L;l?.isPlaceholderData&&a.placeholderData===u?.placeholderData?(L=l.data,x=!0):L=typeof a.placeholderData=="function"?a.placeholderData(this.#p?.state.data,this.#p):a.placeholderData,L!==void 0&&(N="success",y=fp(l?.data,L,a),v=!0)}if(a.select&&y!==void 0&&!x)if(l&&y===d?.data&&a.select===this.#l)y=this.#o;else try{this.#l=a.select,y=a.select(y),y=fp(l?.data,y,a),this.#o=y,this.#s=null}catch(L){this.#s=L}else y===void 0&&(this.#s=null);this.#s&&(S=this.#s,y=this.#o,E=Date.now(),N="error",v=!1);const k=g.fetchStatus==="fetching",C=N==="pending",I=N==="error",M=C&&k,Y=y!==void 0;return{status:N,fetchStatus:g.fetchStatus,isPending:C,isSuccess:N==="success",isError:I,isInitialLoading:M,isLoading:M,data:y,dataUpdatedAt:g.dataUpdatedAt,error:S,errorUpdatedAt:E,failureCount:g.fetchFailureCount,failureReason:g.fetchFailureReason,errorUpdate
17Count:g.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:g.dataUpdateCount>p.dataUpdateCount||g.errorUpdateCount>p.errorUpdateCount,isFetching:k,isRefetching:k&&!C,isLoadingError:I&&!Y,isPaused:g.fetchStatus==="paused",isPlaceholderData:v,isRefetchError:I&&Y,isStale:ff(e,a),refetch:this.refetch,isEnabled:ht(a.enabled,e)!==!1}}updateResult(){const e=this.#i,a=this.createResult(this.#e,this.options);if(this.#r=this.#e.state,this.#n=this.options,this.#r.data!==void 0&&(this.#p=this.#e),ko(a,e))return;this.#i=a;const s=(()=>{if(!e)return!0;const{notifyOnChangeProps:l}=this.options,d=typeof l=="function"?l():l;if(d==="all"||!d&&!this.#f.size)return!0;const u=new Set(d??this.#f);return this.options.throwOnError&&u.add("error"),Object.keys(this.#i).some(p=>{const m=p;return this.#i[m]!==e[m]&&u.has(m)})})();pt.batch(()=>{s&&this.listeners.forEach(l=>{l(this.#i)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}#S(){const e=this.#t.getQueryCache().build(this.#t,this.options);if(e===this.#e)return;const a=this.#e;this.#e=e,this.#a=e.state,this.hasListeners()&&(a?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#v()}};function lA(e,a){return ht(a.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&ht(a.retryOnMount,e)===!1)}function c0(e,a){return lA(e,a)||e.state.data!==void 0&&yp(e,a,a.refetchOnMount)}function yp(e,a,r){if(ht(a.enabled,e)!==!1&&ht(a.staleTime,e)!=="static"){const s=typeof r=="function"?r(e):r;return s==="always"||s!==!1&&ff(e,a)}return!1}function d0(e,a,r,s){return(e!==a||ht(s.enabled,e)===!1)&&(!r.suspense||e.state.status!=="error")&&ff(e,r)}function ff(e,a){return ht(a.enabled,e)!==!1&&e.isStaleByTime(ht(a.staleTime,e))}var Tw=class extends qo{constructor(e,a){super(e,a)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,a){const{state:r}=e,s=super.createResult(e,a),{isFetching:l,isRefetching:d,isError:u,isRefetchError:p}=s,m=r.fetchMeta?.fetchMore?.direction,g=u&&m==="forward",v=l&&m==="forward",y=u&&m==="backward",S=l&&m==="backward";return{...s,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:nA(a,r.data),hasPreviousPage:sA(a,r.data),isFetchNextPageError:g,isFetchingNextPage:v,isFetchPreviousPageError:y,isFetchingPreviousPage:S,isRefetchError:p&&!g&&!y,isRefetching:d&&!v&&!S}}},cA=class extends Nw{#t;#e;#a;#i;constructor(e){super(),this.#t=e.client,this.mutationId=e.mutationId,this.#a=e.mutationCache,this.#e=[],this.state=e.state||Cw(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#a.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(a=>a!==e),this.scheduleGc(),this.#a.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#a.remove(this))}continue(){return this.#i?.continue()??(this.state.status==="pending"?this.execute(this.state.variables):Promise.resolve())}async execute(e){const a=()=>{this.#r({type:"continue"})},r={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey},s=this.#i=Ew({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(u,p)=>{this.#r({type:"failed",failureCount:u,error:p})},onPause:()=>{this.#r({type:"pause"})},onContinue:a,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#a.canRun(this)}),l=this.state.status==="pending",d=!s.canStart();try{if(l)a();else{this.#r({type:"pending",variables:e,isPaused:d}),this.#a.config.onMutate&&await this.#a.config.onMutate(e,this,r);const p=await this.options.onMutate?.(e,r);p!==this.state.context&&this.#r({type:"pending",context:p,variables:e,isPaused:d})}const u=await s.start();return await this.#a.config.onSuccess?.(u,e,this.state.context,this,r),await this.options.onSuccess?.(u,e,this.state.context,r),await this.#a.config.onSettled?.(u,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(u,null,e,this.state.context,r),this.#r({type:"success",data:u}),u}catch(u){try{await this.#a.config.onError?.(u,e,this.state.context,this,r)}catch(p){Promise.reject(p)}try{await this.options.onError?.(u,e,this.state.context,r)}catch(p){Promise.reject(p)}try{await this.#a.config.onSettled?.(void 0,u,this.state.variables,this.state.context,this,r)}catch(p){Promise.reject(p)}try{await this.options.onSettled?.(void 0,u,e,this.state.context,r)}catch(p){Promise.reject(p)}throw this.#r({type:"error",error:u}),u}finally{this.#i===s&&(this.#i=void 0),this.#a.runNext(this)}}#r(e){const a=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};
vendor: 1,577 bytes, line 17
17case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=a(this.state),pt.batch(()=>{this.#e.forEach(r=>{r.onMutationUpdate(e)}),this.#a.notify({mutation:this,type:"updated",action:e})})}};function Cw(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var dA=class extends rn{#t;#e;#a;constructor(e={}){super(),this.config=e,this.#t=new Set,this.#e=new Map,this.#a=0}build(e,a,r){const s=new cA({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(a),state:r});return this.add(s),s}add(e){this.#t.add(e);const a=hc(e);if(typeof a=="string"){const r=this.#e.get(a);r?r.push(e):this.#e.set(a,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){const a=hc(e);if(typeof a=="string"){const r=this.#e.get(a);if(r)if(r.length>1){const s=r.indexOf(e);s!==-1&&r.splice(s,1)}else r[0]===e&&this.#e.delete(a)}}this.notify({type:"removed",mutation:e})}canRun(e){const a=hc(e);if(typeof a=="string"){const r=this.#e.get(a)?.find(s=>s.state.status==="pending");return!r||r===e}else return!0}runNext(e){const a=hc(e);return typeof a=="string"?this.#e.get(a)?.find(r=>
17r!==e&&r.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){pt.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(e){const a={exact:!0,...e};return this.getAll().find(r=>r0(a,r))}findAll(e={}){return this.getAll().filter(a=>r0(e,a))}notify(e){pt.batch(()=>{this.listeners.forEach(a=>{a(e)})})}resumePausedMutations(){const e=this.getAll().filter(a=>a.state.isPaused);return pt.batch(()=>Promise.all(e.map(a=>a.continue().catch(Ct))))}};function hc(e){return e.options.scope?.id}var uA=class extends rn{#t;#e=void 0;#a;#i;constructor(a,r){super(),this.#t=a,this.setOptions(r),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){const r=this.options;this.options=this.#t.defaultMutationOptions(a),ko(this.options,r)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#a,observer:this}),r?.mutationKey&&this.options.mutationKey&&fr(r.mutationKey)!==fr(this.options.mutationKey)?this.reset():this.#a?.state.status==="pending"&&this.#a.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#a&&(this.#a.addObserver(this),this.#r())}onUnsubscribe(){this.hasListeners()||this.#a?.removeObserver(this)}onMutationUpdate(a){this.#r(),this.#n(a)}getCurrentResult(){return this.#e}reset(){this.#a?.removeObserver(this),this.#a=void 0,this.#r(),this.#n()}mutate(a,r){return this.#i=r,this.#a?.removeObserver(this),this.#a=this.#t.getMutationCache().build(this.#t,this.options),this.#a.addObserver(this),this.#a.execute(a)}#r(){const a=this.#a?.state??Cw();this.#e={...a,isPending:a.status==="pending",isSuccess:a.status==="success",isError:a.status==="error",isIdle:a.status==="idle",mutate:this.mutate,reset:this.reset}}#n(a){pt.batch(()=>{if(this.#i&&this.hasListeners()){const r=this.#e.variables,s=this.#e.context,l={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(a?.type==="success"){try{this.#i.onSuccess?.(a.data,r,s,l)}catch(d){Promise.reject(d)}try{this.#i.onSettled?.(a.data,null,r,s,l)}catch(d){Promise.reject(d)}}else if(a?.type==="error"){try{this.#i.onError?.(a.error,r,s,l)}catch(d){Promise.reject(d)}try{this.#i.onSettled?.(void 0,a.error,r,s,l)}catch(d){Promise.reject(d)}}}this.listeners.forEach(r=>{r(this.#e)})})}};function u0(e,a){const r=new Set(a);return e.filter(s=>!r.has(s))}var hA=class extends rn{#t;#e;#a;#i;#r;#n;#s;#l;#o;#p=[];constructor(e,a,r){super(),this.#t=e,this.#i=r,this.#a=[],this.#r=[],this.#e=[],this.setQueries(a)}onSubscribe(){this.listeners.size===1&&this.#r.forEach(e=>{e.subscribe(a=>{this.#h(e,a)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#r.forEach(e=>{e.destroy()})}setQueries(e,a){this.#a=e,this.#i=a,pt.batch(()=>{const r=this.#r,s=this.#f(this.#a);s.forEach(v=>v.observer.setOptions(v.defaultedQueryOptions));const l=s.map(v=>v.observer),d=l.map(v=>v.getCurrentResult()),u=r.length!==l.length,p=l.some((v,y)=>v!==r[y]),m=u||p,g=m?!0:d.some((v,y)=>{const S=this.#e[y];return!S||!ko(v,S)});!m&&!g||(m&&(this.#p=s,this.#r=l),this.#e=d,this.hasListeners()&&(m&&(u0(r,l).forEach(v=>{v.destroy()}),u0(l,r).forEach(v=>{v.subscribe(y=>{this.#h(v,y)})})),this.#m()))})}getCurrentResult(){return this.#e}getQueries(){return this.#r.map(e=>e.getCurrentQuery())}getObservers(){return this.#r}getOptimisticResult(e,a){const r=this.#f(e),s=r.map(d=>d.observer.getOptimisticResult(d.defaultedQueryOptions)),l=r.map(d=>d.defaultedQueryOptions.queryHash);return[s,d=>this.#d(d??s,a,l),()=>this.#c(s,r)]}#c(e,a){const r=new Set;return a.map((s,l)=>{const d=e[l];return s.defaultedQueryOptions.notifyOnChangeProps?d:s.observer.trackResult(d,u=>{r.has(u)||(r.add(u),a.forEach(p=>{p.observer.trackProp(u)}))})})}#d(e,a,r){if(a){const s=this.#o,l=r!==void 0&&s!==void 0&&(s.length!==r.length||r.some((d,u)=>d!==s[u]));return(this.#e!==this.#l||l||a!==this.#s)&&(this.#s=a,this.#l=this.#e,r!==void 0&&(this.#o=r),this.#n=df(this.#n,a(e))),this.#n}return e}#u(){return!this.#i?.combine||this.#r.some((e,a)=>e.options.suspense&&this.#e[a]?.data===void 0)}#f(e){const a=new Map;this.#r.forEach(s=>{const l=s.options.queryHash;if(!l)return;const d=a.get(l);d?d.push(s):a.set(l,[s])});const r=[];return e.forEach(s=>{const l=this.#t.defaultQueryOptions(s),d=a.get(l.queryHash)?.shift()??new qo(this.#t,l);r.push({defaultedQueryOptions:l,observer:d})}),r}#h(e,a){const r=this.#r.indexOf(e);r!==-1&&(this.#e=this.#e.slice(),this.#e[r]=a,this.#m())}
17#m(){if(this.hasListeners()){const e=this.#u(),a=this.#n,r=e?a:this.#d(this.#c(this.#e,this.#p),this.#i?.combine);(e||a!==r)&&pt.batch(()=>{this.listeners.forEach(s=>{s(this.#e)})})}}},pA=class extends rn{#t;constructor(e={}){super(),this.config=e,this.#t=new Map}build(e,a,r){const s=a.queryKey,l=a.queryHash??cf(s,a);let d=this.get(l);return d||(d=new oA({client:e,queryKey:s,queryHash:l,options:e.defaultQueryOptions(a),state:r,defaultOptions:e.getQueryDefaults(s)}),this.add(d)),d}add(e){this.#t.has(e.queryHash)||(this.#t.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const a=this.#t.get(e.queryHash);a&&(e.destroy(),a===e&&this.#t.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){pt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#t.get(e)}getAll(){return[...this.#t.values()]}find(e){const a={exact:!0,...e};return this.getAll().find(r=>i0(a,r))}findAll(e={}){const a=this.getAll();return Object.keys(e).length>0?a.filter(r=>i0(e,r)):a}notify(e){pt.batch(()=>{this.listeners.forEach(a=>{a(e)})})}onFocus(){pt.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){pt.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},fA=class{#t;#e;#a;#i;#r;#n;#s;#l;constructor(e={}){this.#t=e.queryCache||new pA,this.#e=e.mutationCache||new dA,this.#a=e.defaultOptions||{},this.#i=new Map,this.#r=new Map,this.#n=0}mount(){this.#n++,this.#n===1&&(this.#s=pf.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#l=_c.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#n--,this.#n===0&&(this.#s?.(),this.#s=void 0,this.#l?.(),this.#l=void 0)}isFetching(e){return this.#t.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#e.findAll({...e,status:"pending"}).length}getQueryData(e){const a=this.defaultQueryOptions({queryKey:e});return this.#t.get(a.queryHash)?.state.data}ensureQueryData(e){const a=this.defaultQueryOptions(e),r=this.#t.build(this,a),s=r.state.data;return s===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(ht(a.staleTime,r))&&this.prefetchQuery(a),Promise.resolve(s))}getQueriesData(e){return this.#t.findAll(e).map(({queryKey:a,state:r})=>[a,r.data])}setQueryData(e,a,r){const s=this.defaultQueryOptions({queryKey:e}),l=this.#t.get(s.queryHash)?.state.data,d=$5(a,l);if(d!==void 0)return this.#t.build(this,s).setData(d,{...r,manual:!0})}setQueriesData(e,a,r){return pt.batch(()=>this.#t.findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,a,r)]))}getQueryState(e){const a=this.defaultQueryOptions({queryKey:e});return this.#t.get(a.queryHash)?.state}removeQueries(e){const a=this.#t;pt.batch(()=>{a.findAll(e).forEach(r=>{a.remove(r)})})}resetQueries(e,a){const r=this.#t;return pt.batch(()=>{const s=r.findAll(e),l=new Set(s);return s.forEach(d=>{d.reset()}),this.refetchQueries({type:"active",predicate:d=>l.has(d)},a)})}cancelQueries(e,a={}){const r={revert:!0,...a},s=pt.batch(()=>this.#t.findAll(e).map(l=>l.cancel(r)));return Promise.all(s).then(Ct).catch(Ct)}invalidateQueries(e,a={}){return pt.batch(()=>(this.#t.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},a)))}refetchQueries(e,a={}){const r={...a,cancelRefetch:a.cancelRefetch??!0},s=pt.batch(()=>this.#t.findAll(e).filter(l=>!l.isDisabled()&&!l.isStatic()).map(l=>{let d=l.fetch(void 0,r);return r.throwOnError||(d=d.catch(Ct)),l.state.fetchStatus==="paused"?Promise.resolve():d}));return Promise.all(s).then(Ct)}async query(e){const a=this.defaultQueryOptions(e);a.retry===void 0&&(a.retry=!1);const r=this.#t.build(this,a),s=r.isStaleByTime(ht(a.staleTime,r))?await r.fetch(a):r.state.data,l=a.select;return l?l(s):s}fetchQuery(e){const a=this.defaultQueryOptions(e);a.retry===void 0&&(a.retry=!1);const r=this.#t.build(this,a);return r.isStaleByTime(ht(a.staleTime,r))?r.fetch(a):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ct).catch(Ct)}infiniteQuery(e){return e._type="infinite",this.query(e)}
17fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ct).catch(Ct)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return _c.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#a}setDefaultOptions(e){this.#a=e}setQueryDefaults(e,a){this.#i.set(fr(e),{queryKey:e,defaultOptions:a})}getQueryDefaults(e){const a=[...this.#i.values()],r={};return a.forEach(s=>{ds(e,s.queryKey)&&Object.assign(r,s.defaultOptions)}),r}setMutationDefaults(e,a){this.#r.set(fr(e),{mutationKey:e,defaultOptions:a})}getMutationDefaults(e){const a=[...this.#r.values()],r={};return a.forEach(s=>{ds(e,s.mutationKey)&&Object.assign(r,s.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;const a={...this.#a.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return a.queryHash||(a.queryHash=cf(a.queryKey,a)),a.refetchOnReconnect===void 0&&(a.refetchOnReconnect=a.networkMode!=="always"),a.throwOnError===void 0&&(a.throwOnError=!!a.suspense),!a.networkMode&&a.persister&&(a.networkMode="offlineFirst"),a.queryFn===ga&&(a.enabled=!1),a}defaultMutationOptions(e){return e?._defaulted?e:{...this.#a.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}};const Rw=w.createContext(!1),jw=()=>w.useContext(Rw);Rw.Provider;function mA(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const gA=w.createContext(mA()),Pw=()=>w.useContext(gA),Iw=(e,a,r)=>{const s=r?.state.error&&typeof e.throwOnError=="function"?uf(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||s)&&(a.isReset()||(e.retryOnMount=!1))},Mw=e=>{w.useEffect(()=>{e.clearReset()},[e])},Lw=({result:e,errorResetBoundary:a,throwOnError:r,query:s,suspense:l})=>e.isError&&!a.isReset()&&!e.isFetching&&s&&(l&&e.data===void 0||uf(r,[e.error,s])),mf=(e,a)=>a.state.data===void 0,_w=e=>{if(e.suspense){const r=l=>l==="static"?l:Math.max(l??1e3,1e3),s=e.staleTime;e.staleTime=typeof s=="function"?(...l)=>r(s(...l)):r(s),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},bp=(e,a)=>e?.suspense&&a.isPending,Hw=(e,a,r)=>a.fetchOptimistic(e).catch(()=>{r.clearReset()});function zw({queries:e,...a},r){const s=Uo(r),l=jw(),d=Pw(),u=a.subscribed!==!1,p=w.useMemo(()=>e.map(x=>{const k=s.defaultQueryOptions(x);return k._optimisticResults=l?"isRestoring":u?"optimistic":void 0,k}),[e,s,l,u]);p.forEach(x=>{_w(x);const k=s.getQueryCache().get(x.queryHash);Iw(x,d,k)}),Mw(d);const[m]=w.useState(()=>new hA(s,p,a)),[g,v,y]=m.getOptimisticResult(p,a.combine),S=!l&&u;w.useSyncExternalStore(w.useCallback(x=>S?m.subscribe(pt.batchCalls(x)):Ct,[m,S]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),w.useEffect(()=>{m.setQueries(p,a)},[p,a,m]);const E=g.some((x,k)=>bp(p[k],x))?g.flatMap((x,k)=>{const C=p[k];if(C&&bp(C,x)){const I=new qo(s,C);return Hw(C,I,d)}return[]}):[];if(E.length>0)throw Promise.all(E);const N=g.find((x,k)=>{const C=p[k];return C&&Lw({result:x,errorResetBoundary:d,throwOnError:C.throwOnError,query:s.getQueryCache().get(C.queryHash),suspense:C.suspense})});if(N)throw N.error;return v(y())}function Xc(e,a,r){const s=jw(),l=Pw(),d=Uo(r),u=d.defaultQueryOptions(e),p=d.getQueryCache().get(u.queryHash),m=e.subscribed!==!1;u._optimisticResults=s?"isRestoring":m?"optimistic":void 0,_w(u),Iw(u,l,p),Mw(l);const[g]=w.useState(()=>new a(d,u)),v=g.getOptimisticResult(u),y=!s&&m;if(w.useSyncExternalStore(w.useCallback(S=>{const E=y?g.subscribe(pt.batchCalls(S)):Ct;return g.updateResult(),E},[g,y]),()=>g.getCurrentResult(),()=>g.getCurrentResult()),w.useEffect(()=>{g.setOptions(u)},[u,g]),bp(u,v))throw Hw(u,g,l);if(Lw({result:v,errorResetBoundary:l,throwOnError:u.throwOnError,query:p,suspense:u.suspense}))throw v.error;return u.notifyOnChangeProps?v:g.trackResult(v)}function yA(e,a){return Xc(e,qo,a)}function bA(e,a){return Xc({...e,enabled:!0,suspense:!0,throwOnError:mf,placeholderData:void 0},qo,a)}function vA(e,a){return Xc({...e,enabled:!0,suspense:!0,throwOnError:mf,placeholderData:void 0},Tw,a)}function wA(e,a){return zw({...e,queries:e.queries.map(r=>({...r,suspense:!0,throwOnError:mf,enabled:!0,placeholderData:void 0}))},a)}function xA(e,a){const r=Uo(a);r.getQueryState(e.queryKey)||r.query(e).catch(Ct)}function SA(e,a){const r=Uo(a);r.getQueryState(e.queryKey)||r.infiniteQuery(e).catch(Ct)}function AA(e,a){const r=Uo(a),[s]=w.useState(()=>new uA(r,e));w.useEffect(()=>{s.setOptions(e)},[s,e]);const l=w.useSyncExternalStore(w.useCallback(u=>s.subscribe(pt.batchCalls(u)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),d=w.useCallback((...u)=>{s.mutate(u[0],u[1]).catch(Ct)},[s]);if(l.error&&uf(s.options.throwOnError,[l.error]))throw l.error;return{...l,mutate:d,mutateAsync:l.mutate}}function EA(e,a){return Xc(e,Tw,a)}var NA=Object.create,Dw=Object.defineProperty,kA=Object.getOwnPropertyDescriptor,Bw=Object.getOwnPropertyNames,OA=Object.getPrototypeOf,TA=Object.prototype.hasOwnProperty,si=(e,a)=>function(){return a||(0,e[Bw(e)[0]])((a={exports:{}}).exports,a),a.exports},CA=(e,a,r,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(var l=Bw(a),d=0,u=l.length,p;d<u;d++)p=l[d],!TA.call(e,p)&&p!==r&&Dw(e,p,{get:(m=>a[m]).bind(null,p),enumerable:!(s=kA(a,p))||s.enumerable});return e},gt=(e,a,r)=>(r=e!=null?NA(OA(e)):{},CA(a||!e||!e.__esModule?Dw(r,"default",{value:e,enumerable:!0}):r,e)),Uw=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,a){function r(s){"@babel/helpers - typeof";return a.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},a.exports.__esModule=!0,a.exports.default=a.exports,r(s)}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}
17),RA=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,a){var r=Uw().default;function s(l,d){if(r(l)!="object"||!l)return l;var u=l[Symbol.toPrimitive];if(u!==void 0){var p=u.call(l,d||"default");if(r(p)!="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(l)}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),jA=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,a){var r=Uw().default,s=RA();function l(d){var u=s(d,"string");return r(u)=="symbol"?u:u+""}a.exports=l,a.exports.__esModule=!0,a.exports.default=a.exports}}),nn=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(e,a){var r=jA();function s(l,d,u){return(d=r(d))in l?Object.defineProperty(l,d,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[d]=u,l}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),qa=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,a){var r=nn();function s(d,u){var p=Object.keys(d);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(d);u&&(m=m.filter(function(g){return Object.getOwnPropertyDescriptor(d,g).enumerable})),p.push.apply(p,m)}return p}function l(d){for(var u=1;u<arguments.length;u++){var p=arguments[u]!=null?arguments[u]:{};u%2?s(Object(p),!0).forEach(function(m){r(d,m,p[m])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):s(Object(p)).forEach(function(m){Object.defineProperty(d,m,Object.getOwnPropertyDescriptor(p,m))})}return d}a.exports=l,a.exports.__esModule=!0,a.exports.default=a.exports}});function Jc(e){const a={subscribe(r){let s=null,l=!1,d=!1,u=!1;function p(){if(s===null){u=!0;return}d||(d=!0,typeof s=="function"?s():s&&s.unsubscribe())}return s=e({next(m){var g;l||(g=r.next)===null||g===void 0||g.call(r,m)},error(m){var g;l||(l=!0,(g=r.error)===null||g===void 0||g.call(r,m),p())},complete(){var m;l||(l=!0,(m=r.complete)===null||m===void 0||m.call(r),p())}}),u&&p(),{unsubscribe:p}},pipe(...r){return r.reduce(PA,a)}};return a}function PA(e,a){return a(e)}function IA(e){const a=new AbortController;return new Promise((s,l)=>{let d=!1;function u(){d||(d=!0,p.unsubscribe())}a.signal.addEventListener("abort",()=>{l(a.signal.reason)});const p=e.subscribe({next(m){d=!0,s(m),u()},error(m){l(m)},complete(){a.abort(),u()}})})}function MA(e){return a=>{let r=0,s=null;const l=[];function d(){s||(s=a.subscribe({next(p){for(const g of l){var m;(m=g.next)===null||m===void 0||m.call(g,p)}},error(p){for(const g of l){var m;(m=g.error)===null||m===void 0||m.call(g,p)}},complete(){for(const m of l){var p;(p=m.complete)===null||p===void 0||p.call(m)}}}))}function u(){if(r===0&&s){const p=s;s=null,p.unsubscribe()}}return Jc(p=>(r++,l.push(p),d(),{unsubscribe(){r--,u();const m=l.findIndex(g=>g===p);m>-1&&l.splice(m,1)}}))}}function LA(e){let a=e;const r=[],s=u=>{a!==void 0&&u.next(a),r.push(u)},l=u=>{r.splice(r.indexOf(u),1)},d=Jc(u=>(s(u),()=>{l(u)}));return d.next=u=>{if(a!==u){a=u;for(const p of r)p.next(u)}},d.get=()=>a,d}function _A(e){return Jc(a=>{function r(l=0,d=e.op){const u=e.links[l];if(!u)throw new Error("No more links to execute - did you forget to add an ending link?");return u({op:d,next(m){return r(l+1,m)}})}return r().subscribe(a)})}function Kr(e){return!!e&&!Array.isArray(e)&&typeof e=="object"}function HA(){return Object.create(null)}const zA=typeof Symbol=="function"&&!!Symbol.asyncIterator;function qw(e){return zA&&Kr(e)&&Symbol.asyncIterator in e}var DA=Object.create,Gw=Object.defineProperty,BA=Object.getOwnPropertyDescriptor,Ww=Object.getOwnPropertyNames,UA=Object.getPrototypeOf,qA=Object.prototype.hasOwnProperty,Go=(e,a)=>function(){return a||(0,e[Ww(e)[0]])((a={exports:{}}).exports,a),a.exports},GA=(e,a,r,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(var l=Ww(a),d=0,u=l.length,p;d<u;d++)p=l[d],!qA.call(e,p)&&p!==r&&Gw(e,p,{get:(m=>a[m]).bind(null,p),enumerable:!(s=BA(a,p))||s.enumerable});return e},ed=(e,a,r)=>(r=e!=null?DA(UA(e)):{},GA(Gw(r,"default",{value:e,enumerable:!0}),e));const Yw=()=>{},h0=e=>{Object.freeze&&Object.freeze(e)};function $w(e,a,r){var s;const l=a.join(".");return(s=r[l])!==null&&s!==void 0||(r[l]=new Proxy(Yw,{get(d,u){if(!(typeof u!="string"||u==="then"))return $w(e,[...a,u],r)},apply(d,u,p){const m=a[a.length-1];if(m==="valueOf"||m==="toString"||m==="toJSON")return`tRPC.proxy(${a.slice(0,-1).join(".")})`;let g={args:p,path:a};return m==="call"?g={args:p.length>=2?[p[1]]:[],path:a.slice(0,-1)}:m==="apply"&&(g={args:p.length>=2?p[1]:[],path:a.slice(0,-1)}),h0(g.args),h0(g.path),e(g)}})),r[l]}const td=e=>$w(e,[],HA()),gf=e=>new Proxy(Yw,{get(a,r){if(r!=="then")return e(r)}});var Fw=Go({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,a){function r(s){"@babel/helpers - typeof";return a.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},a.exports.__esModule=!0,a.exports.default=a.exports,r(s)}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}),WA=Go({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,a){var r=Fw().default;function s(l,d){if(r(l)!="object"||!l)return l;var u=l[Symbol.toPrimitive];if(u!==void 0){var p=u.call(l,d||"default");if(r(p)!="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}
17return(d==="string"?String:Number)(l)}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),YA=Go({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,a){var r=Fw().default,s=WA();function l(d){var u=s(d,"string");return r(u)=="symbol"?u:u+""}a.exports=l,a.exports.__esModule=!0,a.exports.default=a.exports}}),Kw=Go({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(e,a){var r=YA();function s(l,d,u){return(d=r(d))in l?Object.defineProperty(l,d,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[d]=u,l}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),yf=Go({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,a){var r=Kw();function s(d,u){var p=Object.keys(d);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(d);u&&(m=m.filter(function(g){return Object.getOwnPropertyDescriptor(d,g).enumerable})),p.push.apply(p,m)}return p}function l(d){for(var u=1;u<arguments.length;u++){var p=arguments[u]!=null?arguments[u]:{};u%2?s(Object(p),!0).forEach(function(m){r(d,m,p[m])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):s(Object(p)).forEach(function(m){Object.defineProperty(d,m,Object.getOwnPropertyDescriptor(p,m))})}return d}a.exports=l,a.exports.__esModule=!0,a.exports.default=a.exports}});ed(yf());ed(Kw());var pc=ed(yf());function $A(e,a){if("error"in e){const s=a.deserialize(e.error);return{ok:!1,error:(0,pc.default)((0,pc.default)({},e),{},{error:s})}}return{ok:!0,result:(0,pc.default)((0,pc.default)({},e.result),(!e.result.type||e.result.type==="data")&&{type:"data",data:a.deserialize(e.result.data)})}}var Dh=class extends Error{constructor(){super("Unable to transform response from server")}};function FA(e,a){let r;try{r=$A(e,a)}catch{throw new Dh}if(!r.ok&&(!Kr(r.error.error)||typeof r.error.error.code!="number"))throw new Dh;if(r.ok&&!Kr(r.result))throw new Dh;return r}ed(yf());var fc=gt(nn(),1),Zn=gt(qa(),1);function KA(e){return e instanceof Ro}function VA(e){return Kr(e)&&Kr(e.error)&&typeof e.error.code=="number"&&typeof e.error.message=="string"}function ZA(e,a){return typeof e=="string"?e:Kr(e)&&typeof e.message=="string"?e.message:a}var Ro=class Rc extends Error{constructor(a,r){var s,l;const d=r?.cause;super(a,{cause:d}),(0,fc.default)(this,"cause",void 0),(0,fc.default)(this,"shape",void 0),(0,fc.default)(this,"data",void 0),(0,fc.default)(this,"meta",void 0),this.meta=r?.meta,this.cause=d,this.shape=r==null||(s=r.result)===null||s===void 0?void 0:s.error,this.data=r==null||(l=r.result)===null||l===void 0?void 0:l.error.data,this.name="TRPCClientError",Object.setPrototypeOf(this,Rc.prototype)}static from(a,r={}){const s=a;return KA(s)?(r.meta&&(s.meta=(0,Zn.default)((0,Zn.default)({},s.meta),r.meta)),s):VA(s)?new Rc(s.error.message,(0,Zn.default)((0,Zn.default)({},r),{},{result:s,cause:r.cause})):new Rc(ZA(s,"Unknown error"),(0,Zn.default)((0,Zn.default)({},r),{},{cause:s}))}};function QA(e){const a=e;return a?"input"in a?a:{input:a,output:a}:{input:{serialize:r=>r,deserialize:r=>r},output:{serialize:r=>r,deserialize:r=>r}}}const p0=e=>typeof e=="function";function XA(e){if(e)return e;if(typeof window<"u"&&p0(window.fetch))return window.fetch;if(typeof globalThis<"u"&&p0(globalThis.fetch))return globalThis.fetch;throw new Error("No fetch implementation found")}var Oo=gt(qa());function JA(e){return{url:e.url.toString(),fetch:e.fetch,transformer:QA(e.transformer),methodOverride:e.methodOverride}}function e3(e){const a={};for(let r=0;r<e.length;r++){const s=e[r];a[r]=s}return a}const t3={query:"GET",mutation:"POST",subscription:"PATCH"};function Vw(e){return"input"in e?e.transformer.input.serialize(e.input):e3(e.inputs.map(a=>e.transformer.input.serialize(a)))}const Zw=e=>{const a=e.url.split("?");let s=a[0].replace(/\/$/,"")+"/"+e.path;const l=[];if(a[1]&&l.push(a[1]),"inputs"in e&&l.push("batch=1"),e.type==="query"||e.type==="subscription"){const d=Vw(e);d!==void 0&&e.methodOverride!=="POST"&&l.push(`input=${encodeURIComponent(JSON.stringify(d))}`)}return l.length&&(s+="?"+l.join("&")),s},a3=e=>{if(e.type==="query"&&e.methodOverride!=="POST")return;const a=Vw(e);return a!==void 0?JSON.stringify(a):void 0},i3=e=>o3((0,Oo.default)((0,Oo.default)({},e),{},{contentTypeHeader:"application/json",getUrl:Zw,getBody:a3}));
17var r3=class extends Error{constructor(){const e="AbortError";super(e),this.name=e,this.message=e}};const n3=e=>{var a;if(e?.aborted)throw(a=e.throwIfAborted)===null||a===void 0||a.call(e),typeof DOMException<"u"?new DOMException("AbortError","AbortError"):new r3};async function s3(e){var a,r;n3(e.signal);const s=e.getUrl(e),l=e.getBody(e),d=(a=e.methodOverride)!==null&&a!==void 0?a:t3[e.type],u=await(async()=>{const m=await e.headers();return Symbol.iterator in m?Object.fromEntries(m):m})(),p=(0,Oo.default)((0,Oo.default)((0,Oo.default)({},e.contentTypeHeader&&d!=="GET"?{"content-type":e.contentTypeHeader}:{}),e.trpcAcceptHeader?{[(r=e.trpcAcceptHeaderKey)!==null&&r!==void 0?r:"trpc-accept"]:e.trpcAcceptHeader}:void 0),u);return XA(e.fetch)(s,{method:d,signal:e.signal,body:l,headers:p})}async function o3(e){const a={},r=await s3(e);a.response=r;const s=await r.json();return a.responseJSON=s,{json:s,meta:a}}gt(qa(),1);const f0=()=>{throw new Error("Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new")};function m0(e){let a=null,r=null;const s=()=>{clearTimeout(r),r=null,a=null};function l(p){const m=[[]];let g=0;for(;;){const S=p[g];if(!S)break;const E=m[m.length-1];if(S.aborted){var v;(v=S.reject)===null||v===void 0||v.call(S,new Error("Aborted")),g++;continue}if(e.validate(E.concat(S).map(x=>x.key))){E.push(S),g++;continue}if(E.length===0){var y;(y=S.reject)===null||y===void 0||y.call(S,new Error("Input is too big for a single dispatch")),g++;continue}m.push([])}return m}function d(){const p=l(a);s();for(const m of p){if(!m.length)continue;const g={items:m};for(const y of m)y.batch=g;e.fetch(g.items.map(y=>y.key)).then(async y=>{await Promise.all(y.map(async(E,N)=>{const x=g.items[N];try{var k;const I=await Promise.resolve(E);(k=x.resolve)===null||k===void 0||k.call(x,I)}catch(I){var C;(C=x.reject)===null||C===void 0||C.call(x,I)}x.batch=null,x.reject=null,x.resolve=null}));for(const E of g.items){var S;(S=E.reject)===null||S===void 0||S.call(E,new Error("Missing result")),E.batch=null}}).catch(y=>{for(const E of g.items){var S;(S=E.reject)===null||S===void 0||S.call(E,y),E.batch=null}})}}function u(p){var m;const g={aborted:!1,key:p,batch:null,resolve:f0,reject:f0},v=new Promise((y,S)=>{var E;g.reject=S,g.resolve=y,(E=a)!==null&&E!==void 0||(a=[]),a.push(g)});return(m=r)!==null&&m!==void 0||(r=setTimeout(d)),v}return{load:u}}function l3(...e){const a=new AbortController,r=e.length;let s=0;const l=()=>{++s===r&&a.abort()};for(const d of e)d?.aborted?l():d?.addEventListener("abort",l,{once:!0});return a.signal}var mc=gt(qa(),1);function c3(e){var a,r;const s=JA(e),l=(a=e.maxURLLength)!==null&&a!==void 0?a:1/0,d=(r=e.maxItems)!==null&&r!==void 0?r:1/0;return()=>{const u=v=>({validate(y){if(l===1/0&&d===1/0)return!0;if(y.length>d)return!1;const S=y.map(x=>x.path).join(","),E=y.map(x=>x.input);return Zw((0,mc.default)((0,mc.default)({},s),{},{type:v,path:S,inputs:E,signal:null})).length<=l},async fetch(y){const S=y.map(I=>I.path).join(","),E=y.map(I=>I.input),N=l3(...y.map(I=>I.signal)),x=await i3((0,mc.default)((0,mc.default)({},s),{},{path:S,inputs:E,type:v,headers(){return e.headers?typeof e.headers=="function"?e.headers({opList:y}):e.headers:{}},signal:N}));return(Array.isArray(x.json)?x.json:y.map(()=>x.json)).map(I=>({meta:x.meta,json:I}))}}),p=m0(u("query")),m=m0(u("mutation")),g={query:p,mutation:m};return({op:v})=>Jc(y=>{/* istanbul ignore if -- @preserve */if(v.type==="subscription")throw new Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");const E=g[v.type].load(v);let N;return E.then(x=>{N=x;const k=FA(x.json,s.transformer.output);if(!k.ok){y.error(Ro.from(k.error,{meta:x.meta}));return}y.next({context:x.meta,result:k.result}),y.complete()}).catch(x=>{y.error(Ro.from(x,{meta:N?.meta}))}),()=>{}})}}gt(qa(),1);const Qw=(e,...a)=>typeof e=="function"?e(...a):e;gt(nn(),1);function d3(){let e,a;return{promise:new Promise((s,l)=>{e=s,a=l}),resolve:e,reject:a}}async function u3(e){const a=await Qw(e.url);if(!e.connectionParams)return a;const s=`${a.includes("?")?"&":"?"}connectionParams=1`;return a+s}async function h3(e,a){const r={method:"connectionParams",data:await Qw(e)};return a.encode(r)}
17gt(nn(),1);var dr=gt(nn(),1);function p3(e){const{promise:a,resolve:r,reject:s}=d3();return e.addEventListener("open",()=>{e.removeEventListener("error",s),r()}),e.addEventListener("error",s),a}function f3(e,{intervalMs:a,pongTimeoutMs:r}){let s,l;function d(){s=setTimeout(()=>{e.send("PING"),l=setTimeout(()=>{e.close()},r)},a)}function u(){clearTimeout(s),d()}function p(){clearTimeout(l),u()}e.addEventListener("open",d),e.addEventListener("message",({data:m})=>{clearTimeout(s),d(),m==="PONG"&&p()}),e.addEventListener("close",()=>{clearTimeout(s),clearTimeout(l)})}var m3=class vp{constructor(a){var r;if((0,dr.default)(this,"id",++vp.connectCount),(0,dr.default)(this,"WebSocketPonyfill",void 0),(0,dr.default)(this,"urlOptions",void 0),(0,dr.default)(this,"keepAliveOpts",void 0),(0,dr.default)(this,"encoder",void 0),(0,dr.default)(this,"wsObservable",LA(null)),(0,dr.default)(this,"openPromise",null),this.WebSocketPonyfill=(r=a.WebSocketPonyfill)!==null&&r!==void 0?r:WebSocket,!this.WebSocketPonyfill)throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=a.urlOptions,this.keepAliveOpts=a.keepAlive,this.encoder=a.encoder}get ws(){return this.wsObservable.get()}set ws(a){this.wsObservable.next(a)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){var a=this;if(a.openPromise)return a.openPromise;a.id=++vp.connectCount;const r=u3(a.urlOptions).then(s=>new a.WebSocketPonyfill(s));a.openPromise=r.then(async s=>{a.ws=s,s.binaryType="arraybuffer",s.addEventListener("message",function({data:l}){l==="PING"&&this.send("PONG")}),a.keepAliveOpts.enabled&&f3(s,a.keepAliveOpts),s.addEventListener("close",()=>{a.ws===s&&(a.ws=null)}),await p3(s),a.urlOptions.connectionParams&&s.send(await h3(a.urlOptions.connectionParams,a.encoder))});try{await a.openPromise}finally{a.openPromise=null}}async close(){var a=this;try{await a.openPromise}finally{var r;(r=a.ws)===null||r===void 0||r.close()}}};(0,dr.default)(m3,"connectCount",0);gt(nn(),1);gt(qa(),1);var Bh=gt(nn(),1),g0=gt(qa(),1),ad=class{constructor(e){(0,Bh.default)(this,"links",void 0),(0,Bh.default)(this,"runtime",void 0),(0,Bh.default)(this,"requestId",void 0),this.requestId=0,this.runtime={},this.links=e.links.map(a=>a(this.runtime))}$request(e){var a;return _A({links:this.links,op:(0,g0.default)((0,g0.default)({},e),{},{context:(a=e.context)!==null&&a!==void 0?a:{},id:++this.requestId})}).pipe(MA())}async requestAsPromise(e){var a=this;try{const r=a.$request(e);return(await IA(r)).result.data}catch(r){throw Ro.from(r)}}query(e,a,r){return this.requestAsPromise({type:"query",path:e,input:a,context:r?.context,signal:r?.signal})}mutation(e,a,r){return this.requestAsPromise({type:"mutation",path:e,input:a,context:r?.context,signal:r?.signal})}subscription(e,a,r){return this.$request({type:"subscription",path:e,input:a,context:r.context,signal:r.signal}).subscribe({next(l){switch(l.result.type){case"state":{var d;(d=r.onConnectionStateChange)===null||d===void 0||d.call(r,l.result);break}case"started":{var u;(u=r.onStarted)===null||u===void 0||u.call(r,{context:l.context});break}case"stopped":{var p;(p=r.onStopped)===null||p===void 0||p.call(r);break}case"data":case void 0:{var m;(m=r.onData)===null||m===void 0||m.call(r,l.result.data);break}}},error(l){var d;(d=r.onError)===null||d===void 0||d.call(r,l)},complete(){var l;(l=r.onComplete)===null||l===void 0||l.call(r)}})}};const Xw=Symbol.for("trpc_untypedClient"),g3={query:"query",mutate:"mutation",subscribe:"subscription"},y3=e=>g3[e];function Jw(e){const a=td(({path:r,args:s})=>{const l=[...r],d=y3(l.pop()),u=l.join(".");return e[d](u,...s)});return gf(r=>r===Xw?e:a[r])}function b3(e){const a=new ad(e);return Jw(a)}function bf(e){return e[Xw]}gt(qa(),1);gt(qa(),1);var v3=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(e,a){function r(l){var d,u,p,m=2;for(typeof Symbol<"u"&&(u=Symbol.asyncIterator,p=Symbol.iterator);m--;){if(u&&(d=l[u])!=null)return d.call(l);
17if(p&&(d=l[p])!=null)return new s(d.call(l));u="@@asyncIterator",p="@@iterator"}throw new TypeError("Object is not async iterable")}function s(l){function d(u){if(Object(u)!==u)return Promise.reject(new TypeError(u+" is not an object."));var p=u.done;return Promise.resolve(u.value).then(function(m){return{value:m,done:p}})}return s=function(p){this.s=p,this.n=p.next},s.prototype={s:null,n:null,next:function(){return d(this.n.apply(this.s,arguments))},return:function(p){var m=this.s.return;return m===void 0?Promise.resolve({value:p,done:!0}):d(m.apply(this.s,arguments))},throw:function(p){var m=this.s.return;return m===void 0?Promise.reject(p):d(m.apply(this.s,arguments))}},new s(l)}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}});gt(v3(),1);gt(qa(),1);var w3=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(e,a){function r(){var s=typeof SuppressedError=="function"?SuppressedError:function(p,m){var g=Error();return g.name="SuppressedError",g.error=p,g.suppressed=m,g},l={},d=[];function u(p,m){if(m!=null){if(Object(m)!==m)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(p)var g=m[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(g===void 0&&(g=m[Symbol.dispose||Symbol.for("Symbol.dispose")],p))var v=g;if(typeof g!="function")throw new TypeError("Object is not disposable.");v&&(g=function(){try{v.call(m)}catch(S){return Promise.reject(S)}}),d.push({v:m,d:g,a:p})}else p&&d.push({d:m,a:p});return m}return{e:l,u:u.bind(null,!1),a:u.bind(null,!0),d:function(){var m,g=this.e,v=0;function y(){for(;m=d.pop();)try{if(!m.a&&v===1)return v=0,d.push(m),Promise.resolve().then(y);if(m.d){var E=m.d.call(m.v);if(m.a)return v|=2,Promise.resolve(E).then(y,S)}else v|=1}catch(N){return S(N)}if(v===1)return g!==l?Promise.reject(g):Promise.resolve();if(g!==l)throw g}function S(E){return g=g!==l?new s(E,g):E,y()}return y()}}}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}),ex=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(e,a){function r(s,l){this.v=s,this.k=l}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}),x3=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(e,a){var r=ex();function s(l){return new r(l,0)}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),S3=si({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(e,a){var r=ex();function s(d){return function(){return new l(d.apply(this,arguments))}}function l(d){var u,p;function m(v,y){try{var S=d[v](y),E=S.value,N=E instanceof r;Promise.resolve(N?E.v:E).then(function(x){if(N){var k=v==="return"?"return":"next";if(!E.k||x.done)return m(k,x);x=d[k](x).value}g(S.done?"return":"normal",x)},function(x){m("throw",x)})}catch(x){g("throw",x)}}function g(v,y){switch(v){case"return":u.resolve({value:y,done:!0});break;case"throw":u.reject(y);break;default:u.resolve({value:y,done:!1})}(u=u.next)?m(u.key,u.arg):p=null}this._invoke=function(v,y){return new Promise(function(S,E){var N={key:v,arg:y,resolve:S,reject:E,next:null};p?p=p.next=N:(u=p=N,m(v,y))})},typeof d.return!="function"&&(this.return=void 0)}l.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},l.prototype.next=function(d){return this._invoke("next",d)},l.prototype.throw=function(d){return this._invoke("throw",d)},l.prototype.return=function(d){return this._invoke("return",d)},a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}});gt(w3(),1);gt(x3(),1);gt(S3(),1);gt(qa(),1);var Uh={exports:{}},xo={},qh={exports:{}},Gh={};/** 18 * @license React 19 * scheduler.production.js 20 * 21 * Copyright (c) Meta Platforms, Inc. and affiliates. 22 * 23 * This source code is licensed under the MIT license found in the 24 * LICENSE file in the root directory of this source tree. 25 */var y0;function A3(){return y0||(y0=1,(function(e){function a(O,D){var _=O.length;O.push(D);e:for(;0<_;){var ce=_-1>>>1,he=O[ce];if(0<l(he,D))O[ce]=D,O[_]=he,_=ce;else break e}}function r(O){return O.length===0?null:O[0]}function s(O){if(O.length===0)return null;var D=O[0],_=O.pop();if(_!==D){O[0]=_;e:for(var ce=0,he=O.length,T=he>>>1;ce<T;){var V=2*(ce+1)-1,W=O[V],Z=V+1,oe=O[Z];if(0>l(W,_))Z<he&&0>l(oe,W)?(O[ce]=oe,O[Z]=_,ce=Z):(O[ce]=W,O[V]=_,ce=V);else if(Z<he&&0>l(oe,_))O[ce]=oe,O[Z]=_,ce=Z;else break e}}return D}function l(O,D){var _=O.sortIndex-D.sortIndex;
vendor: 12,144 bytes, lines 25-43
25return _!==0?_:O.id-D.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;e.unstable_now=function(){return d.now()}}else{var u=Date,p=u.now();e.unstable_now=function(){return u.now()-p}}var m=[],g=[],v=1,y=null,S=3,E=!1,N=!1,x=!1,k=!1,C=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function Y(O){for(var D=r(g);D!==null;){if(D.callback===null)s(g);else if(D.startTime<=O)s(g),D.sortIndex=D.expirationTime,a(m,D);else break;D=r(g)}}function L(O){if(x=!1,Y(O),!N)if(r(m)!==null)N=!0,G||(G=!0,ie());else{var D=r(g);D!==null&&ne(L,D.startTime-O)}}var G=!1,j=-1,z=5,F=-1;function re(){return k?!0:!(e.unstable_now()-F<z)}function se(){if(k=!1,G){var O=e.unstable_now();F=O;var D=!0;try{e:{N=!1,x&&(x=!1,I(j),j=-1),E=!0;var _=S;try{t:{for(Y(O),y=r(m);y!==null&&!(y.expirationTime>O&&re());){var ce=y.callback;if(typeof ce=="function"){y.callback=null,S=y.priorityLevel;var he=ce(y.expirationTime<=O);if(O=e.unstable_now(),typeof he=="function"){y.callback=he,Y(O),D=!0;break t}y===r(m)&&s(m),Y(O)}else s(m);y=r(m)}if(y!==null)D=!0;else{var T=r(g);T!==null&&ne(L,T.startTime-O),D=!1}}break e}finally{y=null,S=_,E=!1}D=void 0}}finally{D?ie():G=!1}}}var ie;if(typeof M=="function")ie=function(){M(se)};else if(typeof MessageChannel<"u"){var te=new MessageChannel,U=te.port2;te.port1.onmessage=se,ie=function(){U.postMessage(null)}}else ie=function(){C(se,0)};function ne(O,D){j=C(function(){O(e.unstable_now())},D)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(O){O.callback=null},e.unstable_forceFrameRate=function(O){0>O||125<O?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):z=0<O?Math.floor(1e3/O):5},e.unstable_getCurrentPriorityLevel=function(){return S},e.unstable_next=function(O){switch(S){case 1:case 2:case 3:var D=3;break;default:D=S}var _=S;S=D;try{return O()}finally{S=_}},e.unstable_requestPaint=function(){k=!0},e.unstable_runWithPriority=function(O,D){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var _=S;S=O;try{return D()}finally{S=_}},e.unstable_scheduleCallback=function(O,D,_){var ce=e.unstable_now();switch(typeof _=="object"&&_!==null?(_=_.delay,_=typeof _=="number"&&0<_?ce+_:ce):_=ce,O){case 1:var he=-1;break;case 2:he=250;break;case 5:he=1073741823;break;case 4:he=1e4;break;default:he=5e3}return he=_+he,O={id:v++,callback:D,priorityLevel:O,startTime:_,expirationTime:he,sortIndex:-1},_>ce?(O.sortIndex=_,a(g,O),r(m)===null&&O===r(g)&&(x?(I(j),j=-1):x=!0,ne(L,_-ce))):(O.sortIndex=he,a(m,O),N||E||(N=!0,G||(G=!0,ie()))),O},e.unstable_shouldYield=re,e.unstable_wrapCallback=function(O){var D=S;return function(){var _=S;S=D;try{return O.apply(this,arguments)}finally{S=_}}}})(Gh)),Gh}var b0;function E3(){return b0||(b0=1,qh.exports=A3()),qh.exports}var Wh={exports:{}},Dt={};/** 26 * @license React 27 * react-dom.production.js 28 * 29 * Copyright (c) Meta Platforms, Inc. and affiliates. 30 * 31 * This source code is licensed under the MIT license found in the 32 * LICENSE file in the root directory of this source tree. 33 */var v0;function N3(){if(v0)return Dt;v0=1;var e=Zc();function a(m){var g="https://react.dev/errors/"+m;if(1<arguments.length){g+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)g+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+m+"; visit "+g+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var s={d:{f:r,r:function(){throw Error(a(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},l=Symbol.for("react.portal");function d(m,g,v){var y=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:l,key:y==null?null:""+y,children:m,containerInfo:g,implementation:v}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function p(m,g){if(m==="font")return"";if(typeof g=="string")return g==="use-credentials"?g:""}return Dt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,Dt.createPortal=function(m,g){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g||g.nodeType!==1&&g.nodeType!==9&&g.nodeType!==11)throw Error(a(299));return d(m,g,null,v)},Dt.flushSync=function(m){var g=u.T,v=s.p;try{if(u.T=null,s.p=2,m)return m()}finally{u.T=g,s.p=v,s.d.f()}},Dt.preconnect=function(m,g){typeof m=="string"&&(g?(g=g.crossOrigin,g=typeof g=="string"?g==="use-credentials"?g:"":void 0):g=null,s.d.C(m,g))},Dt.prefetchDNS=function(m){typeof m=="string"&&s.d.D(m)},Dt.preinit=function(m,g){if(typeof m=="string"&&g&&typeof g.as=="string"){var v=g.as,y=p(v,g.crossOrigin),S=typeof g.integrity=="string"?g.integrity:void 0,E=typeof g.fetchPriority=="string"?g.fetchPriority:void 0;v==="style"?s.d.S(m,typeof g.precedence=="string"?g.precedence:void 0,{crossOrigin:y,integrity:S,fetchPriority:E}):v==="script"&&s.d.X(m,{crossOrigin:y,integrity:S,fetchPriority:E,nonce:typeof g.nonce=="string"?g.nonce:void 0})}},Dt.preinitModule=function(m,g){if(typeof m=="string")if(typeof g=="object"&&g!==null){if(g.as==null||g.as==="script"){var v=p(g.as,g.crossOrigin);s.d.M(m,{crossOrigin:v,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0})}}else g==null&&s.d.M(m)},Dt.preload=function(m,g){if(typeof m=="string"&&typeof g=="object"&&g!==null&&typeof g.as=="string"){var v=g.as,y=p(v,g.crossOrigin);s.d.L(m,v,{crossOrigin:y,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0,type:typeof g.type=="string"?g.type:void 0,fetchPriority:typeof g.fetchPriority=="string"?g.fetchPriority:void 0,referrerPolicy:typeof g.referrerPolicy=="string"?g.referrerPolicy:void 0,imageSrcSet:typeof g.imageSrcSet=="string"?g.imageSrcSet:void 0,imageSizes:typeof g.imageSizes=="string"?g.imageSizes:void 0,media:typeof g.media=="string"?g.media:void 0})}},Dt.preloadModule=function(m,g){if(typeof m=="string")if(g){var v=p(g.as,g.crossOrigin);s.d.m(m,{as:typeof g.as=="string"&&g.as!=="script"?g.as:void 0,crossOrigin:v,integrity:typeof g.integrity=="string"?g.integrity:void 0})}else s.d.m(m)},Dt.requestFormReset=function(m){s.d.r(m)},Dt.unstable_batchedUpdates=function(m,g){return m(g)},Dt.useFormState=function(m,g,v){return u.H.useFormState(m,g,v)},Dt.useFormStatus=function(){return u.H.useHostTransitionStatus()},Dt.version="19.2.1",Dt}var w0;function tx(){if(w0)return Wh.exports;w0=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),Wh.exports=N3(),Wh.exports}/** 34 * @license React 35 * react-dom-client.production.js 36 * 37 * Copyright (c) Meta Platforms, Inc. and affiliates. 38 * 39 * This source code is licensed under the MIT license found in the 40 * LICENSE file in the root directory of this source tree. 41 */var x0;function k3(){if(x0)return xo;x0=1;var e=E3(),a=Zc(),r=tx();function s(t){var i="https://react.dev/errors/"+t;if(1<arguments.length){i+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)i+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+t+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function d(t){var i=t,n=t;if(t.alternate)for(;i.return;)i=i.return;else{t=i;do i=t,(i.flags&4098)!==0&&(n=i.return),t=i.return;while(t)}return i.tag===3?n:null}function u(t){if(t.tag===13){var i=t.memoizedState;if(i===null&&(t=t.alternate,t!==null&&(i=t.memoizedState)),i!==null)return i.dehydrated}return null}function p(t){if(t.tag===31){var i=t.memoizedState;if(i===null&&(t=t.alternate,t!==null&&(i=t.memoizedState)),i!==null)return i.dehydrated}return null}function m(t){if(d(t)!==t)throw Error(s(188))}function g(t){var i=t.alternate;if(!i){if(i=d(t),i===null)throw Error(s(188));return i!==t?null:t}for(var n=t,c=i;;){var h=n.return;if(h===null)break;var f=h.alternate;if(f===null){if(c=h.return,c!==null){n=c;continue}break}if(h.child===f.child){for(f=h.child;f;){if(f===n)return m(h),t;if(f===c)return m(h),i;f=f.sibling}throw Error(s(188))}if(n.return!==c.return)n=h,c=f;else{for(var b=!1,A=h.child;A;){if(A===n){b=!0,n=h,c=f;break}if(A===c){b=!0,c=h,n=f;break}A=A.sibling}if(!b){for(A=f.child;A;){if(A===n){b=!0,n=f,c=h;break}if(A===c){b=!0,c=f,n=h;break}A=A.sibling}if(!b)throw Error(s(189))}}if(n.alternate!==c)throw Error(s(190))}if(n.tag!==3)throw Error(s(188));return n.stateNode.current===n?t:i}function v(t){var i=t.tag;if(i===5||i===26||i===27||i===6)return t;for(t=t.child;t!==null;){if(i=v(t),i!==null)return i;t=t.sibling}return null}var y=Object.assign,S=Symbol.for("react.element"),E=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),M=Symbol.for("react.context"),Y=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),F=Symbol.for("react.activity"),re=Symbol.for("react.memo_cache_sentinel"),se=Symbol.iterator;function ie(t){return t===null||typeof t!="object"?null:(t=se&&t[se]||t["@@iterator"],typeof t=="function"?t:null)}var te=Symbol.for("react.client.reference");function U(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===te?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case x:return"Fragment";case C:return"Profiler";case k:return"StrictMode";case L:return"Suspense";case G:return"SuspenseList";case F:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case N:return"Portal";case M:return t.displayName||"Context";case I:return(t._context.displayName||"Context")+".Consumer";case Y:var i=t.render;return t=t.displayName,t||(t=i.displayName||i.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case j:return i=t.displayName||null,i!==null?i:U(t.type)||"Memo";case z:i=t._payload,t=t._init;try{return U(t(i))}catch{}}return null}var ne=Array.isArray,O=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_={pending:!1,data:null,method:null,action:null},ce=[],he=-1;function T(t){return{current:t}}function V(t){0>he||(t.current=ce[he],ce[he]=null,he--)}function W(t,i){he++,ce[he]=t.current,t.current=i}var Z=T(null),oe=T(null),ue=T(null),ae=T(null);function pe(t,i){switch(W(ue,i),W(oe,t),W(Z,null),i.nodeType){case 9:case 11:t=(t=i.documentElement)&&(t=t.namespaceURI)?Sb(t):0;break;default:if(t=i.tagName,i=i.namespaceURI)i=Sb(i),t=Ab(i,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}V(Z),W(Z,t)}function Se(){V(Z),V(oe),V(ue)}function ke(t){t.memoizedState!==null&&W(ae,t);var i=Z.current,n=Ab(i,t.type);i!==n&&(W(oe,t),W(Z,n))}function Ce(t){oe.current===t&&(V(Z),V(oe)),ae.current===t&&(V(ae),go._currentValue=_)}var Ie,Rt;function At(t){if(Ie===void 0)try{throw Error()}catch(n){var i=n.stack.trim().match(/\n( *(at )?)/);Ie=i&&i[1]||"",Rt=-1<n.stack.indexOf(` 42 at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return` 43`+Ie+t+Rt}var li=!1;function Wa(t,i){if(!t||li)return"";li=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var c={DetermineComponentFrameRoot:function(){try{if(i){var J=function(){throw Error()};if(Object.defineProperty(J.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(J,[])}catch(K){var $=K}Reflect.construct(t,[],J)}else{try{J.call()}catch(K){$=K}t.call(J.prototype)}}else{try{throw Error()}catch(K){$=K}(J=t())&&typeof J.catch=="function"&&J.catch(function(){})}}
vendor: 6,155 bytes, lines 43-48
43catch(K){if(K&&$&&typeof K.stack=="string")return[K.stack,$.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var h=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");h&&h.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=c.DetermineComponentFrameRoot(),b=f[0],A=f[1];if(b&&A){var R=b.split(` 44`),q=A.split(` 45`);for(h=c=0;c<R.length&&!R[c].includes("DetermineComponentFrameRoot");)c++;for(;h<q.length&&!q[h].includes("DetermineComponentFrameRoot");)h++;if(c===R.length||h===q.length)for(c=R.length-1,h=q.length-1;1<=c&&0<=h&&R[c]!==q[h];)h--;for(;1<=c&&0<=h;c--,h--)if(R[c]!==q[h]){if(c!==1||h!==1)do if(c--,h--,0>h||R[c]!==q[h]){var Q=` 46`+R[c].replace(" at new "," at ");return t.displayName&&Q.includes("<anonymous>")&&(Q=Q.replace("<anonymous>",t.displayName)),Q}while(1<=c&&0<=h);break}}}finally{li=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?At(n):""}function Pa(t,i){switch(t.tag){case 26:case 27:case 5:return At(t.type);case 16:return At("Lazy");case 13:return t.child!==i&&i!==null?At("Suspense Fallback"):At("Suspense");case 19:return At("SuspenseList");case 0:case 15:return Wa(t.type,!1);case 11:return Wa(t.type.render,!1);case 1:return Wa(t.type,!0);case 31:return At("Activity");default:return""}}function Ns(t){try{var i="",n=null;do i+=Pa(t,n),n=t,t=t.return;while(t);return i}catch(c){return` 47Error generating stack: `+c.message+` 48`+c.stack}}var sa=Object.prototype.hasOwnProperty,ks=e.unstable_scheduleCallback,Os=e.unstable_cancelCallback,Gt=e.unstable_shouldYield,_i=e.unstable_requestPaint,Wt=e.unstable_now,Nd=e.unstable_getCurrentPriorityLevel,Sr=e.unstable_ImmediatePriority,Xo=e.unstable_UserBlockingPriority,Ar=e.unstable_NormalPriority,Ts=e.unstable_LowPriority,ci=e.unstable_IdlePriority,Jo=e.log,Hi=e.unstable_setDisableYieldValue,Er=null,Yt=null;function Ia(t){if(typeof Jo=="function"&&Hi(t),Yt&&typeof Yt.setStrictMode=="function")try{Yt.setStrictMode(Er,t)}catch{}}var Ht=Math.clz32?Math.clz32:Ya,kd=Math.log,Cs=Math.LN2;function Ya(t){return t>>>=0,t===0?32:31-(kd(t)/Cs|0)|0}var cn=256,dn=262144,Nr=4194304;function $a(t){var i=t&42;if(i!==0)return i;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ae(t,i,n){var c=t.pendingLanes;if(c===0)return 0;var h=0,f=t.suspendedLanes,b=t.pingedLanes;t=t.warmLanes;var A=c&134217727;return A!==0?(c=A&~f,c!==0?h=$a(c):(b&=A,b!==0?h=$a(b):n||(n=A&~t,n!==0&&(h=$a(n))))):(A=c&~f,A!==0?h=$a(A):b!==0?h=$a(b):n||(n=c&~t,n!==0&&(h=$a(n)))),h===0?0:i!==0&&i!==h&&(i&f)===0&&(f=h&-h,n=i&-i,f>=n||f===32&&(n&4194048)!==0)?i:h}function et(t,i){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&i)===0}function kt(t,i){switch(t){case 1:case 2:case 4:case 8:case 64:return i+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function zt(){var t=Nr;return Nr<<=1,(Nr&62914560)===0&&(Nr=4194304),t}function zi(t){for(var i=[],n=0;31>n;n++)i.push(t);return i}function nt(t,i){t.pendingLanes|=i,i!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Kt(t,i,n,c,h,f){var b=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var A=t.entanglements,R=t.expirationTimes,q=t.hiddenUpdates;for(n=b&~n;0<n;){var Q=31-Ht(n),J=1<<Q;A[Q]=0,R[Q]=-1;var $=q[Q];if($!==null)for(q[Q]=null,Q=0;Q<$.length;Q++){var K=$[Q];K!==null&&(K.lane&=-536870913)}n&=~J}c!==0&&kr(t,c,0),f!==0&&h===0&&t.tag!==0&&(t.suspendedLanes|=f&~(b&~i))}function kr(t,i,n){t.pendingLanes|=i,t.suspendedLanes&=~i;var c=31-Ht(i);t.entangledLanes|=i,t.entanglements[c]=t.entanglements[c]|1073741824|n&261930}function Vt(t,i){var n=t.entangledLanes|=i;for(t=t.entanglements;n;){var c=31-Ht(n),h=1<<c;h&i|t[c]&i&&(t[c]|=i),n&=~h}}function Zt(t,i){var n=i&-i;return n=(n&42)!==0?1:un(n),(n&(t.suspendedLanes|i))!==0?0:n}function un(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Ma(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Od(){var t=D.p;return t!==0?t:(t=window.event,t===void 0?32:$b(t.type))}function lm(t,i){var n=D.p;try{return D.p=t,i()}finally{D.p=n}}var Di=Math.random().toString(36).slice(2),jt="__reactFiber$"+Di,Qt="__reactProps$"+Di,hn="__reactContainer$"+Di,Td="__reactEvents$"+Di,A2="__reactListeners$"+Di,E2="__reactHandles$"+Di,cm="__reactResources$"+Di,Rs="__reactMarker$"+Di;function Cd(t){delete t[jt],delete t[Qt],delete t[Td],delete t[A2],delete t[E2]}function pn(t){var i=t[jt];if(i)return i;for(var n=t.parentNode;n;){if(i=n[hn]||n[jt]){if(n=i.alternate,i.child!==null||n!==null&&n.child!==null)for(t=Rb(t);t!==null;){if(n=t[jt])return n;t=Rb(t)}return i}t=n,n=t.parentNode}return null}function fn(t){if(t=t[jt]||t[hn]){var i=t.tag;if(i===5||i===6||i===13||i===31||i===26||i===27||i===3)return t}return null}function js(t){var i=t.tag;if(i===5||i===26||i===27||i===6)return t.stateNode;throw Error(s(33))}function mn(t){var i=t[cm];
vendor: 7,068 bytes, line 48
48return i||(i=t[cm]={hoistableStyles:new Map,hoistableScripts:new Map}),i}function Ot(t){t[Rs]=!0}var dm=new Set,um={};function Or(t,i){gn(t,i),gn(t+"Capture",i)}function gn(t,i){for(um[t]=i,t=0;t<i.length;t++)dm.add(i[t])}var N2=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),hm={},pm={};function k2(t){return sa.call(pm,t)?!0:sa.call(hm,t)?!1:N2.test(t)?pm[t]=!0:(hm[t]=!0,!1)}function el(t,i,n){if(k2(i))if(n===null)t.removeAttribute(i);else{switch(typeof n){case"undefined":case"function":case"symbol":t.removeAttribute(i);return;case"boolean":var c=i.toLowerCase().slice(0,5);if(c!=="data-"&&c!=="aria-"){t.removeAttribute(i);return}}t.setAttribute(i,""+n)}}function tl(t,i,n){if(n===null)t.removeAttribute(i);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(i);return}t.setAttribute(i,""+n)}}function di(t,i,n,c){if(c===null)t.removeAttribute(n);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttributeNS(i,n,""+c)}}function ba(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function fm(t){var i=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function O2(t,i,n){var c=Object.getOwnPropertyDescriptor(t.constructor.prototype,i);if(!t.hasOwnProperty(i)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var h=c.get,f=c.set;return Object.defineProperty(t,i,{configurable:!0,get:function(){return h.call(this)},set:function(b){n=""+b,f.call(this,b)}}),Object.defineProperty(t,i,{enumerable:c.enumerable}),{getValue:function(){return n},setValue:function(b){n=""+b},stopTracking:function(){t._valueTracker=null,delete t[i]}}}}function Rd(t){if(!t._valueTracker){var i=fm(t)?"checked":"value";t._valueTracker=O2(t,i,""+t[i])}}function mm(t){if(!t)return!1;var i=t._valueTracker;if(!i)return!0;var n=i.getValue(),c="";return t&&(c=fm(t)?t.checked?"true":"false":t.value),t=c,t!==n?(i.setValue(t),!0):!1}function al(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var T2=/[\n"\\]/g;function va(t){return t.replace(T2,function(i){return"\\"+i.charCodeAt(0).toString(16)+" "})}function jd(t,i,n,c,h,f,b,A){t.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?t.type=b:t.removeAttribute("type"),i!=null?b==="number"?(i===0&&t.value===""||t.value!=i)&&(t.value=""+ba(i)):t.value!==""+ba(i)&&(t.value=""+ba(i)):b!=="submit"&&b!=="reset"||t.removeAttribute("value"),i!=null?Pd(t,b,ba(i)):n!=null?Pd(t,b,ba(n)):c!=null&&t.removeAttribute("value"),h==null&&f!=null&&(t.defaultChecked=!!f),h!=null&&(t.checked=h&&typeof h!="function"&&typeof h!="symbol"),A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?t.name=""+ba(A):t.removeAttribute("name")}function gm(t,i,n,c,h,f,b,A){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),i!=null||n!=null){if(!(f!=="submit"&&f!=="reset"||i!=null)){Rd(t);return}n=n!=null?""+ba(n):"",i=i!=null?""+ba(i):n,A||i===t.value||(t.value=i),t.defaultValue=i}c=c??h,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=A?t.checked:!!c,t.defaultChecked=!!c,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(t.name=b),Rd(t)}function Pd(t,i,n){i==="number"&&al(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function yn(t,i,n,c){if(t=t.options,i){i={};for(var h=0;h<n.length;h++)i["$"+n[h]]=!0;for(n=0;n<t.length;n++)h=i.hasOwnProperty("$"+t[n].value),t[n].selected!==h&&(t[n].selected=h),h&&c&&(t[n].defaultSelected=!0)}else{for(n=""+ba(n),i=null,h=0;h<t.length;h++){if(t[h].value===n){t[h].selected=!0,c&&(t[h].defaultSelected=!0);return}i!==null||t[h].disabled||(i=t[h])}i!==null&&(i.selected=!0)}}function ym(t,i,n){if(i!=null&&(i=""+ba(i),i!==t.value&&(t.value=i),n==null)){t.defaultValue!==i&&(t.defaultValue=i);return}t.defaultValue=n!=null?""+ba(n):""}function bm(t,i,n,c){if(i==null){if(c!=null){if(n!=null)throw Error(s(92));if(ne(c)){if(1<c.length)throw Error(s(93));c=c[0]}n=c}n==null&&(n=""),i=n}n=ba(i),t.defaultValue=n,c=t.textContent,c===n&&c!==""&&c!==null&&(t.value=c),Rd(t)}function bn(t,i){if(i){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=i;return}}t.textContent=i}var C2=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function vm(t,i,n){var c=i.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?c?t.setProperty(i,""):i==="float"?t.cssFloat="":t[i]="":c?t.setProperty(i,n):typeof n!="number"||n===0||C2.has(i)?i==="float"?t.cssFloat=n:t[i]=(""+n).trim():t[i]=n+"px"}function wm(t,i,n){if(i!=null&&typeof i!="object")throw Error(s(62));if(t=t.style,n!=null){for(var c in n)!n.hasOwnProperty(c)||i!=null&&i.hasOwnProperty(c)||(c.indexOf("--")===0?t.setProperty(c,""):c==="float"?t.cssFloat="":t[c]="");for(var h in i)c=i[h],i.hasOwnProperty(h)&&n[h]!==c&&vm(t,h,c)}else for(var f in i)i.hasOwnProperty(f)&&vm(t,f,i[f])}function Id(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var R2=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRen
48dering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),j2=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function il(t){return j2.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function ui(){}var Md=null;function Ld(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var vn=null,wn=null;function xm(t){var i=fn(t);if(i&&(t=i.stateNode)){var n=t[Qt]||null;e:switch(t=i.stateNode,i.type){case"input":if(jd(t,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),i=n.name,n.type==="radio"&&i!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+va(""+i)+'"][type="radio"]'),i=0;i<n.length;i++){var c=n[i];if(c!==t&&c.form===t.form){var h=c[Qt]||null;if(!h)throw Error(s(90));jd(c,h.value,h.defaultValue,h.defaultValue,h.checked,h.defaultChecked,h.type,h.name)}}for(i=0;i<n.length;i++)c=n[i],c.form===t.form&&mm(c)}break e;case"textarea":ym(t,n.value,n.defaultValue);break e;case"select":i=n.value,i!=null&&yn(t,!!n.multiple,i,!1)}}}var _d=!1;function Sm(t,i,n){if(_d)return t(i,n);_d=!0;try{var c=t(i);return c}finally{if(_d=!1,(vn!==null||wn!==null)&&(Wl(),vn&&(i=vn,t=wn,wn=vn=null,xm(i),t)))for(i=0;i<t.length;i++)xm(t[i])}}function Ps(t,i){var n=t.stateNode;if(n===null)return null;var c=n[Qt]||null;if(c===null)return null;n=c[i];e:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(c=!c.disabled)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(s(231,i,typeof n));return n}var hi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Hd=!1;if(hi)try{var Is={};Object.defineProperty(Is,"passive",{get:function(){Hd=!0}}),window.addEventListener("test",Is,Is),window.removeEventListener("test",Is,Is)}catch{Hd=!1}var Bi=null,zd=null,rl=null;function Am(){if(rl)return rl;var t,i=zd,n=i.length,c,h="value"in Bi?Bi.value:Bi.textContent,f=h.length;for(t=0;t<n&&i[t]===h[t];t++);var b=n-t;for(c=1;c<=b&&i[n-c]===h[f-c];c++);return rl=h.slice(t,1<c?1-c:void 0)}function nl(t){var i=t.keyCode;
vendor: 5,232 bytes, line 48
48return"charCode"in t?(t=t.charCode,t===0&&i===13&&(t=13)):t=i,t===10&&(t=13),32<=t||t===13?t:0}function sl(){return!0}function Em(){return!1}function Xt(t){function i(n,c,h,f,b){this._reactName=n,this._targetInst=h,this.type=c,this.nativeEvent=f,this.target=b,this.currentTarget=null;for(var A in t)t.hasOwnProperty(A)&&(n=t[A],this[A]=n?n(f):f[A]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?sl:Em,this.isPropagationStopped=Em,this}return y(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=sl)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=sl)},persist:function(){},isPersistent:sl}),i}var Tr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ol=Xt(Tr),Ms=y({},Tr,{view:0,detail:0}),P2=Xt(Ms),Dd,Bd,Ls,ll=y({},Ms,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qd,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Ls&&(Ls&&t.type==="mousemove"?(Dd=t.screenX-Ls.screenX,Bd=t.screenY-Ls.screenY):Bd=Dd=0,Ls=t),Dd)},movementY:function(t){return"movementY"in t?t.movementY:Bd}}),Nm=Xt(ll),I2=y({},ll,{dataTransfer:0}),M2=Xt(I2),L2=y({},Ms,{relatedTarget:0}),Ud=Xt(L2),_2=y({},Tr,{animationName:0,elapsedTime:0,pseudoElement:0}),H2=Xt(_2),z2=y({},Tr,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),D2=Xt(z2),B2=y({},Tr,{data:0}),km=Xt(B2),U2={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},q2={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},G2={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function W2(t){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(t):(t=G2[t])?!!i[t]:!1}function qd(){return W2}var Y2=y({},Ms,{key:function(t){if(t.key){var i=U2[t.key]||t.key;if(i!=="Unidentified")return i}return t.type==="keypress"?(t=nl(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?q2[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qd,charCode:function(t){return t.type==="keypress"?nl(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?nl(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),$2=Xt(Y2),F2=y({},ll,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Om=Xt(F2),K2=y({},Ms,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qd}),V2=Xt(K2),Z2=y({},Tr,{propertyName:0,elapsedTime:0,pseudoElement:0}),Q2=Xt(Z2),X2=y({},ll,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),J2=Xt(X2),e4=y({},Tr,{newState:0,oldState:0}),t4=Xt(e4),a4=[9,13,27,32],Gd=hi&&"CompositionEvent"in window,_s=null;hi&&"documentMode"in document&&(_s=document.documentMode);var i4=hi&&"TextEvent"in window&&!_s,Tm=hi&&(!Gd||_s&&8<_s&&11>=_s),Cm=" ",Rm=!1;function jm(t,i){switch(t){case"keyup":return a4.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Pm(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var xn=!1;function r4(t,i){switch(t){case"compositionend":return Pm(i);case"keypress":return i.which!==32?null:(Rm=!0,Cm);case"textInput":return t=i.data,t===Cm&&Rm?null:t;default:return null}}function n4(t,i){if(xn)return t==="compositionend"||!Gd&&jm(t,i)?(t=Am(),rl=zd=Bi=null,xn=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return Tm&&i.locale!=="ko"?null:i.data;default:return null}}var s4={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Im(t){var i=t&&t.nodeName&&t.nodeName.toLowerCase();return i==="input"?!!s4[t.type]:i==="textarea"}
vendor: 5,437 bytes, line 48
48function Mm(t,i,n,c){vn?wn?wn.push(c):wn=[c]:vn=c,i=Ql(i,"onChange"),0<i.length&&(n=new ol("onChange","change",null,n,c),t.push({event:n,listeners:i}))}var Hs=null,zs=null;function o4(t){gb(t,0)}function cl(t){var i=js(t);if(mm(i))return t}function Lm(t,i){if(t==="change")return i}var _m=!1;if(hi){var Wd;if(hi){var Yd="oninput"in document;if(!Yd){var Hm=document.createElement("div");Hm.setAttribute("oninput","return;"),Yd=typeof Hm.oninput=="function"}Wd=Yd}else Wd=!1;_m=Wd&&(!document.documentMode||9<document.documentMode)}function zm(){Hs&&(Hs.detachEvent("onpropertychange",Dm),zs=Hs=null)}function Dm(t){if(t.propertyName==="value"&&cl(zs)){var i=[];Mm(i,zs,t,Ld(t)),Sm(o4,i)}}function l4(t,i,n){t==="focusin"?(zm(),Hs=i,zs=n,Hs.attachEvent("onpropertychange",Dm)):t==="focusout"&&zm()}function c4(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return cl(zs)}function d4(t,i){if(t==="click")return cl(i)}function u4(t,i){if(t==="input"||t==="change")return cl(i)}function h4(t,i){return t===i&&(t!==0||1/t===1/i)||t!==t&&i!==i}var oa=typeof Object.is=="function"?Object.is:h4;function Ds(t,i){if(oa(t,i))return!0;if(typeof t!="object"||t===null||typeof i!="object"||i===null)return!1;var n=Object.keys(t),c=Object.keys(i);if(n.length!==c.length)return!1;for(c=0;c<n.length;c++){var h=n[c];if(!sa.call(i,h)||!oa(t[h],i[h]))return!1}return!0}function Bm(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Um(t,i){var n=Bm(t);t=0;for(var c;n;){if(n.nodeType===3){if(c=t+n.textContent.length,t<=i&&c>=i)return{node:n,offset:i-t};t=c}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Bm(n)}}function qm(t,i){return t&&i?t===i?!0:t&&t.nodeType===3?!1:i&&i.nodeType===3?qm(t,i.parentNode):"contains"in t?t.contains(i):t.compareDocumentPosition?!!(t.compareDocumentPosition(i)&16):!1:!1}function Gm(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var i=al(t.document);i instanceof t.HTMLIFrameElement;){try{var n=typeof i.contentWindow.location.href=="string"}catch{n=!1}if(n)t=i.contentWindow;else break;i=al(t.document)}return i}function $d(t){var i=t&&t.nodeName&&t.nodeName.toLowerCase();return i&&(i==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||i==="textarea"||t.contentEditable==="true")}var p4=hi&&"documentMode"in document&&11>=document.documentMode,Sn=null,Fd=null,Bs=null,Kd=!1;function Wm(t,i,n){var c=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Kd||Sn==null||Sn!==al(c)||(c=Sn,"selectionStart"in c&&$d(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Bs&&Ds(Bs,c)||(Bs=c,c=Ql(Fd,"onSelect"),0<c.length&&(i=new ol("onSelect","select",null,i,n),t.push({event:i,listeners:c}),i.target=Sn)))}function Cr(t,i){var n={};return n[t.toLowerCase()]=i.toLowerCase(),n["Webkit"+t]="webkit"+i,n["Moz"+t]="moz"+i,n}var An={animationend:Cr("Animation","AnimationEnd"),animationiteration:Cr("Animation","AnimationIteration"),animationstart:Cr("Animation","AnimationStart"),transitionrun:Cr("Transition","TransitionRun"),transitionstart:Cr("Transition","TransitionStart"),transitioncancel:Cr("Transition","TransitionCancel"),transitionend:Cr("Transition","TransitionEnd")},Vd={},Ym={};hi&&(Ym=document.createElement("div").style,"AnimationEvent"in window||(delete An.animationend.animation,delete An.animationiteration.animation,delete An.animationstart.animation),"TransitionEvent"in window||delete An.transitionend.transition);function Rr(t){if(Vd[t])return Vd[t];if(!An[t])return t;var i=An[t],n;for(n in i)if(i.hasOwnProperty(n)&&n in Ym)return Vd[t]=i[n];return t}var $m=Rr("animationend"),Fm=Rr("animationiteration"),Km=Rr("animationstart"),f4=Rr("transitionrun"),m4=Rr("transitionstart"),g4=Rr("transitioncancel"),Vm=Rr("transitionend"),Zm=new Map,Zd="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Zd.push("scrollEnd");function La(t,i){Zm.set(t,i),Or(i,[t])}var dl=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var i=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(i))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},wa=[],En=0,Qd=0;function ul(){for(var t=En,i=Qd=En=0;i<t;){var n=wa[i];wa[i++]=null;var c=wa[i];wa[i++]=null;var h=wa[i];wa[i++]=null;var f=wa[i];if(wa[i++]=null,c!==null&&h!==null){var b=c.pending;b===null?h.next=h:(h.next=b.next,b.next=h),c.pending=h}f!==0&&Qm(n,h,f)}}
vendor: 19,519 bytes, line 48
48function hl(t,i,n,c){wa[En++]=t,wa[En++]=i,wa[En++]=n,wa[En++]=c,Qd|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function Xd(t,i,n,c){return hl(t,i,n,c),pl(t)}function jr(t,i){return hl(t,null,null,i),pl(t)}function Qm(t,i,n){t.lanes|=n;var c=t.alternate;c!==null&&(c.lanes|=n);for(var h=!1,f=t.return;f!==null;)f.childLanes|=n,c=f.alternate,c!==null&&(c.childLanes|=n),f.tag===22&&(t=f.stateNode,t===null||t._visibility&1||(h=!0)),t=f,f=f.return;return t.tag===3?(f=t.stateNode,h&&i!==null&&(h=31-Ht(n),t=f.hiddenUpdates,c=t[h],c===null?t[h]=[i]:c.push(i),i.lane=n|536870912),f):null}function pl(t){if(50<lo)throw lo=0,oh=null,Error(s(185));for(var i=t.return;i!==null;)t=i,i=t.return;return t.tag===3?t.stateNode:null}var Nn={};function y4(t,i,n,c){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function la(t,i,n,c){return new y4(t,i,n,c)}function Jd(t){return t=t.prototype,!(!t||!t.isReactComponent)}function pi(t,i){var n=t.alternate;return n===null?(n=la(t.tag,i,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=i,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&65011712,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,i=t.dependencies,n.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n.refCleanup=t.refCleanup,n}function Xm(t,i){t.flags&=65011714;var n=t.alternate;return n===null?(t.childLanes=0,t.lanes=i,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,t.type=n.type,i=n.dependencies,t.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),t}function fl(t,i,n,c,h,f){var b=0;if(c=t,typeof t=="function")Jd(t)&&(b=1);else if(typeof t=="string")b=S5(t,n,Z.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case F:return t=la(31,n,i,h),t.elementType=F,t.lanes=f,t;case x:return Pr(n.children,h,f,i);case k:b=8,h|=24;break;case C:return t=la(12,n,i,h|2),t.elementType=C,t.lanes=f,t;case L:return t=la(13,n,i,h),t.elementType=L,t.lanes=f,t;case G:return t=la(19,n,i,h),t.elementType=G,t.lanes=f,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case M:b=10;break e;case I:b=9;break e;case Y:b=11;break e;case j:b=14;break e;case z:b=16,c=null;break e}b=29,n=Error(s(130,t===null?"null":typeof t,"")),c=null}return i=la(b,n,i,h),i.elementType=t,i.type=c,i.lanes=f,i}function Pr(t,i,n,c){return t=la(7,t,c,i),t.lanes=n,t}function eu(t,i,n){return t=la(6,t,null,i),t.lanes=n,t}function Jm(t){var i=la(18,null,null,0);return i.stateNode=t,i}function tu(t,i,n){return i=la(4,t.children!==null?t.children:[],t.key,i),i.lanes=n,i.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},i}var eg=new WeakMap;function xa(t,i){if(typeof t=="object"&&t!==null){var n=eg.get(t);return n!==void 0?n:(i={value:t,source:i,stack:Ns(i)},eg.set(t,i),i)}return{value:t,source:i,stack:Ns(i)}}var kn=[],On=0,ml=null,Us=0,Sa=[],Aa=0,Ui=null,Fa=1,Ka="";function fi(t,i){kn[On++]=Us,kn[On++]=ml,ml=t,Us=i}function tg(t,i,n){Sa[Aa++]=Fa,Sa[Aa++]=Ka,Sa[Aa++]=Ui,Ui=t;var c=Fa;t=Ka;var h=32-Ht(c)-1;c&=~(1<<h),n+=1;var f=32-Ht(i)+h;if(30<f){var b=h-h%5;f=(c&(1<<b)-1).toString(32),c>>=b,h-=b,Fa=1<<32-Ht(i)+h|n<<h|c,Ka=f+t}else Fa=1<<f|n<<h|c,Ka=t}function au(t){t.return!==null&&(fi(t,1),tg(t,1,0))}function iu(t){for(;t===ml;)ml=kn[--On],kn[On]=null,Us=kn[--On],kn[On]=null;for(;t===Ui;)Ui=Sa[--Aa],Sa[Aa]=null,Ka=Sa[--Aa],Sa[Aa]=null,Fa=Sa[--Aa],Sa[Aa]=null}function ag(t,i){Sa[Aa++]=Fa,Sa[Aa++]=Ka,Sa[Aa++]=Ui,Fa=i.id,Ka=i.overflow,Ui=t}var Pt=null,Xe=null,He=!1,qi=null,Ea=!1,ru=Error(s(519));function Gi(t){var i=Error(s(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw qs(xa(i,t)),ru}function ig(t){var i=t.stateNode,n=t.type,c=t.memoizedProps;switch(i[jt]=t,i[Qt]=c,n){case"dialog":Pe("cancel",i),Pe("close",i);break;case"iframe":case"object":case"embed":Pe("load",i);break;case"video":case"audio":for(n=0;n<uo.length;n++)Pe(uo[n],i);break;case"source":Pe("error",i);break;case"img":case"image":case"link":Pe("error",i),Pe("load",i);break;case"details":Pe("toggle",i);break;case"input":Pe("invalid",i),gm(i,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":Pe("invalid",i);break;case"textarea":Pe("invalid",i),bm(i,c.value,c.defaultValue,c.children)}n=c.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||i.textContent===""+n||c.suppressHydrationWarning===!0||wb(i.textContent,n)?(c.popover!=null&&(Pe("beforetoggle",i),Pe("toggle",i)),c.onScroll!=null&&Pe("scroll",i),c.onScrollEnd!=null&&Pe("scrollend",i),c.onClick!=null&&(i.onclick=ui),i=!0):i=!1,i||Gi(t,!0)}function rg(t){for(Pt=t.return;Pt;)switch(Pt.tag){case 5:case 31:case 13:Ea=!1;return;case 27:case 3:Ea=!0;return;default:Pt=Pt.return}}function Tn(t){if(t!==Pt)return!1;if(!He)return rg(t),He=!0,!1;var i=t.tag,n;if((n=i!==3&&i!==27)&&((n=i===5)&&(n=t.type,n=!(n!=="form"&&n!=="button")||Sh(t.type,t.memoizedProps)),n=!n),n&&Xe&&Gi(t),rg(t),i===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(317));Xe=Cb(t)}else if(i===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(317));Xe=Cb(t)}else i===27?(i=Xe,ir(t.type)?(t=Oh,Oh=null,Xe=t):Xe=i):Xe=Pt?ka(t.stateNode.nextSibling):null;return!0}function Ir(){Xe=Pt=null,He=!1}function nu(){var t=qi;return t!==null&&(aa===null?aa=t:aa.push.apply(aa,t),qi=null),t}function qs(t){qi===null?qi=[t]:qi.push(t)}var su=T(null),Mr=null,mi=null;function Wi(t,i,n){W(su,i._currentValue),i._currentValue=n}function gi(t){t._currentValue=su.current,V(su)}function ou(t,i,n){for(;t!==null;){var c=t.alternate;if((t.childLanes&i)!==i?(t.childLanes|=i,c!==null&&(c.childLanes|=i)):c!==null&&(c.childLanes&i)!==i&&(c.childLanes|=i),t===n)break;t=t.return}}function lu(t,i,n,c){var h=t.child;for(h!==null&&(h.return=t);h!==null;){var f=h.dependencies;if(f!==null){var b=h.child;f=f.firstContext;e:for(;f!==null;){var A=f;f=h;for(var R=0;R<i.length;R++)if(A.context===i[R]){f.lanes|=n,A=f.alternate,A!==null&&(A.lanes|=n),ou(f.return,n,t),c||(b=null);break e}f=A.next}}else if(h.tag===18){if(b=h.return,b===null)throw Error(s(341));b.lanes|=n,f=b.alternate,f!==null&&(f.lanes|=n),ou(b,n,t),b=null}else b=h.child;if(b!==null)b.return=h;else for(b=h;b!==null;){if(b===t){b=null;break}if(h=b.sibling,h!==null){h.return=b.return,b=h;break}b=b.return}h=b}}function Cn(t,i,n,c){t=null;for(var h=i,f=!1;h!==null;){if(!f){if((h.flags&524288)!==0)f=!0;else if((h.flags&262144)!==0)break}if(h.tag===10){var b=h.alternate;if(b===null)throw Error(s(387));if(b=b.memoizedProps,b!==null){var A=h.type;oa(h.pendingProps.value,b.value)||(t!==null?t.push(A):t=[A])}}else if(h===ae.current){if(b=h.alternate,b===null)throw Error(s(387));b.memoizedState.memoizedState!==h.memoizedState.memoizedState&&(t!==null?t.push(go):t=[go])}h=h.return}t!==null&&lu(i,t,n,c),i.flags|=262144}function gl(t){for(t=t.firstContext;t!==null;){if(!oa(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Lr(t){Mr=t,mi=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function It(t){return ng(Mr,t)}function yl(t,i){return Mr===null&&Lr(t),ng(t,i)}function ng(t,i){var n=i._currentValue;if(i={context:i,memoizedValue:n,next:null},mi===null){if(t===null)throw Error(s(308));mi=i,t.dependencies={lanes:0,firstContext:i},t.flags|=524288}else mi=mi.next=i;return n}var b4=typeof AbortController<"u"?AbortController:function(){var t=[],i=this.signal={aborted:!1,addEventListener:function(n,c){t.push(c)}};this.abort=function(){i.aborted=!0,t.forEach(function(n){return n()})}},v4=e.unstable_scheduleCallback,w4=e.unstable_NormalPriority,bt={$$typeof:M,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function cu(){return{controller:new b4,data:new Map,refCount:0}}function Gs(t){t.refCount--,t.refCount===0&&v4(w4,function(){t.controller.abort()})}var Ws=null,du=0,Rn=0,jn=null;function x4(t,i){if(Ws===null){var n=Ws=[];du=0,Rn=ph(),jn={status:"pending",value:void 0,then:function(c){n.push(c)}}}return du++,i.then(sg,sg),i}function sg(){if(--du===0&&Ws!==null){jn!==null&&(jn.status="fulfilled");var t=Ws;Ws=null,Rn=0,jn=null;for(var i=0;i<t.length;i++)(0,t[i])()}}function S4(t,i){var n=[],c={status:"pending",value:null,reason:null,then:function(h){n.push(h)}};return t.then(function(){c.status="fulfilled",c.value=i;for(var h=0;h<n.length;h++)(0,n[h])(i)},function(h){for(c.status="rejected",c.reason=h,h=0;h<n.length;h++)(0,n[h])(void 0)}),c}var og=O.S;O.S=function(t,i){Wy=Wt(),typeof i=="object"&&i!==null&&typeof i.then=="function"&&x4(t,i),og!==null&&og(t,i)};var _r=T(null);function uu(){var t=_r.current;return t!==null?t:Ve.pooledCache}function bl(t,i){i===null?W(_r,_r.current):W(_r,i.pool)}function lg(){var t=uu();return t===null?null:{parent:bt._currentValue,pool:t}}var Pn=Error(s(460)),hu=Error(s(474)),vl=Error(s(542)),wl={then:function(){}};function cg(t){return t=t.status,t==="fulfilled"||t==="rejected"}function dg(t,i,n){switch(n=t[n],n===void 0?t.push(i):n!==i&&(i.then(ui,ui),i=n),i.status){case"fulfilled":return i.value;case"rejected":throw t=i.reason,hg(t),t;default:if(typeof i.status=="string")i.then(ui,ui);else{if(t=Ve,t!==null&&100<t.shellSuspendCounter)throw Error(s(482));t=i,t.status="pending",t.then(function(c){if(i.status==="pending"){var h=i;h.status="fulfilled",h.value=c}},function(c){if(i.status==="pending"){var h=i;h.status="rejected",h.reason=c}})}switch(i.status){case"fulfilled":return i.value;case"rejected":throw t=i.reason,hg(t),t}throw zr=i,Pn}}function Hr(t){try{var i=t._init;return i(t._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(zr=n,Pn):n}}var zr=null;function ug(){if(zr===null)throw Error(s(459));var t=zr;return zr=null,t}function hg(t){if(t===Pn||t===vl)throw Error(s(483))}var In=null,Ys=0;function xl(t){var i=Ys;return Ys+=1,In===null&&(In=[]),dg(In,t,i)}function $s(t,i){i=i.props.ref,t.ref=i!==void 0?i:null}function Sl(t,i){throw i.$$typeof===S?Error(s(525)):(t=Object.prototype.toString.call(i),Error(s(31,t==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":t)))}function pg(t){function i(H,P){if(t){var B=H.deletions;B===null?(H.deletions=[P],H.flags|=16):B.push(P)}}function n(H,P){if(!t)return null;for(;P!==null;)i(H,P),P=P.sibling;return null}function c(H){for(var P=new Map;H!==null;)H.key!==null?P.set(H.key,H):P.set(H.index,H),H=H.sibling;return P}function h(H,P){return H=pi(H,P),H.index=0,H.sibling=null,H}function f(H,P,B){return H.index=B,t?(B=H.alternate,B!==null?(B=B.index,B<P?(H.flags|=67108866,P):B):(H.flags|=67108866,P)):(H.flags|=1048576,P)}function b(H){return t&&H.alternate===null&&(H.flags|=67108866),H}function A(H,P,B,X){return P===null||P.tag!==6?(P=eu(B,H.mode,X),P.return=H,P):(P=h(P,B),P.return=H,P)}function R(H,P,B,X){var be=B.type;return be===x?Q(H,P,B.props.children,X,B.key):P!==null&&(P.elementType===be||typeof be=="object"&&be!==null&&be.$$typeof===z&&Hr(be)===P.type)?(P=h(P,B.props),$s(P,B),P.return=H,P):(P=fl(B.type,B.key,B.props,null,H.mode,X),$s(P,B),P.return=H,P)}function q(H,P,B,X){return P===null||P.tag!==4||P.stateNode.containerInfo!==B.containerInfo||P.stateNode.implementation!==B.implementation?(P=tu(B,H.mode,X),P.return=H,P):(P=h(P,B.children||[]),P.return=H,P)}function Q(H,P,B,X,be){return P===null||P.tag!==7?(P=Pr(B,H.mode,X,be),P.return=H,P):(P=h(P,B),P.return=H,P)}function J(H,P,B){if(typeof P=="string"&&P!==""||typeof P=="number"||typeof P=="bigint")return P=eu(""+P,H.mode,B),P.return=H,P;if(typeof P=="object"&&P!==null){switch(P.$$typeof){case E:return B=fl(P.type,P.key,P.props,null,H.mode,B),$s(B,P),B.return=H,B;case N:return P=tu(P,H.mode,B),P.return=H,P;case z:return P=Hr(P),J(H,P,B)}if(ne(P)||ie(P))return P=Pr(P,H.mode,B,null),P.return=H,P;if(typeof P.then=="function")return J(H,xl(P),B);if(P.$$typeof===M)return J(H,yl(H,P),B);Sl(H,P)}return null}function $(H,P,B,X){var be=P!==null?P.key:null;if(typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint")return be!==null?null:A(H,P,""+B,X);if(typeof B=="object"&&B!==null){switch(B.$$typeof){case E:return B.key===be?R(H,P,B,X):null;case N:return B.key===be?q(H,P,B,X):null;case z:return B=Hr(B),$(H,P,B,X)}if(ne(B)||ie(B))return be!==null?null:Q(H,P,B,X,null);if(typeof B.then=="function")return $(H,P,xl(B),X);if(B.$$typeof===M)return $(H,P,yl(H,B),X);Sl(H,B)}return null}function K(H,P,B,X,be){if(typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint")return H=H.get(B)||null,A(P,H,""+X,be);if(typeof X=="object"&&X!==null){switch(X.$$typeof){case E:return H=H.get(X.key===null?B:X.key)||null,R(P,H,X,be);case N:return H=H.get(X.key===null?B:X.key)||null,q(P,H,X,be);case z:return X=Hr(X),K(H,P,B,X,be)}if(ne(X)||ie(X))return H=H.get(B)||null,Q(P,H,X,be,null);if(typeof X.then=="function")return K(H,P,B,xl(X),be);if(X.$$typeof===M)return K(H,P,B,yl(P,X),be);Sl(P,X)}return null}function fe(H,P,B,X){for(var be=null,ze=null,ye=P,Oe=P=0,Le=null;ye!==null&&Oe<B.length;Oe++){ye.index>Oe?(Le=ye,ye=null):Le=ye.sibling;var De=$(H,ye,B[Oe],X);if(De===null){ye===null&&(ye=Le);break}t&&ye&&De.alternate===null&&i(H,ye),P=f(De,P,Oe),ze===null?be=De:ze.sibling=De,ze=De,ye=Le}if(Oe===B.length)return n(H,ye),He&&fi(H,Oe),be;if(ye===null){for(;Oe<B.length;Oe++)ye=J(H,B[Oe],X),ye!==null&&(P=f(ye,P,Oe),ze===null?be=ye:ze.sibling=ye,ze=ye);return He&&fi(H,Oe),be}for(ye=c(ye);Oe<B.length;Oe++)Le=K(ye,H,Oe,B[Oe],X),Le!==null&&(t&&Le.alternate!==null&&ye.delete(Le.key===null?Oe:Le.key),P=f(Le,P,Oe),ze===null?be=Le:ze.sibling=Le,ze=Le);return t&&ye.forEach(function(lr){return i(H,lr)}),He&&fi(H,Oe),be}function we(H,P,B,X){if(B==null)throw Error(s(151));for(var be=null,ze=null,ye=P,Oe=P=0,Le=null,De=B.next();ye!==null&&!De.done;Oe++,De=B.next()){ye.index>Oe?(Le=ye,ye=null):Le=ye.sibling;var lr=$(H,ye,De.value,X);if(lr===null){ye===null&&(ye=Le);break}t&&ye&&lr.alternate===null&&i(H,ye),P=f(lr,P,Oe),ze===null?be=lr:ze.sibling=lr,ze=lr,ye=Le}if(De.done)return n(H,ye),He&&fi(H,Oe),be;if(ye===null){for(;!De.done;Oe++,De=B.next())De=J(H,De.value,X),De!==null&&(P=f(De,P,Oe),ze===null?be=De:ze.sibling=De,ze=De);return He&&fi(H,Oe),be}for(ye=c(ye);!De.done;Oe++,De=B.next())De=K(ye,H,Oe,De.value,X),De!==null&&(t&&De.alternate!==null&&ye.delete(De.key===null?Oe:De.key),P=f(De,P,Oe),ze===null?be=De:ze.sibling=De,ze=De);return t&&ye.forEach(function(I5){return i(H,I5)}),He&&fi(H,Oe),be}function Ke(H,P,B,X){if(typeof B=="object"&&B!==null&&B.type===x&&B.key===null&&(B=B.props.children),typeof B=="object"&&B!==null){switch(B.$$typeof){case E:e:{for(var be=B.key;P!==null;){if(P.key===be){if(be=B.type,be===x){if(P.tag===7){n(H,P.sibling),X=h(P,B.props.children),X.return=H,H=X;break e}}else if(P.elementType===be||typeof be=="object"&&be!==null&&be.$$typeof===z&&Hr(be)===P.type){n(H,P.sibling),X=h(P,B.props),$s(X,B),X.return=H,H=X;break e}n(H,P);break}else i(H,P);P=P.sibling}B.type===x?(X=Pr(B.props.children,H.mode,X,B.key),X.return=H,H=X):(X=fl(B.type,B.key,B.props,null,H.mode,X),$s(X,B),X.return=H,H=X)}return b(H);case N:e:{for(be=B.key;P!==null;){if(P.key===be)if(P.tag===4&&P.stateNode.containerInfo===B.containerInfo&&P.stateNode.implementation===B.implementation){n(H,P.sibling),X=h(P,B.children||[]),X.return=H,H=X;break e}else{n(H,P);break}else i(H,P);P=P.sibling}X=tu(B,H.mode,X),X.return=H,H=X}return b(H);case z:return B=Hr(B),Ke(H,P,B,X)}if(ne(B))return fe(H,P,B,X);if(ie(B)){if(be=ie(B),typeof be!="function")throw Error(s(150));return B=be.call(B),we(H,P,B,X)}if(typeof B.then=="function")return Ke(H,P,xl(B),X);if(B.$$typeof===M)return Ke(H,P,yl(H,B),X);Sl(H,B)}return typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint"?(B=""+B,P!==null&&P.tag===6?(n(H,P.sibling),X=h(P,B),X.return=H,H=X):(n(H,P),X=eu(B,H.mode,X),X.return=H,H=X),b(H)):n(H,P)}return function(H,P,B,X){try{Ys=0;var be=Ke(H,P,B,X);return In=null,be}catch(ye){if(ye===Pn||ye===vl)throw ye;var ze=la(29,ye,null,H.mode);return ze.lanes=X,ze.return=H,ze}finally{}}}var Dr=pg(!0),fg=pg(!1),Yi=!1;function pu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function fu(t,i){t=t.updateQueue,i.updateQueue===t&&(i.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function $i(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Fi(t,i,n){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Ue&2)!==0){var h=c.pending;return h===null?i.next=i:(i.next=h.next,h.next=i),c.pending=i,i=pl(t),Qm(t,null,n),i}return hl(t,c,i,n),pl(t)}function Fs(t,i,n){if(i=i.updateQueue,i!==null&&(i=i.shared,(n&4194048)!==0)){var c=i.lanes;c&=t.pendingLanes,n|=c,i.lanes=n,Vt(t,n)}}function mu(t,i){var n=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,n===c)){var h=null,f=null;if(n=n.firstBaseUpdate,n!==null){do{var b={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};f===null?h=f=b:f=f.next=b,n=n.next}while(n!==null);f===null?h=f=i:f=f.next=i}else h=f=i;n={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:f,shared:c.shared,callbacks:c.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=i:t.next=i,n.lastBaseUpdate=i}var gu=!1;function Ks(){if(gu){var t=jn;if(t!==null)throw t}}function Vs(t,i,n,c){gu=!1;var h=t.updateQueue;Yi=!1;var f=h.firstBaseUpdate,b=h.lastBaseUpdate,A=h.shared.pending;if(A!==null){h.shared.pending=null;var R=A,q=R.next;R.next=null,b===null?f=q:b.next=q,b=R;var Q=t.alternate;Q!==null&&(Q=Q.updateQueue,A=Q.lastBaseUpdate,A!==b&&(A===null?Q.firstBaseUpdate=q:A.next=q,Q.lastBaseUpdate=R))}if(f!==null){var J=h.baseState;b=0,Q=q=R=null,A=f;do{var $=A.lane&-536870913,K=$!==A.lane;if(K?(Me&$)===$:(c&$)===$){$!==0&&$===Rn&&(gu=!0),Q!==null&&(Q=Q.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var fe=t,we=A;$=i;var Ke=n;switch(we.tag){case 1:if(fe=we.payload,typeof fe=="function"){J=fe.call(Ke,J,$);break e}J=fe;break e;case 3:fe.flags=fe.flags&-65537|128;case 0:if(fe=we.payload,$=typeof fe=="function"?fe.call(Ke,J,$):fe,$==null)break e;J=y({},J,$);break e;case 2:Yi=!0}}$=A.callback,$!==null&&(t.flags|=64,K&&(t.flags|=8192),K=h.callbacks,K===null?h.callbacks=[$]:K.push($))}else K={lane:$,tag:A.tag,payload:A.payload,callback:A.callback,next:null},Q===null?(q=Q=K,R=J):Q=Q.next=K,b|=$;if(A=A.next,A===null){if(A=h.shared.pending,A===null)break;K=A,A=K.next,K.next=null,h.lastBaseUpdate=K,h.shared.pending=null}}while(!0);Q===null&&(R=J),h.baseState=R,h.firstBaseUpdate=q,h.lastBaseUpdate=Q,f===null&&(h.shared.lanes=0),Xi|=b,t.lanes=b,t.memoizedState=J}}function mg(t,i){if(typeof t!="function")throw Error(s(191,t));t.call(i)}function gg(t,i){var n=t.callbacks;
vendor: 4,109 bytes, line 48
48if(n!==null)for(t.callbacks=null,t=0;t<n.length;t++)mg(n[t],i)}var Mn=T(null),Al=T(0);function yg(t,i){t=Ni,W(Al,t),W(Mn,i),Ni=t|i.baseLanes}function yu(){W(Al,Ni),W(Mn,Mn.current)}function bu(){Ni=Al.current,V(Mn),V(Al)}var ca=T(null),Na=null;function Ki(t){var i=t.alternate;W(ft,ft.current&1),W(ca,t),Na===null&&(i===null||Mn.current!==null||i.memoizedState!==null)&&(Na=t)}function vu(t){W(ft,ft.current),W(ca,t),Na===null&&(Na=t)}function bg(t){t.tag===22?(W(ft,ft.current),W(ca,t),Na===null&&(Na=t)):Vi()}function Vi(){W(ft,ft.current),W(ca,ca.current)}function da(t){V(ca),Na===t&&(Na=null),V(ft)}var ft=T(0);function El(t){for(var i=t;i!==null;){if(i.tag===13){var n=i.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Nh(n)||kh(n)))return i}else if(i.tag===19&&(i.memoizedProps.revealOrder==="forwards"||i.memoizedProps.revealOrder==="backwards"||i.memoizedProps.revealOrder==="unstable_legacy-backwards"||i.memoizedProps.revealOrder==="together")){if((i.flags&128)!==0)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var yi=0,Ne=null,$e=null,vt=null,Nl=!1,Ln=!1,Br=!1,kl=0,Zs=0,_n=null,A4=0;function dt(){throw Error(s(321))}function wu(t,i){if(i===null)return!1;for(var n=0;n<i.length&&n<t.length;n++)if(!oa(t[n],i[n]))return!1;return!0}function xu(t,i,n,c,h,f){return yi=f,Ne=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,O.H=t===null||t.memoizedState===null?ty:_u,Br=!1,f=n(c,h),Br=!1,Ln&&(f=wg(i,n,c,h)),vg(t),f}function vg(t){O.H=Js;var i=$e!==null&&$e.next!==null;if(yi=0,vt=$e=Ne=null,Nl=!1,Zs=0,_n=null,i)throw Error(s(300));t===null||wt||(t=t.dependencies,t!==null&&gl(t)&&(wt=!0))}function wg(t,i,n,c){Ne=t;var h=0;do{if(Ln&&(_n=null),Zs=0,Ln=!1,25<=h)throw Error(s(301));if(h+=1,vt=$e=null,t.updateQueue!=null){var f=t.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}O.H=ay,f=i(n,c)}while(Ln);return f}function E4(){var t=O.H,i=t.useState()[0];return i=typeof i.then=="function"?Qs(i):i,t=t.useState()[0],($e!==null?$e.memoizedState:null)!==t&&(Ne.flags|=1024),i}function Su(){var t=kl!==0;return kl=0,t}function Au(t,i,n){i.updateQueue=t.updateQueue,i.flags&=-2053,t.lanes&=~n}function Eu(t){if(Nl){for(t=t.memoizedState;t!==null;){var i=t.queue;i!==null&&(i.pending=null),t=t.next}Nl=!1}yi=0,vt=$e=Ne=null,Ln=!1,Zs=kl=0,_n=null}function $t(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return vt===null?Ne.memoizedState=vt=t:vt=vt.next=t,vt}function mt(){if($e===null){var t=Ne.alternate;t=t!==null?t.memoizedState:null}else t=$e.next;var i=vt===null?Ne.memoizedState:vt.next;if(i!==null)vt=i,$e=t;else{if(t===null)throw Ne.alternate===null?Error(s(467)):Error(s(310));$e=t,t={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},vt===null?Ne.memoizedState=vt=t:vt=vt.next=t}return vt}function Ol(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Qs(t){var i=Zs;return Zs+=1,_n===null&&(_n=[]),t=dg(_n,t,i),i=Ne,(vt===null?i.memoizedState:vt.next)===null&&(i=i.alternate,O.H=i===null||i.memoizedState===null?ty:_u),t}function Tl(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Qs(t);if(t.$$typeof===M)return It(t)}throw Error(s(438,String(t)))}function Nu(t){var i=null,n=Ne.updateQueue;if(n!==null&&(i=n.memoCache),i==null){var c=Ne.alternate;c!==null&&(c=c.updateQueue,c!==null&&(c=c.memoCache,c!=null&&(i={data:c.data.map(function(h){return h.slice()}),index:0})))}if(i==null&&(i={data:[],index:0}),n===null&&(n=Ol(),Ne.updateQueue=n),n.memoCache=i,n=i.data[i.index],n===void 0)for(n=i.data[i.index]=Array(t),c=0;c<t;c++)n[c]=re;return i.index++,n}function bi(t,i){return typeof i=="function"?i(t):i}function Cl(t){var i=mt();return ku(i,$e,t)}function ku(t,i,n){var c=t.queue;if(c===null)throw Error(s(311));c.lastRenderedReducer=n;var h=t.baseQueue,f=c.pending;if(f!==null){if(h!==null){var b=h.next;h.next=f.next,f.next=b}
vendor: 14,832 bytes, line 48
48i.baseQueue=h=f,c.pending=null}if(f=t.baseState,h===null)t.memoizedState=f;else{i=h.next;var A=b=null,R=null,q=i,Q=!1;do{var J=q.lane&-536870913;if(J!==q.lane?(Me&J)===J:(yi&J)===J){var $=q.revertLane;if($===0)R!==null&&(R=R.next={lane:0,revertLane:0,gesture:null,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null}),J===Rn&&(Q=!0);else if((yi&$)===$){q=q.next,$===Rn&&(Q=!0);continue}else J={lane:0,revertLane:q.revertLane,gesture:null,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null},R===null?(A=R=J,b=f):R=R.next=J,Ne.lanes|=$,Xi|=$;J=q.action,Br&&n(f,J),f=q.hasEagerState?q.eagerState:n(f,J)}else $={lane:J,revertLane:q.revertLane,gesture:q.gesture,action:q.action,hasEagerState:q.hasEagerState,eagerState:q.eagerState,next:null},R===null?(A=R=$,b=f):R=R.next=$,Ne.lanes|=J,Xi|=J;q=q.next}while(q!==null&&q!==i);if(R===null?b=f:R.next=A,!oa(f,t.memoizedState)&&(wt=!0,Q&&(n=jn,n!==null)))throw n;t.memoizedState=f,t.baseState=b,t.baseQueue=R,c.lastRenderedState=f}return h===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function Ou(t){var i=mt(),n=i.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=t;var c=n.dispatch,h=n.pending,f=i.memoizedState;if(h!==null){n.pending=null;var b=h=h.next;do f=t(f,b.action),b=b.next;while(b!==h);oa(f,i.memoizedState)||(wt=!0),i.memoizedState=f,i.baseQueue===null&&(i.baseState=f),n.lastRenderedState=f}return[f,c]}function xg(t,i,n){var c=Ne,h=mt(),f=He;if(f){if(n===void 0)throw Error(s(407));n=n()}else n=i();var b=!oa(($e||h).memoizedState,n);if(b&&(h.memoizedState=n,wt=!0),h=h.queue,Ru(Eg.bind(null,c,h,t),[t]),h.getSnapshot!==i||b||vt!==null&&vt.memoizedState.tag&1){if(c.flags|=2048,Hn(9,{destroy:void 0},Ag.bind(null,c,h,n,i),null),Ve===null)throw Error(s(349));f||(yi&127)!==0||Sg(c,i,n)}return n}function Sg(t,i,n){t.flags|=16384,t={getSnapshot:i,value:n},i=Ne.updateQueue,i===null?(i=Ol(),Ne.updateQueue=i,i.stores=[t]):(n=i.stores,n===null?i.stores=[t]:n.push(t))}function Ag(t,i,n,c){i.value=n,i.getSnapshot=c,Ng(i)&&kg(t)}function Eg(t,i,n){return n(function(){Ng(i)&&kg(t)})}function Ng(t){var i=t.getSnapshot;t=t.value;try{var n=i();return!oa(t,n)}catch{return!0}}function kg(t){var i=jr(t,2);i!==null&&ia(i,t,2)}function Tu(t){var i=$t();if(typeof t=="function"){var n=t;if(t=n(),Br){Ia(!0);try{n()}finally{Ia(!1)}}}return i.memoizedState=i.baseState=t,i.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:t},i}function Og(t,i,n,c){return t.baseState=n,ku(t,$e,typeof c=="function"?c:bi)}function N4(t,i,n,c,h){if(Pl(t))throw Error(s(485));if(t=i.action,t!==null){var f={payload:h,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(b){f.listeners.push(b)}};O.T!==null?n(!0):f.isTransition=!1,c(f),n=i.pending,n===null?(f.next=i.pending=f,Tg(i,f)):(f.next=n.next,i.pending=n.next=f)}}function Tg(t,i){var n=i.action,c=i.payload,h=t.state;if(i.isTransition){var f=O.T,b={};O.T=b;try{var A=n(h,c),R=O.S;R!==null&&R(b,A),Cg(t,i,A)}catch(q){Cu(t,i,q)}finally{f!==null&&b.types!==null&&(f.types=b.types),O.T=f}}else try{f=n(h,c),Cg(t,i,f)}catch(q){Cu(t,i,q)}}function Cg(t,i,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(c){Rg(t,i,c)},function(c){return Cu(t,i,c)}):Rg(t,i,n)}function Rg(t,i,n){i.status="fulfilled",i.value=n,jg(i),t.state=n,i=t.pending,i!==null&&(n=i.next,n===i?t.pending=null:(n=n.next,i.next=n,Tg(t,n)))}function Cu(t,i,n){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do i.status="rejected",i.reason=n,jg(i),i=i.next;while(i!==c)}t.action=null}function jg(t){t=t.listeners;for(var i=0;i<t.length;i++)(0,t[i])()}function Pg(t,i){return i}function Ig(t,i){if(He){var n=Ve.formState;if(n!==null){e:{var c=Ne;if(He){if(Xe){t:{for(var h=Xe,f=Ea;h.nodeType!==8;){if(!f){h=null;break t}if(h=ka(h.nextSibling),h===null){h=null;break t}}f=h.data,h=f==="F!"||f==="F"?h:null}if(h){Xe=ka(h.nextSibling),c=h.data==="F!";break e}}Gi(c)}c=!1}c&&(i=n[0])}}return n=$t(),n.memoizedState=n.baseState=i,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Pg,lastRenderedState:i},n.queue=c,n=Xg.bind(null,Ne,c),c.dispatch=n,c=Tu(!1),f=Lu.bind(null,Ne,!1,c.queue),c=$t(),h={state:i,dispatch:null,action:t,pending:null},c.queue=h,n=N4.bind(null,Ne,h,f,n),h.dispatch=n,c.memoizedState=t,[i,n,!1]}function Mg(t){var i=mt();return Lg(i,$e,t)}function Lg(t,i,n){if(i=ku(t,i,Pg)[0],t=Cl(bi)[0],typeof i=="object"&&i!==null&&typeof i.then=="function")try{var c=Qs(i)}catch(b){throw b===Pn?vl:b}else c=i;i=mt();var h=i.queue,f=h.dispatch;return n!==i.memoizedState&&(Ne.flags|=2048,Hn(9,{destroy:void 0},k4.bind(null,h,n),null)),[c,f,t]}function k4(t,i){t.action=i}function _g(t){var i=mt(),n=$e;if(n!==null)return Lg(i,n,t);mt(),i=i.memoizedState,n=mt();var c=n.queue.dispatch;return n.memoizedState=t,[i,c,!1]}function Hn(t,i,n,c){return t={tag:t,create:n,deps:c,inst:i,next:null},i=Ne.updateQueue,i===null&&(i=Ol(),Ne.updateQueue=i),n=i.lastEffect,n===null?i.lastEffect=t.next=t:(c=n.next,n.next=t,t.next=c,i.lastEffect=t),t}function Hg(){return mt().memoizedState}function Rl(t,i,n,c){var h=$t();Ne.flags|=t,h.memoizedState=Hn(1|i,{destroy:void 0},n,c===void 0?null:c)}function jl(t,i,n,c){var h=mt();c=c===void 0?null:c;var f=h.memoizedState.inst;$e!==null&&c!==null&&wu(c,$e.memoizedState.deps)?h.memoizedState=Hn(i,f,n,c):(Ne.flags|=t,h.memoizedState=Hn(1|i,f,n,c))}function zg(t,i){Rl(8390656,8,t,i)}function Ru(t,i){jl(2048,8,t,i)}function O4(t){Ne.flags|=4;var i=Ne.updateQueue;if(i===null)i=Ol(),Ne.updateQueue=i,i.events=[t];else{var n=i.events;n===null?i.events=[t]:n.push(t)}}function Dg(t){var i=mt().memoizedState;return O4({ref:i,nextImpl:t}),function(){if((Ue&2)!==0)throw Error(s(440));return i.impl.apply(void 0,arguments)}}function Bg(t,i){return jl(4,2,t,i)}function Ug(t,i){return jl(4,4,t,i)}function qg(t,i){if(typeof i=="function"){t=t();var n=i(t);return function(){typeof n=="function"?n():i(null)}}if(i!=null)return t=t(),i.current=t,function(){i.current=null}}function Gg(t,i,n){n=n!=null?n.concat([t]):null,jl(4,4,qg.bind(null,i,t),n)}function ju(){}function Wg(t,i){var n=mt();i=i===void 0?null:i;var c=n.memoizedState;return i!==null&&wu(i,c[1])?c[0]:(n.memoizedState=[t,i],t)}function Yg(t,i){var n=mt();i=i===void 0?null:i;var c=n.memoizedState;if(i!==null&&wu(i,c[1]))return c[0];if(c=t(),Br){Ia(!0);try{t()}finally{Ia(!1)}}return n.memoizedState=[c,i],c}function Pu(t,i,n){return n===void 0||(yi&1073741824)!==0&&(Me&261930)===0?t.memoizedState=i:(t.memoizedState=n,t=$y(),Ne.lanes|=t,Xi|=t,n)}function $g(t,i,n,c){return oa(n,i)?n:Mn.current!==null?(t=Pu(t,n,c),oa(t,i)||(wt=!0),t):(yi&42)===0||(yi&1073741824)!==0&&(Me&261930)===0?(wt=!0,t.memoizedState=n):(t=$y(),Ne.lanes|=t,Xi|=t,i)}function Fg(t,i,n,c,h){var f=D.p;D.p=f!==0&&8>f?f:8;var b=O.T,A={};O.T=A,Lu(t,!1,i,n);try{var R=h(),q=O.S;if(q!==null&&q(A,R),R!==null&&typeof R=="object"&&typeof R.then=="function"){var Q=S4(R,c);Xs(t,i,Q,pa(t))}else Xs(t,i,c,pa(t))}catch(J){Xs(t,i,{then:function(){},status:"rejected",reason:J},pa())}finally{D.p=f,b!==null&&A.types!==null&&(b.types=A.types),O.T=b}}function T4(){}function Iu(t,i,n,c){if(t.tag!==5)throw Error(s(476));var h=Kg(t).queue;Fg(t,h,i,_,n===null?T4:function(){return Vg(t),n(c)})}function Kg(t){var i=t.memoizedState;if(i!==null)return i;i={memoizedState:_,baseState:_,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:_},next:null};var n={};return i.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:n},next:null},t.memoizedState=i,t=t.alternate,t!==null&&(t.memoizedState=i),i}function Vg(t){var i=Kg(t);i.next===null&&(i=t.alternate.memoizedState),Xs(t,i.next.queue,{},pa())}function Mu(){return It(go)}function Zg(){return mt().memoizedState}function Qg(){return mt().memoizedState}function C4(t){for(var i=t.return;i!==null;){switch(i.tag){case 24:case 3:var n=pa();t=$i(n);var c=Fi(i,t,n);c!==null&&(ia(c,i,n),Fs(c,i,n)),i={cache:cu()},t.payload=i;return}i=i.return}}function R4(t,i,n){var c=pa();n={lane:c,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Pl(t)?Jg(i,n):(n=Xd(t,i,n,c),n!==null&&(ia(n,t,c),ey(n,i,c)))}function Xg(t,i,n){var c=pa();Xs(t,i,n,c)}function Xs(t,i,n,c){var h={lane:c,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Pl(t))Jg(i,h);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=i.lastRenderedReducer,f!==null))try{var b=i.lastRenderedState,A=f(b,n);if(h.hasEagerState=!0,h.eagerState=A,oa(A,b))return hl(t,i,h,0),Ve===null&&ul(),!1}catch{}finally{}if(n=Xd(t,i,h,c),n!==null)return ia(n,t,c),ey(n,i,c),!0}return!1}function Lu(t,i,n,c){if(c={lane:2,revertLane:ph(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Pl(t)){if(i)throw Error(s(479))}else i=Xd(t,n,c,2),i!==null&&ia(i,t,2)}function Pl(t){var i=t.alternate;return t===Ne||i!==null&&i===Ne}function Jg(t,i){Ln=Nl=!0;var n=t.pending;n===null?i.next=i:(i.next=n.next,n.next=i),t.pending=i}function ey(t,i,n){if((n&4194048)!==0){var c=i.lanes;c&=t.pendingLanes,n|=c,i.lanes=n,Vt(t,n)}}var Js={readContext:It,use:Tl,useCallback:dt,useContext:dt,useEffect:dt,useImperativeHandle:dt,useLayoutEffect:dt,useInsertionEffect:dt,useMemo:dt,useReducer:dt,useRef:dt,useState:dt,useDebugValue:dt,useDeferredValue:dt,useTransition:dt,useSyncExternalStore:dt,useId:dt,useHostTransitionStatus:dt,useFormState:dt,useActionState:dt,useOptimistic:dt,useMemoCache:dt,useCacheRefresh:dt};Js.useEffectEvent=dt;var ty={readContext:It,use:Tl,useCallback:function(t,i){return $t().memoizedState=[t,i===void 0?null:i],t},useContext:It,useEffect:zg,useImperativeHandle:function(t,i,n){n=n!=null?n.concat([t]):null,Rl(4194308,4,qg.bind(null,i,t),n)},useLayoutEffect:function(t,i){return Rl(4194308,4,t,i)},useInsertionEffect:function(t,i){Rl(4,2,t,i)},useMemo:function(t,i){var n=$t();i=i===void 0?null:i;var c=t();if(Br){Ia(!0);try{t()}finally{Ia(!1)}}return n.memoizedState=[c,i],c},useReducer:function(t,i,n){var c=$t();if(n!==void 0){var h=n(i);if(Br){Ia(!0);try{n(i)}finally{Ia(!1)}}}else h=i;return c.memoizedState=c.baseState=h,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:h},c.queue=t,t=t.dispatch=R4.bind(null,Ne,t),[c.memoizedState,t]},useRef:function(t){var i=$t();return t={current:t},i.memoizedState=t},useState:function(t){t=Tu(t);var i=t.queue,n=Xg.bind(null,Ne,i);return i.dispatch=n,[t.memoizedState,n]},useDebugValue:ju,useDeferredValue:function(t,i){var n=$t();return Pu(n,t,i)},useTransition:function(){var t=Tu(!1);return t=Fg.bind(null,Ne,t.queue,!0,!1),$t().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,i,n){var c=Ne,h=$t();if(He){if(n===void 0)throw Error(s(407));n=n()}else{if(n=i(),Ve===null)throw Error(s(349));(Me&127)!==0||Sg(c,i,n)}h.memoizedState=n;var f={value:n,getSnapshot:i};return h.queue=f,zg(Eg.bind(null,c,f,t),[t]),c.flags|=2048,Hn(9,{destroy:void 0},Ag.bind(null,c,f,n,i),null),n},useId:function(){var t=$t(),i=Ve.identifierPrefix;if(He){var n=Ka,c=Fa;n=(c&~(1<<32-Ht(c)-1)).toString(32)+n,i="_"+i+"R_"+n,n=kl++,0<n&&(i+="H"+n.toString(32)),i+="_"}else n=A4++,i="_"+i+"r_"+n.toString(32)+"_";return t.memoizedState=i},useHostTransitionStatus:Mu,useFormState:Ig,useActionState:Ig,useOptimistic:function(t){var i=$t();i.memoizedState=i.baseState=t;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return i.queue=n,i=Lu.bind(null,Ne,!0,n),n.dispatch=i,[t,i]},useMemoCache:Nu,useCacheRefresh:function(){return $t().memoizedState=C4.bind(null,Ne)},useEffectEvent:function(t){var i=$t(),n={impl:t};return i.memoizedState=n,function(){if((Ue&2)!==0)throw Error(s(440));return n.impl.apply(void 0,arguments)}}},_u={readContext:It,use:Tl,useCallback:Wg,useContext:It,useEffect:Ru,useImperativeHandle:Gg,useInsertionEffect:Bg,useLayoutEffect:Ug,useMemo:Yg,useReducer:Cl,useRef:Hg,useState:function(){return Cl(bi)},useDebugValue:ju,useDeferredValue:function(t,i){var n=mt();return $g(n,$e.memoizedState,t,i)},useTransition:function(){var t=Cl(bi)[0],i=mt().memoizedState;return[typeof t=="boolean"?t:Qs(t),i]},useSyncExternalStore:xg,useId:Zg,useHostTransitionStatus:Mu,useFormState:Mg,useActionState:Mg,useOptimistic:function(t,i){var n=mt();return Og(n,$e,t,i)},useMemoCache:Nu,useCacheRefresh:Qg};_u.useEffectEvent=Dg;var ay={readContext:It,use:Tl,useCallback:Wg,useContext:It,useEffect:Ru,useImperativeHandle:Gg,useInsertionEffect:Bg,useLayoutEffect:Ug,useMemo:Yg,useReducer:Ou,useRef:Hg,useState:function(){return Ou(bi)},useDebugValue:ju,useDeferredValue:function(t,i){var n=mt();return $e===null?Pu(n,t,i):$g(n,$e.memoizedState,t,i)},useTransition:function(){var t=Ou(bi)[0],i=mt().memoizedState;return[typeof t=="boolean"?t:Qs(t),i]},useSyncExternalStore:xg,useId:Zg,useHostTransitionStatus:Mu,useFormState:_g,useActionState:_g,useOptimistic:function(t,i){var n=mt();return $e!==null?Og(n,$e,t,i):(n.baseState=t,[t,n.queue.dispatch])},useMemoCache:Nu,useCacheRefresh:Qg};ay.useEffectEvent=Dg;function Hu(t,i,n,c){i=t.memoizedState,n=n(c,i),n=n==null?i:y({},i,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var zu={enqueueSetState:function(t,i,n){t=t._reactInternals;var c=pa(),h=$i(c);h.payload=i,n!=null&&(h.callback=n),i=Fi(t,h,c),i!==null&&(ia(i,t,c),Fs(i,t,c))},enqueueReplaceState:function(t,i,n){t=t._reactInternals;var c=pa(),h=$i(c);h.tag=1,h.payload=i,n!=null&&(h.callback=n),i=Fi(t,h,c),i!==null&&(ia(i,t,c),Fs(i,t,c))},enqueueForceUpdate:function(t,i){t=t._reactInternals;var n=pa(),c=$i(n);c.tag=2,i!=null&&(c.callback=i),i=Fi(t,c,n),i!==null&&(ia(i,t,n),Fs(i,t,n))}};function iy(t,i,n,c,h,f,b){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,f,b):i.prototype&&i.prototype.isPureReactComponent?!Ds(n,c)||!Ds(h,f):!0}function ry(t,i,n,c){t=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(n,c),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(n,c),i.state!==t&&zu.enqueueReplaceState(i,i.state,null)}function Ur(t,i){var n=i;if("ref"in i){n={};for(var c in i)c!=="ref"&&(n[c]=i[c])}if(t=t.defaultProps){n===i&&(n=y({},n));for(var h in t)n[h]===void 0&&(n[h]=t[h])}return n}function ny(t){dl(t)}function sy(t){console.error(t)}function oy(t){dl(t)}function Il(t,i){try{var n=t.onUncaughtError;n(i.value,{componentStack:i.stack})}catch(c){setTimeout(function(){throw c})}}function ly(t,i,n){try{var c=t.onCaughtError;c(n.value,{componentStack:n.stack,errorBoundary:i.tag===1?i.stateNode:null})}catch(h){setTimeout(function(){throw h})}}function Du(t,i,n){return n=$i(n),n.tag=3,n.payload={element:null},n.callback=function(){Il(t,i)},n}function cy(t){return t=$i(t),t.tag=3,t}
vendor: 4,720 bytes, line 48
48function dy(t,i,n,c){var h=n.type.getDerivedStateFromError;if(typeof h=="function"){var f=c.value;t.payload=function(){return h(f)},t.callback=function(){ly(i,n,c)}}var b=n.stateNode;b!==null&&typeof b.componentDidCatch=="function"&&(t.callback=function(){ly(i,n,c),typeof h!="function"&&(Ji===null?Ji=new Set([this]):Ji.add(this));var A=c.stack;this.componentDidCatch(c.value,{componentStack:A!==null?A:""})})}function j4(t,i,n,c,h){if(n.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(i=n.alternate,i!==null&&Cn(i,n,h,!0),n=ca.current,n!==null){switch(n.tag){case 31:case 13:return Na===null?Yl():n.alternate===null&&ut===0&&(ut=3),n.flags&=-257,n.flags|=65536,n.lanes=h,c===wl?n.flags|=16384:(i=n.updateQueue,i===null?n.updateQueue=new Set([c]):i.add(c),dh(t,c,h)),!1;case 22:return n.flags|=65536,c===wl?n.flags|=16384:(i=n.updateQueue,i===null?(i={transitions:null,markerInstances:null,retryQueue:new Set([c])},n.updateQueue=i):(n=i.retryQueue,n===null?i.retryQueue=new Set([c]):n.add(c)),dh(t,c,h)),!1}throw Error(s(435,n.tag))}return dh(t,c,h),Yl(),!1}if(He)return i=ca.current,i!==null?((i.flags&65536)===0&&(i.flags|=256),i.flags|=65536,i.lanes=h,c!==ru&&(t=Error(s(422),{cause:c}),qs(xa(t,n)))):(c!==ru&&(i=Error(s(423),{cause:c}),qs(xa(i,n))),t=t.current.alternate,t.flags|=65536,h&=-h,t.lanes|=h,c=xa(c,n),h=Du(t.stateNode,c,h),mu(t,h),ut!==4&&(ut=2)),!1;var f=Error(s(520),{cause:c});if(f=xa(f,n),oo===null?oo=[f]:oo.push(f),ut!==4&&(ut=2),i===null)return!0;c=xa(c,n),n=i;do{switch(n.tag){case 3:return n.flags|=65536,t=h&-h,n.lanes|=t,t=Du(n.stateNode,c,t),mu(n,t),!1;case 1:if(i=n.type,f=n.stateNode,(n.flags&128)===0&&(typeof i.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Ji===null||!Ji.has(f))))return n.flags|=65536,h&=-h,n.lanes|=h,h=cy(h),dy(h,t,n,c),mu(n,h),!1}n=n.return}while(n!==null);return!1}var Bu=Error(s(461)),wt=!1;function Mt(t,i,n,c){i.child=t===null?fg(i,null,n,c):Dr(i,t.child,n,c)}function uy(t,i,n,c,h){n=n.render;var f=i.ref;if("ref"in c){var b={};for(var A in c)A!=="ref"&&(b[A]=c[A])}else b=c;return Lr(i),c=xu(t,i,n,b,f,h),A=Su(),t!==null&&!wt?(Au(t,i,h),vi(t,i,h)):(He&&A&&au(i),i.flags|=1,Mt(t,i,c,h),i.child)}function hy(t,i,n,c,h){if(t===null){var f=n.type;return typeof f=="function"&&!Jd(f)&&f.defaultProps===void 0&&n.compare===null?(i.tag=15,i.type=f,py(t,i,f,c,h)):(t=fl(n.type,null,c,i,i.mode,h),t.ref=i.ref,t.return=i,i.child=t)}if(f=t.child,!Ku(t,h)){var b=f.memoizedProps;if(n=n.compare,n=n!==null?n:Ds,n(b,c)&&t.ref===i.ref)return vi(t,i,h)}return i.flags|=1,t=pi(f,c),t.ref=i.ref,t.return=i,i.child=t}function py(t,i,n,c,h){if(t!==null){var f=t.memoizedProps;if(Ds(f,c)&&t.ref===i.ref)if(wt=!1,i.pendingProps=c=f,Ku(t,h))(t.flags&131072)!==0&&(wt=!0);else return i.lanes=t.lanes,vi(t,i,h)}return Uu(t,i,n,c,h)}function fy(t,i,n,c){var h=c.children,f=t!==null?t.memoizedState:null;if(t===null&&i.stateNode===null&&(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),c.mode==="hidden"){if((i.flags&128)!==0){if(f=f!==null?f.baseLanes|n:n,t!==null){for(c=i.child=t.child,h=0;c!==null;)h=h|c.lanes|c.childLanes,c=c.sibling;c=h&~f}else c=0,i.child=null;return my(t,i,f,n,c)}if((n&536870912)!==0)i.memoizedState={baseLanes:0,cachePool:null},t!==null&&bl(i,f!==null?f.cachePool:null),f!==null?yg(i,f):yu(),bg(i);else return c=i.lanes=536870912,my(t,i,f!==null?f.baseLanes|n:n,n,c)}else f!==null?(bl(i,f.cachePool),yg(i,f),Vi(),i.memoizedState=null):(t!==null&&bl(i,null),yu(),Vi());return Mt(t,i,h,n),i.child}function eo(t,i){return t!==null&&t.tag===22||i.stateNode!==null||(i.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.sibling}function my(t,i,n,c,h){var f=uu();return f=f===null?null:{parent:bt._currentValue,pool:f},i.memoizedState={baseLanes:n,cachePool:f},t!==null&&bl(i,null),yu(),bg(i),t!==null&&Cn(t,i,c,!0),i.childLanes=h,null}function Ml(t,i){return i=_l({mode:i.mode,children:i.children},t.mode),i.ref=t.ref,t.child=i,i.return=t,i}function gy(t,i,n){return Dr(i,t.child,null,n),t=Ml(i,i.pendingProps),t.flags|=2,da(i),i.memoizedState=null,t}function P4(t,i,n){var c=i.pendingProps,h=(i.flags&128)!==0;if(i.flags&=-129,t===null){if(He){if(c.mode==="hidden")return t=Ml(i,c),i.lanes=536870912,eo(null,t);if(vu(i),(t=Xe)?(t=Tb(t,Ea),t=t!==null&&t.data==="&"?t:null,t!==null&&(i.memoizedState={dehydrated:t,treeContext:Ui!==null?{id:Fa,overflow:Ka}:null,retryLane:536870912,hydrationErrors:null},n=Jm(t),n.return=i,i.child=n,Pt=i,Xe=null)):t=null,t===null)throw Gi(i);return i.lanes=536870912,null}return Ml(i,c)}var f=t.memoizedState;if(f!==null){var b=f.dehydrated;if(vu(i),h)if(i.flags&256)i.flags&=-257,i=gy(t,i,n);
vendor: 1,368 bytes, line 48
48else if(i.memoizedState!==null)i.child=t.child,i.flags|=128,i=null;else throw Error(s(558));else if(wt||Cn(t,i,n,!1),h=(n&t.childLanes)!==0,wt||h){if(c=Ve,c!==null&&(b=Zt(c,n),b!==0&&b!==f.retryLane))throw f.retryLane=b,jr(t,b),ia(c,t,b),Bu;Yl(),i=gy(t,i,n)}else t=f.treeContext,Xe=ka(b.nextSibling),Pt=i,He=!0,qi=null,Ea=!1,t!==null&&ag(i,t),i=Ml(i,c),i.flags|=4096;return i}return t=pi(t.child,{mode:c.mode,children:c.children}),t.ref=i.ref,i.child=t,t.return=i,t}function Ll(t,i){var n=i.ref;if(n===null)t!==null&&t.ref!==null&&(i.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(s(284));(t===null||t.ref!==n)&&(i.flags|=4194816)}}function Uu(t,i,n,c,h){return Lr(i),n=xu(t,i,n,c,void 0,h),c=Su(),t!==null&&!wt?(Au(t,i,h),vi(t,i,h)):(He&&c&&au(i),i.flags|=1,Mt(t,i,n,h),i.child)}function yy(t,i,n,c,h,f){return Lr(i),i.updateQueue=null,n=wg(i,c,n,h),vg(t),c=Su(),t!==null&&!wt?(Au(t,i,f),vi(t,i,f)):(He&&c&&au(i),i.flags|=1,Mt(t,i,n,f),i.child)}function by(t,i,n,c,h){if(Lr(i),i.stateNode===null){var f=Nn,b=n.contextType;typeof b=="object"&&b!==null&&(f=It(b)),f=new n(c,f),i.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=zu,i.stateNode=f,f._reactInternals=i,f=i.stateNode,f.props=c,f.state=i.memoizedState,f.refs={},pu(i),b=n.contextType,f.context=typeof b=="object"&&b!==null?It(b):Nn,f.state=i.memoizedState,b
vendor: 8,972 bytes, line 48
48=n.getDerivedStateFromProps,typeof b=="function"&&(Hu(i,n,b,c),f.state=i.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(b=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),b!==f.state&&zu.enqueueReplaceState(f,f.state,null),Vs(i,c,f,h),Ks(),f.state=i.memoizedState),typeof f.componentDidMount=="function"&&(i.flags|=4194308),c=!0}else if(t===null){f=i.stateNode;var A=i.memoizedProps,R=Ur(n,A);f.props=R;var q=f.context,Q=n.contextType;b=Nn,typeof Q=="object"&&Q!==null&&(b=It(Q));var J=n.getDerivedStateFromProps;Q=typeof J=="function"||typeof f.getSnapshotBeforeUpdate=="function",A=i.pendingProps!==A,Q||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(A||q!==b)&&ry(i,f,c,b),Yi=!1;var $=i.memoizedState;f.state=$,Vs(i,c,f,h),Ks(),q=i.memoizedState,A||$!==q||Yi?(typeof J=="function"&&(Hu(i,n,J,c),q=i.memoizedState),(R=Yi||iy(i,n,R,c,$,q,b))?(Q||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(i.flags|=4194308)):(typeof f.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=c,i.memoizedState=q),f.props=c,f.state=q,f.context=b,c=R):(typeof f.componentDidMount=="function"&&(i.flags|=4194308),c=!1)}else{f=i.stateNode,fu(t,i),b=i.memoizedProps,Q=Ur(n,b),f.props=Q,J=i.pendingProps,$=f.context,q=n.contextType,R=Nn,typeof q=="object"&&q!==null&&(R=It(q)),A=n.getDerivedStateFromProps,(q=typeof A=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(b!==J||$!==R)&&ry(i,f,c,R),Yi=!1,$=i.memoizedState,f.state=$,Vs(i,c,f,h),Ks();var K=i.memoizedState;b!==J||$!==K||Yi||t!==null&&t.dependencies!==null&&gl(t.dependencies)?(typeof A=="function"&&(Hu(i,n,A,c),K=i.memoizedState),(Q=Yi||iy(i,n,Q,c,$,K,R)||t!==null&&t.dependencies!==null&&gl(t.dependencies))?(q||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(c,K,R),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(c,K,R)),typeof f.componentDidUpdate=="function"&&(i.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof f.componentDidUpdate!="function"||b===t.memoizedProps&&$===t.memoizedState||(i.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||b===t.memoizedProps&&$===t.memoizedState||(i.flags|=1024),i.memoizedProps=c,i.memoizedState=K),f.props=c,f.state=K,f.context=R,c=Q):(typeof f.componentDidUpdate!="function"||b===t.memoizedProps&&$===t.memoizedState||(i.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||b===t.memoizedProps&&$===t.memoizedState||(i.flags|=1024),c=!1)}return f=c,Ll(t,i),c=(i.flags&128)!==0,f||c?(f=i.stateNode,n=c&&typeof n.getDerivedStateFromError!="function"?null:f.render(),i.flags|=1,t!==null&&c?(i.child=Dr(i,t.child,null,h),i.child=Dr(i,null,n,h)):Mt(t,i,n,h),i.memoizedState=f.state,t=i.child):t=vi(t,i,h),t}function vy(t,i,n,c){return Ir(),i.flags|=256,Mt(t,i,n,c),i.child}var qu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Gu(t){return{baseLanes:t,cachePool:lg()}}function Wu(t,i,n){return t=t!==null?t.childLanes&~n:0,i&&(t|=ha),t}function wy(t,i,n){var c=i.pendingProps,h=!1,f=(i.flags&128)!==0,b;if((b=f)||(b=t!==null&&t.memoizedState===null?!1:(ft.current&2)!==0),b&&(h=!0,i.flags&=-129),b=(i.flags&32)!==0,i.flags&=-33,t===null){if(He){if(h?Ki(i):Vi(),(t=Xe)?(t=Tb(t,Ea),t=t!==null&&t.data!=="&"?t:null,t!==null&&(i.memoizedState={dehydrated:t,treeContext:Ui!==null?{id:Fa,overflow:Ka}:null,retryLane:536870912,hydrationErrors:null},n=Jm(t),n.return=i,i.child=n,Pt=i,Xe=null)):t=null,t===null)throw Gi(i);return kh(t)?i.lanes=32:i.lanes=536870912,null}var A=c.children;return c=c.fallback,h?(Vi(),h=i.mode,A=_l({mode:"hidden",children:A},h),c=Pr(c,h,n,null),A.return=i,c.return=i,A.sibling=c,i.child=A,c=i.child,c.memoizedState=Gu(n),c.childLanes=Wu(t,b,n),i.memoizedState=qu,eo(null,c)):(Ki(i),Yu(i,A))}var R=t.memoizedState;if(R!==null&&(A=R.dehydrated,A!==null)){if(f)i.flags&256?(Ki(i),i.flags&=-257,i=$u(t,i,n)):i.memoizedState!==null?(Vi(),i.child=t.child,i.flags|=128,i=null):(Vi(),A=c.fallback,h=i.mode,c=_l({mode:"visible",children:c.children},h),A=Pr(A,h,n,null),A.flags|=2,c.return=i,A.return=i,c.sibling=A,i.child=c,Dr(i,t.child,null,n),c=i.child,c.memoizedState=Gu(n),c.childLanes=Wu(t,b,n),i.memoizedState=qu,i=eo(null,c));else if(Ki(i),kh(A)){if(b=A.nextSibling&&A.nextSibling.dataset,b)var q=b.dgst;b=q,c=Error(s(419)),c.stack="",c.digest=b,qs({value:c,source:null,stack:null}),i=$u(t,i,n)}else if(wt||Cn(t,i,n,!1),b=(n&t.childLanes)!==0,wt||b){if(b=Ve,b!==null&&(c=Zt(b,n),c!==0&&c!==R.retryLane))throw R.retryLane=c,jr(t,c),ia(b,t,c),Bu;Nh(A)||Yl(),i=$u(t,i,n)}else Nh(A)?(i.flags|=192,i.child=t.child,i=null):(t=R.treeContext,Xe=ka(A.nextSibling),Pt=i,He=!0,qi=null,Ea=!1,t!==null&&ag(i,t),i=Yu(i,c.children),i.flags|=4096);return i}return h?(Vi(),A=c.fallback,h=i.mode,R=t.child,q=R.sibling,c=pi(R,{mode:"hidden",children:c.children}),c.subtreeFlags=R.subtreeFlags&65011712,q!==null?A=pi(q,A):(A=Pr(A,h,n,null),A.flags|=2),A.return=i,c.return=i,c.sibling=A,i.child=c,eo(null,c),c=i.child,A=t.child.memoizedState,A===null?A=Gu(n):(h=A.cachePool,h!==null?(R=bt._currentValue,h=h.parent!==R?{parent:R,pool:R}:h):h=lg(),A={baseLanes:A.baseLanes|n,cachePool:h}),c.memoizedState=A,c.childLanes=Wu(t,b,n),i.memoizedState=qu,eo(t.child,c)):(Ki(i),n=t.child,t=n.sibling,n=pi(n,{mode:"visible",children:c.children}),n.return=i,n.sibling=null,t!==null&&(b=i.deletions,b===null?(i.deletions=[t],i.flags|=16):b.push(t)),i.child=n,i.memoizedState=null,n)}function Yu(t,i){return i=_l({mode:"visible",children:i},t.mode),i.return=t,t.child=i}function _l(t,i){return t=la(22,t,null,i),t.lanes=0,t}function $u(t,i,n){return Dr(i,t.child,null,n),t=Yu(i,i.pendingProps.children),t.flags|=2,i.memoizedState=null,t}function xy(t,i,n){t.lanes|=i;var c=t.alternate;c!==null&&(c.lanes|=i),ou(t.return,i,n)}function Fu(t,i,n,c,h,f){var b=t.memoizedState;b===null?t.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:c,tail:n,tailMode:h,treeForkCount:f}:(b.isBackwards=i,b.rendering=null,b.renderingStartTime=0,b.last=c,b.tail=n,b.tailMode=h,b.treeForkCount=f)}function Sy(t,i,n){var c=i.pendingProps,h=c.revealOrder,f=c.tail;c=c.children;var b=ft.current,A=(b&2)!==0;if(A?(b=b&1|2,i.flags|=128):b&=1,W(ft,b),Mt(t,i,c,n),c=He?Us:0,!A&&t!==null&&(t.flags&128)!==0)e:for(t=i.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&xy(t,n,i);else if(t.tag===19)xy(t,n,i);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===i)break e;for(;t.sibling===null;){if(t.return===null||t.return===i)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(h){case"forwards":for(n=i.child,h=null;n!==null;)t=n.alternate,t!==null&&El(t)===null&&(h=n),n=n.sibling;n=h,n===null?(h=i.child,i.child=null):(h=n.sibling,n.sibling=null),Fu(i,!1,h,n,f,c);break;case"backwards":case"unstable_legacy-backwards":for(n=null,h=i.child,i.child=null;h!==null;){if(t=h.alternate,t!==null&&El(t)===null){i.child=h;break}t=h.sibling,h.sibling=n,n=h,h=t}Fu(i,!0,n,null,f,c);break;case"together":Fu(i,!1,null,null,void 0,c);break;default:i.memoizedState=null}return i.child}function vi(t,i,n){if(t!==null&&(i.dependencies=t.dependencies),Xi|=i.lanes,(n&i.childLanes)===0)if(t!==null){if(Cn(t,i,n,!1),(n&i.childLanes)===0)return null}else return null;if(t!==null&&i.child!==t.child)throw Error(s(153));if(i.child!==null){for(t=i.child,n=pi(t,t.pendingProps),i.child=n,n.return=i;t.sibling!==null;)t=t.sibling,n=n.sibling=pi(t,t.pendingProps),n.return=i;n.sibling=null}return i.child}function Ku(t,i){return(t.lanes&i)!==0?!0:(t=t.dependencies,!!(t!==null&&gl(t)))}function I4(t,i,n){switch(i.tag){case 3:pe(i,i.stateNode.containerInfo),Wi(i,bt,t.memoizedState.cache),Ir();break;case 27:case 5:ke(i);break;case 4:pe(i,i.stateNode.containerInfo);break;case 10:Wi(i,i.type,i.memoizedProps.value);break;case 31:if(i.memoizedState!==null)return i.flags|=128,vu(i),null;break;case 13:var c=i.memoizedState;if(c!==null)return c.dehydrated!==null?(Ki(i),i.flags|=128,null):(n&i.child.childLanes)!==0?wy(t,i,n):(Ki(i),t=vi(t,i,n),t!==null?t.sibling:null);Ki(i);break;case 19:var h=(t.flags&128)!==0;if(c=(n&i.childLanes)!==0,c||(Cn(t,i,n,!1),c=(n&i.childLanes)!==0),h){if(c)return Sy(t,i,n);i.flags|=128}if(h=i.memoizedState,h!==null&&(h.rendering=null,h.tail=null,h.lastEffect=null),W(ft,ft.current),c)break;return null;
vendor: 3,235 bytes, line 48
48case 22:return i.lanes=0,fy(t,i,n,i.pendingProps);case 24:Wi(i,bt,t.memoizedState.cache)}return vi(t,i,n)}function Ay(t,i,n){if(t!==null)if(t.memoizedProps!==i.pendingProps)wt=!0;else{if(!Ku(t,n)&&(i.flags&128)===0)return wt=!1,I4(t,i,n);wt=(t.flags&131072)!==0}else wt=!1,He&&(i.flags&1048576)!==0&&tg(i,Us,i.index);switch(i.lanes=0,i.tag){case 16:e:{var c=i.pendingProps;if(t=Hr(i.elementType),i.type=t,typeof t=="function")Jd(t)?(c=Ur(t,c),i.tag=1,i=by(null,i,t,c,n)):(i.tag=0,i=Uu(null,i,t,c,n));else{if(t!=null){var h=t.$$typeof;if(h===Y){i.tag=11,i=uy(null,i,t,c,n);break e}else if(h===j){i.tag=14,i=hy(null,i,t,c,n);break e}}throw i=U(t)||t,Error(s(306,i,""))}}return i;case 0:return Uu(t,i,i.type,i.pendingProps,n);case 1:return c=i.type,h=Ur(c,i.pendingProps),by(t,i,c,h,n);case 3:e:{if(pe(i,i.stateNode.containerInfo),t===null)throw Error(s(387));c=i.pendingProps;var f=i.memoizedState;h=f.element,fu(t,i),Vs(i,c,null,n);var b=i.memoizedState;if(c=b.cache,Wi(i,bt,c),c!==f.cache&&lu(i,[bt],n,!0),Ks(),c=b.element,f.isDehydrated)if(f={element:c,isDehydrated:!1,cache:b.cache},i.updateQueue.baseState=f,i.memoizedState=f,i.flags&256){i=vy(t,i,c,n);break e}else if(c!==h){h=xa(Error(s(424)),i),qs(h),i=vy(t,i,c,n);break e}else{switch(t=i.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(Xe=ka(t.firstChild),Pt=i,He=!0,qi=null,Ea=!0,n=fg(i,null,c,n),i.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ir(),c===h){i=vi(t,i,n);break e}Mt(t,i,c,n)}i=i.child}return i;case 26:return Ll(t,i),t===null?(n=Mb(i.type,null,i.pendingProps,null))?i.memoizedState=n:He||(n=i.type,t=i.pendingProps,c=Xl(ue.current).createElement(n),c[jt]=i,c[Qt]=t,Lt(c,n,t),Ot(c),i.stateNode=c):i.memoizedState=Mb(i.type,t.memoizedProps,i.pendingProps,t.memoizedState),null;case 27:return ke(i),t===null&&He&&(c=i.stateNode=jb(i.type,i.pendingProps,ue.current),Pt=i,Ea=!0,h=Xe,ir(i.type)?(Oh=h,Xe=ka(c.firstChild)):Xe=h),Mt(t,i,i.pendingProps.children,n),Ll(t,i),t===null&&(i.flags|=4194304),i.child;case 5:return t===null&&He&&((h=c=Xe)&&(c=c5(c,i.type,i.pendingProps,Ea),c!==null?(i.stateNode=c,Pt=i,Xe=ka(c.firstChild),Ea=!1,h=!0):h=!1),h||Gi(i)),ke(i),h=i.type,f=i.pendingProps,b=t!==null?t.memoizedProps:null,c=f.children,Sh(h,f)?c=null:b!==null&&Sh(h,b)&&(i.flags|=32),i.memoizedState!==null&&(h=xu(t,i,E4,null,null,n),go._currentValue=h),Ll(t,i),Mt(t,i,c,n),i.child;case 6:return t===null&&He&&((t=n=Xe)&&(n=d5(n,i.pendingProps,Ea),n!==null?(i.stateNode=n,Pt=i,Xe=null,t=!0):t=!1),t||Gi(i)),null;case 13:return wy(t,i,n);case 4:return pe(i,i.stateNode.containerInfo),c=i.pendingProps,t===null?i.child=Dr(i,null,c,n):Mt(t,i,c,n),i.child;case 11:return uy(t,i,i.type,i.pendingProps,n);case 7:return Mt(t,i,i.pendingProps,n),i.child;case 8:return Mt(t,i,i.pendingProps.children,n),i.child;case 12:return Mt(t,i,i.pendingProps.children,n),i.child;case 10:return c=i.pendingProps,Wi(i,i.type,c.value),Mt(t,i,c.children,n),i.child;case 9:return h=i.type._context,c=i.pendingProps.children,Lr(i),h=It(h),c=c(h),i.flags|=1,Mt(t,i,c,n),i.child;case 14:return hy(t,i,i.type,i.pendingProps,n);case 15:return py(t,i,i.type,i.pendingProps,n);case 19:return Sy(t,i,n);case 31:return P4(t,i,n);
vendor: 3,335 bytes, line 48
48case 22:return fy(t,i,n,i.pendingProps);case 24:return Lr(i),c=It(bt),t===null?(h=uu(),h===null&&(h=Ve,f=cu(),h.pooledCache=f,f.refCount++,f!==null&&(h.pooledCacheLanes|=n),h=f),i.memoizedState={parent:c,cache:h},pu(i),Wi(i,bt,h)):((t.lanes&n)!==0&&(fu(t,i),Vs(i,null,null,n),Ks()),h=t.memoizedState,f=i.memoizedState,h.parent!==c?(h={parent:c,cache:c},i.memoizedState=h,i.lanes===0&&(i.memoizedState=i.updateQueue.baseState=h),Wi(i,bt,c)):(c=f.cache,Wi(i,bt,c),c!==h.cache&&lu(i,[bt],n,!0))),Mt(t,i,i.pendingProps.children,n),i.child;case 29:throw i.pendingProps}throw Error(s(156,i.tag))}function wi(t){t.flags|=4}function Vu(t,i,n,c,h){if((i=(t.mode&32)!==0)&&(i=!1),i){if(t.flags|=16777216,(h&335544128)===h)if(t.stateNode.complete)t.flags|=8192;else if(Zy())t.flags|=8192;else throw zr=wl,hu}else t.flags&=-16777217}function Ey(t,i){if(i.type!=="stylesheet"||(i.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!Db(i))if(Zy())t.flags|=8192;else throw zr=wl,hu}function Hl(t,i){i!==null&&(t.flags|=4),t.flags&16384&&(i=t.tag!==22?zt():536870912,t.lanes|=i,Un|=i)}function to(t,i){if(!He)switch(t.tailMode){case"hidden":i=t.tail;for(var n=null;i!==null;)i.alternate!==null&&(n=i),i=i.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var c=null;n!==null;)n.alternate!==null&&(c=n),n=n.sibling;c===null?i||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function Je(t){var i=t.alternate!==null&&t.alternate.child===t.child,n=0,c=0;if(i)for(var h=t.child;h!==null;)n|=h.lanes|h.childLanes,c|=h.subtreeFlags&65011712,c|=h.flags&65011712,h.return=t,h=h.sibling;else for(h=t.child;h!==null;)n|=h.lanes|h.childLanes,c|=h.subtreeFlags,c|=h.flags,h.return=t,h=h.sibling;return t.subtreeFlags|=c,t.childLanes=n,i}function M4(t,i,n){var c=i.pendingProps;switch(iu(i),i.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Je(i),null;case 1:return Je(i),null;case 3:return n=i.stateNode,c=null,t!==null&&(c=t.memoizedState.cache),i.memoizedState.cache!==c&&(i.flags|=2048),gi(bt),Se(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(Tn(i)?wi(i):t===null||t.memoizedState.isDehydrated&&(i.flags&256)===0||(i.flags|=1024,nu())),Je(i),null;case 26:var h=i.type,f=i.memoizedState;return t===null?(wi(i),f!==null?(Je(i),Ey(i,f)):(Je(i),Vu(i,h,null,c,n))):f?f!==t.memoizedState?(wi(i),Je(i),Ey(i,f)):(Je(i),i.flags&=-16777217):(t=t.memoizedProps,t!==c&&wi(i),Je(i),Vu(i,h,t,c,n)),null;case 27:if(Ce(i),n=ue.current,h=i.type,t!==null&&i.stateNode!=null)t.memoizedProps!==c&&wi(i);else{if(!c){if(i.stateNode===null)throw Error(s(166));return Je(i),null}t=Z.current,Tn(i)?ig(i):(t=jb(h,c,n),i.stateNode=t,wi(i))}return Je(i),null;case 5:if(Ce(i),h=i.type,t!==null&&i.stateNode!=null)t.memoizedProps!==c&&wi(i);else{if(!c){if(i.stateNode===null)throw Error(s(166));return Je(i),null}if(f=Z.current,Tn(i))ig(i);else{var b=Xl(ue.current);switch(f){case 1:f=b.createElementNS("http://www.w3.org/2000/svg",h);break;case 2:f=b.createElementNS("http://www.w3.org/1998/Math/MathML",h);break;default:switch(h){case"svg":f=b.createElementNS("http://www.w3.org/2000/svg",h);break;case"math":f=b.createElementNS("http://www.w3.org/1998/Math/MathML",h);break;case"script":f=b.createElement("div"),f.innerHTML="<script><\/script>
48",f=f.removeChild(f.firstChild);break;case"select":f=typeof c.is=="string"?b.createElement("select",{is:c.is}):b.createElement("select"),c.multiple?f.multiple=!0:c.size&&(f.size=c.size);break;default:f=typeof c.is=="string"?b.createElement(h,{is:c.is}):b.createElement(h)}}f[jt]=i,f[Qt]=c;e:for(b=i.child;b!==null;){if(b.tag===5||b.tag===6)f.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===i)break e;for(;b.sibling===null;){if(b.return===null||b.return===i)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}i.stateNode=f;e:switch(Lt(f,h,c),h){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&wi(i)}}return Je(i),Vu(i,i.type,t===null?null:t.memoizedProps,i.pendingProps,n),null;case 6:if(t&&i.stateNode!=null)t.memoizedProps!==c&&wi(i);else{if(typeof c!="string"&&i.stateNode===null)throw Error(s(166));if(t=ue.current,Tn(i)){if(t=i.stateNode,n=i.memoizedProps,c=null,h=Pt,h!==null)switch(h.tag){case 27:case 5:c=h.memoizedProps}t[jt]=i,t=!!(t.nodeValue===n||c!==null&&c.suppressHydrationWarning===!0||wb(t.nodeValue,n)),t||Gi(i,!0)}else t=Xl(t).createTextNode(c),t[jt]=i,i.stateNode=t}return Je(i),null;case 31:if(n=i.memoizedState,t===null||t.memoizedState!==null){if(c=Tn(i),n!==null){if(t===null){if(!c)throw Error(s(318));if(t=i.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(557));t[jt]=i}else Ir(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Je(i),t=!1}else n=nu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return i.flags&256?(da(i),i):(da(i),null);if((i.flags&128)!==0)throw Error(s(558))}return Je(i),null;case 13:if(c=i.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(h=Tn(i),c!==null&&c.dehydrated!==null){if(t===null){if(!h)throw Error(s(318));if(h=i.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(s(317));h[jt]=i}else Ir(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Je(i),h=!1}else h=nu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=h),h=!0;if(!h)return i.flags&256?(da(i),i):(da(i),null)}return da(i),(i.flags&128)!==0?(i.lanes=n,i):(n=c!==null,t=t!==null&&t.memoizedState!==null,n&&(c=i.child,h=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(h=c.alternate.memoizedState.cachePool.pool),f=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(f=c.memoizedState.cachePool.pool),f!==h&&(c.flags|=2048)),n!==t&&n&&(i.child.flags|=8192),Hl(i,i.updateQueue),Je(i),null);case 4:return Se(),t===null&&yh(i.stateNode.containerInfo),Je(i),null;case 10:return gi(i.type),Je(i),null;case 19:if(V(ft),c=i.memoizedState,c===null)return Je(i),null;if(h=(i.flags&128)!==0,f=c.rendering,f===null)if(h)to(c,!1);else{if(ut!==0||t!==null&&(t.flags&128)!==0)for(t=i.child;t!==null;){if(f=El(t),f!==null){for(i.flags|=128,to(c,!1),t=f.updateQueue,i.updateQueue=t,Hl(i,t),i.subtreeFlags=0,t=n,n=i.child;n!==null;)Xm(n,t),n=n.sibling;return W(ft,ft.current&1|2),He&&fi(i,c.treeForkCount),i.child}t=t.sibling}c.tail!==null&&Wt()>ql&&(i.flags|=128,h=!0,to(c,!1),i.lanes=4194304)}else{if(!h)if(t=El(f),t!==null){if(i.flags|=128,h=!0,t=t.updateQueue,i.updateQueue=t,Hl(i,t),to(c,!0),c.tail===null&&c.tailMode==="hidden"&&!f.alternate&&!He)return Je(i),null}else 2*Wt()-c.renderingStartTime>ql&&n!==536870912&&(i.flags|=128,h=!0,to(c,!1),i.lanes=4194304);c.isBackwards?(f.sibling=i.child,i.child=f):(t=c.last,t!==null?t.sibling=f:i.child=f,c.last=f)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Wt(),t.sibling=null,n=ft.current,W(ft,h?n&1|2:n&1),He&&fi(i,c.treeForkCount),t):(Je(i),null);case 22:case 23:return da(i),bu(),c=i.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(i.flags|=8192):c&&(i.flags|=8192),c?(n&536870912)!==0&&(i.flags&128)===0&&(Je(i),i.subtreeFlags&6&&(i.flags|=8192)):Je(i),n=i.updateQueue,n!==null&&Hl(i,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),c=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(c=i.memoizedState.cachePool.pool),c!==n&&(i.flags|=2048),t!==null&&V(_r),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),i.memoizedState.cache!==n&&(i.flags|=2048),gi(bt),Je(i),null;case 25:return null;case 30:return null}throw Error(s(156,i.tag))}function L4(t,i){switch(iu(i),i.tag){case 1:return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 3:return gi(bt),Se(),t=i.flags,(t&65536)!==0&&(t&128)===0?(i.flags=t&-65537|128,i):null;case 26:case 27:case 5:return Ce(i),null;case 31:if(i.memoizedState!==null){if(da(i),i.alternate===null)throw Error(s(340));Ir()}return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 13:if(da(i),t=i.memoizedState,t!==null&&t.dehydrated!==null){if(i.alternate===null)throw Error(s(340));Ir()}return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 19:return V(ft),null;case 4:return Se(),null;case 10:return gi(i.type),null;case 22:case 23:return da(i),bu(),t!==null&&V(_r),t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 24:return gi(bt),null;case 25:return null;default:return null}}function Ny(t,i){switch(iu(i),i.tag){case 3:gi(bt),Se();break;case 26:case 27:case 5:Ce(i);break;case 4:Se();break;case 31:i.memoizedState!==null&&da(i);break;case 13:da(i);break;case 19:V(ft);break;case 10:gi(i.type);break;case 22:case 23:da(i),bu(),t!==null&&V(_r);break;case 24:gi(bt)}}function ao(t,i){try{var n=i.updateQueue,c=n!==null?n.lastEffect:null;if(c!==null){var h=c.next;n=h;do{if((n.tag&t)===t){c=void 0;var f=n.create,b=n.inst;c=f(),b.destroy=c}n=n.next}while(n!==h)}}catch(A){Ye(i,i.return,A)}}function Zi(t,i,n){try{var c=i.updateQueue,h=c!==null?c.lastEffect:null;if(h!==null){var f=h.next;c=f;do{if((c.tag&t)===t){var b=c.inst,A=b.destroy;if(A!==void 0){b.destroy=void 0,h=i;var R=n,q=A;try{q()}catch(Q){Ye(h,R,Q)}}}c=c.next}while(c!==f)}}catch(Q){Ye(i,i.return,Q)}}function ky(t){var i=t.updateQueue;if(i!==null){var n=t.stateNode;try{gg(i,n)}catch(c){Ye(t,t.return,c)}}}function Oy(t,i,n){n.props=Ur(t.type,t.memoizedProps),n.state=t.memoizedState;
vendor: 18,134 bytes, line 48
48try{n.componentWillUnmount()}catch(c){Ye(t,i,c)}}function io(t,i){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof n=="function"?t.refCleanup=n(c):n.current=c}}catch(h){Ye(t,i,h)}}function Va(t,i){var n=t.ref,c=t.refCleanup;if(n!==null)if(typeof c=="function")try{c()}catch(h){Ye(t,i,h)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(h){Ye(t,i,h)}else n.current=null}function Ty(t){var i=t.type,n=t.memoizedProps,c=t.stateNode;try{e:switch(i){case"button":case"input":case"select":case"textarea":n.autoFocus&&c.focus();break e;case"img":n.src?c.src=n.src:n.srcSet&&(c.srcset=n.srcSet)}}catch(h){Ye(t,t.return,h)}}function Zu(t,i,n){try{var c=t.stateNode;i5(c,t.type,n,i),c[Qt]=i}catch(h){Ye(t,t.return,h)}}function Cy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ir(t.type)||t.tag===4}function Qu(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Cy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&ir(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Xu(t,i,n){var c=t.tag;if(c===5||c===6)t=t.stateNode,i?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,i):(i=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,i.appendChild(t),n=n._reactRootContainer,n!=null||i.onclick!==null||(i.onclick=ui));else if(c!==4&&(c===27&&ir(t.type)&&(n=t.stateNode,i=null),t=t.child,t!==null))for(Xu(t,i,n),t=t.sibling;t!==null;)Xu(t,i,n),t=t.sibling}function zl(t,i,n){var c=t.tag;if(c===5||c===6)t=t.stateNode,i?n.insertBefore(t,i):n.appendChild(t);else if(c!==4&&(c===27&&ir(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(zl(t,i,n),t=t.sibling;t!==null;)zl(t,i,n),t=t.sibling}function Ry(t){var i=t.stateNode,n=t.memoizedProps;try{for(var c=t.type,h=i.attributes;h.length;)i.removeAttributeNode(h[0]);Lt(i,c,n),i[jt]=t,i[Qt]=n}catch(f){Ye(t,t.return,f)}}var xi=!1,xt=!1,Ju=!1,jy=typeof WeakSet=="function"?WeakSet:Set,Tt=null;function _4(t,i){if(t=t.containerInfo,wh=nc,t=Gm(t),$d(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var c=n.getSelection&&n.getSelection();if(c&&c.rangeCount!==0){n=c.anchorNode;var h=c.anchorOffset,f=c.focusNode;c=c.focusOffset;try{n.nodeType,f.nodeType}catch{n=null;break e}var b=0,A=-1,R=-1,q=0,Q=0,J=t,$=null;t:for(;;){for(var K;J!==n||h!==0&&J.nodeType!==3||(A=b+h),J!==f||c!==0&&J.nodeType!==3||(R=b+c),J.nodeType===3&&(b+=J.nodeValue.length),(K=J.firstChild)!==null;)$=J,J=K;for(;;){if(J===t)break t;if($===n&&++q===h&&(A=b),$===f&&++Q===c&&(R=b),(K=J.nextSibling)!==null)break;J=$,$=J.parentNode}J=K}n=A===-1||R===-1?null:{start:A,end:R}}else n=null}n=n||{start:0,end:0}}else n=null;for(xh={focusedElem:t,selectionRange:n},nc=!1,Tt=i;Tt!==null;)if(i=Tt,t=i.child,(i.subtreeFlags&1028)!==0&&t!==null)t.return=i,Tt=t;else for(;Tt!==null;){switch(i=Tt,f=i.alternate,t=i.flags,i.tag){case 0:if((t&4)!==0&&(t=i.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n<t.length;n++)h=t[n],h.ref.impl=h.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&f!==null){t=void 0,n=i,h=f.memoizedProps,f=f.memoizedState,c=n.stateNode;try{var fe=Ur(n.type,h);t=c.getSnapshotBeforeUpdate(fe,f),c.__reactInternalSnapshotBeforeUpdate=t}catch(we){Ye(n,n.return,we)}}break;case 3:if((t&1024)!==0){if(t=i.stateNode.containerInfo,n=t.nodeType,n===9)Eh(t);else if(n===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Eh(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(s(163))}if(t=i.sibling,t!==null){t.return=i.return,Tt=t;break}Tt=i.return}}function Py(t,i,n){var c=n.flags;switch(n.tag){case 0:case 11:case 15:Ai(t,n),c&4&&ao(5,n);break;case 1:if(Ai(t,n),c&4)if(t=n.stateNode,i===null)try{t.componentDidMount()}catch(b){Ye(n,n.return,b)}else{var h=Ur(n.type,i.memoizedProps);i=i.memoizedState;try{t.componentDidUpdate(h,i,t.__reactInternalSnapshotBeforeUpdate)}catch(b){Ye(n,n.return,b)}}c&64&&ky(n),c&512&&io(n,n.return);break;case 3:if(Ai(t,n),c&64&&(t=n.updateQueue,t!==null)){if(i=null,n.child!==null)switch(n.child.tag){case 27:case 5:i=n.child.stateNode;break;case 1:i=n.child.stateNode}try{gg(t,i)}catch(b){Ye(n,n.return,b)}}break;case 27:i===null&&c&4&&Ry(n);case 26:case 5:Ai(t,n),i===null&&c&4&&Ty(n),c&512&&io(n,n.return);break;case 12:Ai(t,n);break;case 31:Ai(t,n),c&4&&Ly(t,n);break;case 13:Ai(t,n),c&4&&_y(t,n),c&64&&(t=n.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(n=Y4.bind(null,n),u5(t,n))));break;case 22:if(c=n.memoizedState!==null||xi,!c){i=i!==null&&i.memoizedState!==null||xt,h=xi;var f=xt;xi=c,(xt=i)&&!f?Ei(t,n,(n.subtreeFlags&8772)!==0):Ai(t,n),xi=h,xt=f}break;case 30:break;default:Ai(t,n)}}function Iy(t){var i=t.alternate;i!==null&&(t.alternate=null,Iy(i)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(i=t.stateNode,i!==null&&Cd(i)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var tt=null,Jt=!1;function Si(t,i,n){for(n=n.child;n!==null;)My(t,i,n),n=n.sibling}function My(t,i,n){if(Yt&&typeof Yt.onCommitFiberUnmount=="function")try{Yt.onCommitFiberUnmount(Er,n)}catch{}switch(n.tag){case 26:xt||Va(n,i),Si(t,i,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:xt||Va(n,i);var c=tt,h=Jt;ir(n.type)&&(tt=n.stateNode,Jt=!1),Si(t,i,n),po(n.stateNode),tt=c,Jt=h;break;case 5:xt||Va(n,i);case 6:if(c=tt,h=Jt,tt=null,Si(t,i,n),tt=c,Jt=h,tt!==null)if(Jt)try{(tt.nodeType===9?tt.body:tt.nodeName==="HTML"?tt.ownerDocument.body:tt).removeChild(n.stateNode)}catch(f){Ye(n,i,f)}else try{tt.removeChild(n.stateNode)}catch(f){Ye(n,i,f)}break;case 18:tt!==null&&(Jt?(t=tt,kb(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,n.stateNode),Vn(t)):kb(tt,n.stateNode));break;case 4:c=tt,h=Jt,tt=n.stateNode.containerInfo,Jt=!0,Si(t,i,n),tt=c,Jt=h;break;case 0:case 11:case 14:case 15:Zi(2,n,i),xt||Zi(4,n,i),Si(t,i,n);break;case 1:xt||(Va(n,i),c=n.stateNode,typeof c.componentWillUnmount=="function"&&Oy(n,i,c)),Si(t,i,n);break;case 21:Si(t,i,n);break;case 22:xt=(c=xt)||n.memoizedState!==null,Si(t,i,n),xt=c;break;default:Si(t,i,n)}}function Ly(t,i){if(i.memoizedState===null&&(t=i.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Vn(t)}catch(n){Ye(i,i.return,n)}}}function _y(t,i){if(i.memoizedState===null&&(t=i.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Vn(t)}catch(n){Ye(i,i.return,n)}}function H4(t){switch(t.tag){case 31:case 13:case 19:var i=t.stateNode;return i===null&&(i=t.stateNode=new jy),i;case 22:return t=t.stateNode,i=t._retryCache,i===null&&(i=t._retryCache=new jy),i;default:throw Error(s(435,t.tag))}}function Dl(t,i){var n=H4(t);i.forEach(function(c){if(!n.has(c)){n.add(c);var h=$4.bind(null,t,c);c.then(h,h)}})}function ea(t,i){var n=i.deletions;if(n!==null)for(var c=0;c<n.length;c++){var h=n[c],f=t,b=i,A=b;e:for(;A!==null;){switch(A.tag){case 27:if(ir(A.type)){tt=A.stateNode,Jt=!1;break e}break;case 5:tt=A.stateNode,Jt=!1;break e;case 3:case 4:tt=A.stateNode.containerInfo,Jt=!0;break e}A=A.return}if(tt===null)throw Error(s(160));My(f,b,h),tt=null,Jt=!1,f=h.alternate,f!==null&&(f.return=null),h.return=null}if(i.subtreeFlags&13886)for(i=i.child;i!==null;)Hy(i,t),i=i.sibling}var _a=null;function Hy(t,i){var n=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:ea(i,t),ta(t),c&4&&(Zi(3,t,t.return),ao(3,t),Zi(5,t,t.return));break;case 1:ea(i,t),ta(t),c&512&&(xt||n===null||Va(n,n.return)),c&64&&xi&&(t=t.updateQueue,t!==null&&(c=t.callbacks,c!==null&&(n=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=n===null?c:n.concat(c))));break;case 26:var h=_a;if(ea(i,t),ta(t),c&512&&(xt||n===null||Va(n,n.return)),c&4){var f=n!==null?n.memoizedState:null;if(c=t.memoizedState,n===null)if(c===null)if(t.stateNode===null){e:{c=t.type,n=t.memoizedProps,h=h.ownerDocument||h;t:switch(c){case"title":f=h.getElementsByTagName("title")[0],(!f||f[Rs]||f[jt]||f.namespaceURI==="http://www.w3.org/2000/svg"||f.hasAttribute("itemprop"))&&(f=h.createElement(c),h.head.insertBefore(f,h.querySelector("head > title"))),Lt(f,c,n),f[jt]=t,Ot(f),c=f;break e;case"link":var b=Hb("link","href",h).get(c+(n.href||""));if(b){for(var A=0;A<b.length;A++)if(f=b[A],f.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&f.getAttribute("rel")===(n.rel==null?null:n.rel)&&f.getAttribute("title")===(n.title==null?null:n.title)&&f.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){b.splice(A,1);break t}}f=h.createElement(c),Lt(f,c,n),h.head.appendChild(f);break;case"meta":if(b=Hb("meta","content",h).get(c+(n.content||""))){for(A=0;A<b.length;A++)if(f=b[A],f.getAttribute("content")===(n.content==null?null:""+n.content)&&f.getAttribute("name")===(n.name==null?null:n.name)&&f.getAttribute("property")===(n.property==null?null:n.property)&&f.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&f.getAttribute("charset")===(n.charSet==null?null:n.charSet)){b.splice(A,1);break t}}f=h.createElement(c),Lt(f,c,n),h.head.appendChild(f);break;default:throw Error(s(468,c))}f[jt]=t,Ot(f),c=f}t.stateNode=c}else zb(h,t.type,t.stateNode);else t.stateNode=_b(h,c,t.memoizedProps);else f!==c?(f===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):f.count--,c===null?zb(h,t.type,t.stateNode):_b(h,c,t.memoizedProps)):c===null&&t.stateNode!==null&&Zu(t,t.memoizedProps,n.memoizedProps)}break;case 27:ea(i,t),ta(t),c&512&&(xt||n===null||Va(n,n.return)),n!==null&&c&4&&Zu(t,t.memoizedProps,n.memoizedProps);break;case 5:if(ea(i,t),ta(t),c&512&&(xt||n===null||Va(n,n.return)),t.flags&32){h=t.stateNode;try{bn(h,"")}catch(fe){Ye(t,t.return,fe)}}c&4&&t.stateNode!=null&&(h=t.memoizedProps,Zu(t,h,n!==null?n.memoizedProps:h)),c&1024&&(Ju=!0);break;case 6:if(ea(i,t),ta(t),c&4){if(t.stateNode===null)throw Error(s(162));c=t.memoizedProps,n=t.stateNode;try{n.nodeValue=c}catch(fe){Ye(t,t.return,fe)}}break;case 3:if(tc=null,h=_a,_a=Jl(i.containerInfo),ea(i,t),_a=h,ta(t),c&4&&n!==null&&n.memoizedState.isDehydrated)try{Vn(i.containerInfo)}catch(fe){Ye(t,t.return,fe)}Ju&&(Ju=!1,zy(t));break;case 4:c=_a,_a=Jl(t.stateNode.containerInfo),ea(i,t),ta(t),_a=c;break;case 12:ea(i,t),ta(t);break;case 31:ea(i,t),ta(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Dl(t,c)));break;case 13:ea(i,t),ta(t),t.child.flags&8192&&t.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Ul=Wt()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Dl(t,c)));break;case 22:h=t.memoizedState!==null;var R=n!==null&&n.memoizedState!==null,q=xi,Q=xt;if(xi=q||h,xt=Q||R,ea(i,t),xt=Q,xi=q,ta(t),c&8192)e:for(i=t.stateNode,i._visibility=h?i._visibility&-2:i._visibility|1,h&&(n===null||R||xi||xt||qr(t)),n=null,i=t;;){if(i.tag===5||i.tag===26){if(n===null){R=n=i;try{if(f=R.stateNode,h)b=f.style,typeof b.setProperty=="function"?b.setProperty("display","none","important"):b.display="none";else{A=R.stateNode;var J=R.memoizedProps.style,$=J!=null&&J.hasOwnProperty("display")?J.display:null;A.style.display=$==null||typeof $=="boolean"?"":(""+$).trim()}}catch(fe){Ye(R,R.return,fe)}}}else if(i.tag===6){if(n===null){R=i;try{R.stateNode.nodeValue=h?"":R.memoizedProps}catch(fe){Ye(R,R.return,fe)}}}else if(i.tag===18){if(n===null){R=i;try{var K=R.stateNode;h?Ob(K,!0):Ob(R.stateNode,!1)}catch(fe){Ye(R,R.return,fe)}}}else if((i.tag!==22&&i.tag!==23||i.memoizedState===null||i===t)&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;n===i&&(n=null),i=i.return}n===i&&(n=null),i.sibling.return=i.return,i=i.sibling}c&4&&(c=t.updateQueue,c!==null&&(n=c.retryQueue,n!==null&&(c.retryQueue=null,Dl(t,n))));break;case 19:ea(i,t),ta(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Dl(t,c)));break;case 30:break;case 21:break;default:ea(i,t),ta(t)}}function ta(t){var i=t.flags;if(i&2){try{for(var n,c=t.return;c!==null;){if(Cy(c)){n=c;break}c=c.return}if(n==null)throw Error(s(160));switch(n.tag){case 27:var h=n.stateNode,f=Qu(t);zl(t,f,h);break;case 5:var b=n.stateNode;n.flags&32&&(bn(b,""),n.flags&=-33);var A=Qu(t);zl(t,A,b);break;case 3:case 4:var R=n.stateNode.containerInfo,q=Qu(t);Xu(t,q,R);break;default:throw Error(s(161))}}catch(Q){Ye(t,t.return,Q)}t.flags&=-3}i&4096&&(t.flags&=-4097)}function zy(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var i=t;zy(i),i.tag===5&&i.flags&1024&&i.stateNode.reset(),t=t.sibling}}function Ai(t,i){if(i.subtreeFlags&8772)for(i=i.child;i!==null;)Py(t,i.alternate,i),i=i.sibling}function qr(t){for(t=t.child;t!==null;){var i=t;switch(i.tag){case 0:case 11:case 14:case 15:Zi(4,i,i.return),qr(i);break;case 1:Va(i,i.return);var n=i.stateNode;typeof n.componentWillUnmount=="function"&&Oy(i,i.return,n),qr(i);break;case 27:po(i.stateNode);case 26:case 5:Va(i,i.return),qr(i);break;case 22:i.memoizedState===null&&qr(i);break;case 30:qr(i);break;default:qr(i)}t=t.sibling}}function Ei(t,i,n){for(n=n&&(i.subtreeFlags&8772)!==0,i=i.child;i!==null;){var c=i.alternate,h=t,f=i,b=f.flags;switch(f.tag){case 0:case 11:case 15:Ei(h,f,n),ao(4,f);break;case 1:if(Ei(h,f,n),c=f,h=c.stateNode,typeof h.componentDidMount=="function")try{h.componentDidMount()}catch(q){Ye(c,c.return,q)}if(c=f,h=c.updateQueue,h!==null){var A=c.stateNode;try{var R=h.shared.hiddenCallbacks;if(R!==null)for(h.shared.hiddenCallbacks=null,h=0;h<R.length;h++)mg(R[h],A)}catch(q){Ye(c,c.return,q)}}n&&b&64&&ky(f),io(f,f.return);break;case 27:Ry(f);case 26:case 5:Ei(h,f,n),n&&c===null&&b&4&&Ty(f),io(f,f.return);break;case 12:Ei(h,f,n);break;case 31:Ei(h,f,n),n&&b&4&&Ly(h,f);break;case 13:Ei(h,f,n),n&&b&4&&_y(h,f);break;case 22:f.memoizedState===null&&Ei(h,f,n),io(f,f.return);break;case 30:break;default:Ei(h,f,n)}i=i.sibling}}function eh(t,i){var n=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),t=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(t=i.memoizedState.cachePool.pool),t!==n&&(t!=null&&t.refCount++,n!=null&&Gs(n))}function th(t,i){t=null,i.alternate!==null&&(t=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==t&&(i.refCount++,t!=null&&Gs(t))}function Ha(t,i,n,c){if(i.subtreeFlags&10256)for(i=i.child;i!==null;)Dy(t,i,n,c),i=i.sibling}function Dy(t,i,n,c){var h=i.flags;switch(i.tag){case 0:case 11:case 15:Ha(t,i,n,c),h&2048&&ao(9,i);break;case 1:Ha(t,i,n,c);break;case 3:Ha(t,i,n,c),h&2048&&(t=null,i.alternate!==null&&(t=i.alternate.memoizedState.cache),i=i.memoizedState.cache,i!==t&&(i.refCount++,t!=null&&Gs(t)));break;case 12:if(h&2048){Ha(t,i,n,c),t=i.stateNode;try{var f=i.memoizedProps,b=f.id,A=f.onPostCommit;typeof A=="function"&&A(b,i.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(R){Ye(i,i.return,R)}}else Ha(t,i,n,c);break;case 31:Ha(t,i,n,c);break;case 13:Ha(t,i,n,c);break;case 23:break;case 22:f=i.stateNode,b=i.alternate,i.memoizedState!==null?f._visibility&2?Ha(t,i,n,c):ro(t,i):f._visibility&2?Ha(t,i,n,c):(f._visibility|=2,zn(t,i,n,c,(i.subtreeFlags&10256)!==0||!1)),h&2048&&eh(b,i);break;case 24:Ha(t,i,n,c),h&2048&&th(i.alternate,i);break;default:Ha(t,i,n,c)}}function zn(t,i,n,c,h){for(h=h&&((i.subtreeFlags&10256)!==0||!1),i=i.child;i!==null;){var f=t,b=i,A=n,R=c,q=b.flags;switch(b.tag){case 0:case 11:case 15:zn(f,b,A,R,h),ao(8,b);break;case 23:break;case 22:var Q=b.stateNode;b.memoizedState!==null?Q._visibility&2?zn(f,b,A,R,h):ro(f,b):(Q._visibility|=2,zn(f,b,A,R,h)),h&&q&2048&&eh(b.alternate,b);break;case 24:zn(f,b,A,R,h),h&&q&2048&&th(b.alternate,b);break;default:zn(f,b,A,R,h)}i=i.sibling}}function ro(t,i){if(i.subtreeFlags&10256)for(i=i.child;i!==null;){var n=t,c=i,h=c.flags;switch(c.tag){case 22:ro(n,c),h&2048&&eh(c.alternate,c);break;case 24:ro(n,c),h&2048&&th(c.alternate,c);break;default:ro(n,c)}i=i.sibling}}var no=8192;function Dn(t,i,n){if(t.subtreeFlags&no)for(t=t.child;t!==null;)By(t,i,n),t=t.sibling}function By(t,i,n){switch(t.tag){case 26:Dn(t,i,n),t.flags&no&&t.memoizedState!==null&&A5(n,_a,t.memoizedState,t.memoizedProps);break;case 5:Dn(t,i,n);break;case 3:case 4:var c=_a;_a=Jl(t.stateNode.containerInfo),Dn(t,i,n),_a=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=no,no=16777216,Dn(t,i,n),no=c):Dn(t,i,n));break;default:Dn(t,i,n)}}function Uy(t){var i=t.alternate;if(i!==null&&(t=i.child,t!==null)){i.child=null;do i=t.sibling,t.sibling=null,t=i;while(t!==null)}}function so(t){var i=t.deletions;if((t.flags&16)!==0){if(i!==null)for(var n=0;n<i.length;n++){var c=i[n];Tt=c,Gy(c,t)}Uy(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)qy(t),t=t.sibling}function qy(t){switch(t.tag){case 0:case 11:case 15:so(t),t.flags&2048&&Zi(9,t,t.return);break;case 3:so(t);break;case 12:so(t);break;case 22:var i=t.stateNode;t.memoizedState!==null&&i._visibility&2&&(t.return===null||t.return.tag!==13)?(i._visibility&=-3,Bl(t)):so(t);break;default:so(t)}}function Bl(t){var i=t.deletions;if((t.flags&16)!==0){if(i!==null)for(var n=0;n<i.length;n++){var c=i[n];Tt=c,Gy(c,t)}Uy(t)}for(t=t.child;t!==null;){switch(i=t,i.tag){case 0:case 11:case 15:Zi(8,i,i.return),Bl(i);break;case 22:n=i.stateNode,n._visibility&2&&(n._visibility&=-3,Bl(i));break;default:Bl(i)}t=t.sibling}}function Gy(t,i){for(;Tt!==null;){var n=Tt;switch(n.tag){case 0:case 11:case 15:Zi(8,n,i);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var c=n.memoizedState.cachePool.pool;c!=null&&c.refCount++}break;case 24:Gs(n.memoizedState.cache)}if(c=n.child,c!==null)c.return=n,Tt=c;else e:for(n=t;Tt!==null;){c=Tt;var h=c.sibling,f=c.return;if(Iy(c),c===n){Tt=null;break e}if(h!==null){h.return=f,Tt=h;break e}Tt=f}}}var z4={getCacheForType:function(t){var i=It(bt),n=i.data.get(t);return n===void 0&&(n=t(),i.data.set(t,n)),n}
vendor: 14,894 bytes, line 48
48,cacheSignal:function(){return It(bt).controller.signal}},D4=typeof WeakMap=="function"?WeakMap:Map,Ue=0,Ve=null,je=null,Me=0,We=0,ua=null,Qi=!1,Bn=!1,ah=!1,Ni=0,ut=0,Xi=0,Gr=0,ih=0,ha=0,Un=0,oo=null,aa=null,rh=!1,Ul=0,Wy=0,ql=1/0,Gl=null,Ji=null,Et=0,er=null,qn=null,ki=0,nh=0,sh=null,Yy=null,lo=0,oh=null;function pa(){return(Ue&2)!==0&&Me!==0?Me&-Me:O.T!==null?ph():Od()}function $y(){if(ha===0)if((Me&536870912)===0||He){var t=dn;dn<<=1,(dn&3932160)===0&&(dn=262144),ha=t}else ha=536870912;return t=ca.current,t!==null&&(t.flags|=32),ha}function ia(t,i,n){(t===Ve&&(We===2||We===9)||t.cancelPendingCommit!==null)&&(Gn(t,0),tr(t,Me,ha,!1)),nt(t,n),((Ue&2)===0||t!==Ve)&&(t===Ve&&((Ue&2)===0&&(Gr|=n),ut===4&&tr(t,Me,ha,!1)),Za(t))}function Fy(t,i,n){if((Ue&6)!==0)throw Error(s(327));var c=!n&&(i&127)===0&&(i&t.expiredLanes)===0||et(t,i),h=c?q4(t,i):ch(t,i,!0),f=c;do{if(h===0){Bn&&!c&&tr(t,i,0,!1);break}else{if(n=t.current.alternate,f&&!B4(n)){h=ch(t,i,!1),f=!1;continue}if(h===2){if(f=i,t.errorRecoveryDisabledLanes&f)var b=0;else b=t.pendingLanes&-536870913,b=b!==0?b:b&536870912?536870912:0;if(b!==0){i=b;e:{var A=t;h=oo;var R=A.current.memoizedState.isDehydrated;if(R&&(Gn(A,b).flags|=256),b=ch(A,b,!1),b!==2){if(ah&&!R){A.errorRecoveryDisabledLanes|=f,Gr|=f,h=4;break e}f=aa,aa=h,f!==null&&(aa===null?aa=f:aa.push.apply(aa,f))}h=b}if(f=!1,h!==2)continue}}if(h===1){Gn(t,0),tr(t,i,0,!0);break}e:{switch(c=t,f=h,f){case 0:case 1:throw Error(s(345));case 4:if((i&4194048)!==i)break;case 6:tr(c,i,ha,!Qi);break e;case 2:aa=null;break;case 3:case 5:break;default:throw Error(s(329))}if((i&62914560)===i&&(h=Ul+300-Wt(),10<h)){if(tr(c,i,ha,!Qi),Ae(c,0,!0)!==0)break e;ki=i,c.timeoutHandle=Eb(Ky.bind(null,c,n,aa,Gl,rh,i,ha,Gr,Un,Qi,f,"Throttled",-0,0),h);break e}Ky(c,n,aa,Gl,rh,i,ha,Gr,Un,Qi,f,null,-0,0)}}break}while(!0);Za(t)}function Ky(t,i,n,c,h,f,b,A,R,q,Q,J,$,K){if(t.timeoutHandle=-1,J=i.subtreeFlags,J&8192||(J&16785408)===16785408){J={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ui},By(i,f,J);var fe=(f&62914560)===f?Ul-Wt():(f&4194048)===f?Wy-Wt():0;if(fe=E5(J,fe),fe!==null){ki=f,t.cancelPendingCommit=fe(ab.bind(null,t,i,f,n,c,h,b,A,R,Q,J,null,$,K)),tr(t,f,b,!q);return}}ab(t,i,f,n,c,h,b,A,R)}function B4(t){for(var i=t;;){var n=i.tag;if((n===0||n===11||n===15)&&i.flags&16384&&(n=i.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var c=0;c<n.length;c++){var h=n[c],f=h.getSnapshot;h=h.value;try{if(!oa(f(),h))return!1}catch{return!1}}if(n=i.child,i.subtreeFlags&16384&&n!==null)n.return=i,i=n;else{if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function tr(t,i,n,c){i&=~ih,i&=~Gr,t.suspendedLanes|=i,t.pingedLanes&=~i,c&&(t.warmLanes|=i),c=t.expirationTimes;for(var h=i;0<h;){var f=31-Ht(h),b=1<<f;c[f]=-1,h&=~b}n!==0&&kr(t,n,i)}function Wl(){return(Ue&6)===0?(co(0),!1):!0}function lh(){if(je!==null){if(We===0)var t=je.return;else t=je,mi=Mr=null,Eu(t),In=null,Ys=0,t=je;for(;t!==null;)Ny(t.alternate,t),t=t.return;je=null}}function Gn(t,i){var n=t.timeoutHandle;n!==-1&&(t.timeoutHandle=-1,s5(n)),n=t.cancelPendingCommit,n!==null&&(t.cancelPendingCommit=null,n()),ki=0,lh(),Ve=t,je=n=pi(t.current,null),Me=i,We=0,ua=null,Qi=!1,Bn=et(t,i),ah=!1,Un=ha=ih=Gr=Xi=ut=0,aa=oo=null,rh=!1,(i&8)!==0&&(i|=i&32);var c=t.entangledLanes;if(c!==0)for(t=t.entanglements,c&=i;0<c;){var h=31-Ht(c),f=1<<h;i|=t[h],c&=~f}return Ni=i,ul(),n}function Vy(t,i){Ne=null,O.H=Js,i===Pn||i===vl?(i=ug(),We=3):i===hu?(i=ug(),We=4):We=i===Bu?8:i!==null&&typeof i=="object"&&typeof i.then=="function"?6:1,ua=i,je===null&&(ut=1,Il(t,xa(i,t.current)))}function Zy(){var t=ca.current;return t===null?!0:(Me&4194048)===Me?Na===null:(Me&62914560)===Me||(Me&536870912)!==0?t===Na:!1}function Qy(){var t=O.H;return O.H=Js,t===null?Js:t}function Xy(){var t=O.A;return O.A=z4,t}function Yl(){ut=4,Qi||(Me&4194048)!==Me&&ca.current!==null||(Bn=!0),(Xi&134217727)===0&&(Gr&134217727)===0||Ve===null||tr(Ve,Me,ha,!1)}function ch(t,i,n){var c=Ue;Ue|=2;var h=Qy(),f=Xy();(Ve!==t||Me!==i)&&(Gl=null,Gn(t,i)),i=!1;var b=ut;e:do try{if(We!==0&&je!==null){var A=je,R=ua;switch(We){case 8:lh(),b=6;break e;case 3:case 2:case 9:case 6:ca.current===null&&(i=!0);var q=We;if(We=0,ua=null,Wn(t,A,R,q),n&&Bn){b=0;break e}break;default:q=We,We=0,ua=null,Wn(t,A,R,q)}}U4(),b=ut;break}catch(Q){Vy(t,Q)}while(!0);return i&&t.shellSuspendCounter++,mi=Mr=null,Ue=c,O.H=h,O.A=f,je===null&&(Ve=null,Me=0,ul()),b}function U4(){for(;je!==null;)Jy(je)}function q4(t,i){var n=Ue;Ue|=2;var c=Qy(),h=Xy();Ve!==t||Me!==i?(Gl=null,ql=Wt()+500,Gn(t,i)):Bn=et(t,i);e:do try{if(We!==0&&je!==null){i=je;var f=ua;t:switch(We){case 1:We=0,ua=null,Wn(t,i,f,1);break;case 2:case 9:if(cg(f)){We=0,ua=null,eb(i);break}i=function(){We!==2&&We!==9||Ve!==t||(We=7),Za(t)},f.then(i,i);break e;case 3:We=7;break e;case 4:We=5;break e;case 7:cg(f)?(We=0,ua=null,eb(i)):(We=0,ua=null,Wn(t,i,f,7));break;case 5:var b=null;switch(je.tag){case 26:b=je.memoizedState;case 5:case 27:var A=je;if(b?Db(b):A.stateNode.complete){We=0,ua=null;var R=A.sibling;if(R!==null)je=R;else{var q=A.return;q!==null?(je=q,$l(q)):je=null}break t}}We=0,ua=null,Wn(t,i,f,5);break;case 6:We=0,ua=null,Wn(t,i,f,6);break;case 8:lh(),ut=6;break e;default:throw Error(s(462))}}G4();break}catch(Q){Vy(t,Q)}while(!0);return mi=Mr=null,O.H=c,O.A=h,Ue=n,je!==null?0:(Ve=null,Me=0,ul(),ut)}function G4(){for(;je!==null&&!Gt();)Jy(je)}function Jy(t){var i=Ay(t.alternate,t,Ni);t.memoizedProps=t.pendingProps,i===null?$l(t):je=i}function eb(t){var i=t,n=i.alternate;switch(i.tag){case 15:case 0:i=yy(n,i,i.pendingProps,i.type,void 0,Me);break;case 11:i=yy(n,i,i.pendingProps,i.type.render,i.ref,Me);break;case 5:Eu(i);default:Ny(n,i),i=je=Xm(i,Ni),i=Ay(n,i,Ni)}t.memoizedProps=t.pendingProps,i===null?$l(t):je=i}function Wn(t,i,n,c){mi=Mr=null,Eu(i),In=null,Ys=0;var h=i.return;try{if(j4(t,h,i,n,Me)){ut=1,Il(t,xa(n,t.current)),je=null;return}}catch(f){if(h!==null)throw je=h,f;ut=1,Il(t,xa(n,t.current)),je=null;return}i.flags&32768?(He||c===1?t=!0:Bn||(Me&536870912)!==0?t=!1:(Qi=t=!0,(c===2||c===9||c===3||c===6)&&(c=ca.current,c!==null&&c.tag===13&&(c.flags|=16384))),tb(i,t)):$l(i)}function $l(t){var i=t;do{if((i.flags&32768)!==0){tb(i,Qi);return}t=i.return;var n=M4(i.alternate,i,Ni);if(n!==null){je=n;return}if(i=i.sibling,i!==null){je=i;return}je=i=t}while(i!==null);ut===0&&(ut=5)}function tb(t,i){do{var n=L4(t.alternate,t);if(n!==null){n.flags&=32767,je=n;return}if(n=t.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!i&&(t=t.sibling,t!==null)){je=t;return}je=t=n}while(t!==null);ut=6,je=null}function ab(t,i,n,c,h,f,b,A,R){t.cancelPendingCommit=null;do Fl();while(Et!==0);if((Ue&6)!==0)throw Error(s(327));if(i!==null){if(i===t.current)throw Error(s(177));if(f=i.lanes|i.childLanes,f|=Qd,Kt(t,n,f,b,A,R),t===Ve&&(je=Ve=null,Me=0),qn=i,er=t,ki=n,nh=f,sh=h,Yy=c,(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,F4(Ar,function(){return ob(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(i.flags&13878)!==0,(i.subtreeFlags&13878)!==0||c){c=O.T,O.T=null,h=D.p,D.p=2,b=Ue,Ue|=4;try{_4(t,i,n)}finally{Ue=b,D.p=h,O.T=c}}Et=1,ib(),rb(),nb()}}function ib(){if(Et===1){Et=0;var t=er,i=qn,n=(i.flags&13878)!==0;if((i.subtreeFlags&13878)!==0||n){n=O.T,O.T=null;var c=D.p;D.p=2;var h=Ue;Ue|=4;try{Hy(i,t);var f=xh,b=Gm(t.containerInfo),A=f.focusedElem,R=f.selectionRange;if(b!==A&&A&&A.ownerDocument&&qm(A.ownerDocument.documentElement,A)){if(R!==null&&$d(A)){var q=R.start,Q=R.end;if(Q===void 0&&(Q=q),"selectionStart"in A)A.selectionStart=q,A.selectionEnd=Math.min(Q,A.value.length);else{var J=A.ownerDocument||document,$=J&&J.defaultView||window;if($.getSelection){var K=$.getSelection(),fe=A.textContent.length,we=Math.min(R.start,fe),Ke=R.end===void 0?we:Math.min(R.end,fe);!K.extend&&we>Ke&&(b=Ke,Ke=we,we=b);var H=Um(A,we),P=Um(A,Ke);if(H&&P&&(K.rangeCount!==1||K.anchorNode!==H.node||K.anchorOffset!==H.offset||K.focusNode!==P.node||K.focusOffset!==P.offset)){var B=J.createRange();B.setStart(H.node,H.offset),K.removeAllRanges(),we>Ke?(K.addRange(B),K.extend(P.node,P.offset)):(B.setEnd(P.node,P.offset),K.addRange(B))}}}}for(J=[],K=A;K=K.parentNode;)K.nodeType===1&&J.push({element:K,left:K.scrollLeft,top:K.scrollTop});for(typeof A.focus=="function"&&A.focus(),A=0;A<J.length;A++){var X=J[A];X.element.scrollLeft=X.left,X.element.scrollTop=X.top}}nc=!!wh,xh=wh=null}finally{Ue=h,D.p=c,O.T=n}}t.current=i,Et=2}}function rb(){if(Et===2){Et=0;var t=er,i=qn,n=(i.flags&8772)!==0;if((i.subtreeFlags&8772)!==0||n){n=O.T,O.T=null;var c=D.p;D.p=2;var h=Ue;Ue|=4;try{Py(t,i.alternate,i)}finally{Ue=h,D.p=c,O.T=n}}Et=3}}function nb(){if(Et===4||Et===3){Et=0,_i();var t=er,i=qn,n=ki,c=Yy;(i.subtreeFlags&10256)!==0||(i.flags&10256)!==0?Et=5:(Et=0,qn=er=null,sb(t,t.pendingLanes));var h=t.pendingLanes;if(h===0&&(Ji=null),Ma(n),i=i.stateNode,Yt&&typeof Yt.onCommitFiberRoot=="function")try{Yt.onCommitFiberRoot(Er,i,void 0,(i.current.flags&128)===128)}catch{}if(c!==null){i=O.T,h=D.p,D.p=2,O.T=null;try{for(var f=t.onRecoverableError,b=0;b<c.length;b++){var A=c[b];f(A.value,{componentStack:A.stack})}}finally{O.T=i,D.p=h}}(ki&3)!==0&&Fl(),Za(t),h=t.pendingLanes,(n&261930)!==0&&(h&42)!==0?t===oh?lo++:(lo=0,oh=t):lo=0,co(0)}}function sb(t,i){(t.pooledCacheLanes&=i)===0&&(i=t.pooledCache,i!=null&&(t.pooledCache=null,Gs(i)))}function Fl(){return ib(),rb(),nb(),ob()}function ob(){if(Et!==5)return!1;var t=er,i=nh;nh=0;var n=Ma(ki),c=O.T,h=D.p;try{D.p=32>n?32:n,O.T=null,n=sh,sh=null;var f=er,b=ki;if(Et=0,qn=er=null,ki=0,(Ue&6)!==0)throw Error(s(331));var A=Ue;if(Ue|=4,qy(f.current),Dy(f,f.current,b,n),Ue=A,co(0,!1),Yt&&typeof Yt.onPostCommitFiberRoot=="function")try{Yt.onPostCommitFiberRoot(Er,f)}catch{}return!0}finally{D.p=h,O.T=c,sb(t,i)}}function lb(t,i,n){i=xa(n,i),i=Du(t.stateNode,i,2),t=Fi(t,i,2),t!==null&&(nt(t,2),Za(t))}function Ye(t,i,n){if(t.tag===3)lb(t,t,n);else for(;i!==null;){if(i.tag===3){lb(i,t,n);break}else if(i.tag===1){var c=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Ji===null||!Ji.has(c))){t=xa(n,t),n=cy(2),c=Fi(i,n,2),c!==null&&(dy(n,c,i,t),nt(c,2),Za(c));break}}i=i.return}}function dh(t,i,n){var c=t.pingCache;if(c===null){c=t.pingCache=new D4;var h=new Set;c.set(i,h)}else h=c.get(i),h===void 0&&(h=new Set,c.set(i,h));h.has(n)||(ah=!0,h.add(n),t=W4.bind(null,t,i,n),i.then(t,t))}function W4(t,i,n){var c=t.pingCache;c!==null&&c.delete(i),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,Ve===t&&(Me&n)===n&&(ut===4||ut===3&&(Me&62914560)===Me&&300>Wt()-Ul?(Ue&2)===0&&Gn(t,0):ih|=n,Un===Me&&(Un=0)),Za(t)}function cb(t,i){i===0&&(i=zt()),t=jr(t,i),t!==null&&(nt(t,i),Za(t))}function Y4(t){var i=t.memoizedState,n=0;i!==null&&(n=i.retryLane),cb(t,n)}function $4(t,i){var n=0;switch(t.tag){case 31:case 13:var c=t.stateNode,h=t.memoizedState;h!==null&&(n=h.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(s(314))}c!==null&&c.delete(i),cb(t,n)}function F4(t,i){return ks(t,i)}var Kl=null,Yn=null,uh=!1,Vl=!1,hh=!1,ar=0;function Za(t){t!==Yn&&t.next===null&&(Yn===null?Kl=Yn=t:Yn=Yn.next=t),Vl=!0,uh||(uh=!0,V4())}function co(t,i){if(!hh&&Vl){hh=!0;do for(var n=!1,c=Kl;c!==null;){if(t!==0){var h=c.pendingLanes;if(h===0)var f=0;else{var b=c.suspendedLanes,A=c.pingedLanes;f=(1<<31-Ht(42|t)+1)-1,f&=h&~(b&~A),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(n=!0,pb(c,f))}else f=Me,f=Ae(c,c===Ve?f:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(f&3)===0||et(c,f)||(n=!0,pb(c,f));c=c.next}while(n);hh=!1}}function K4(){db()}function db(){Vl=uh=!1;var t=0;ar!==0&&n5()&&(t=ar);for(var i=Wt(),n=null,c=Kl;c!==null;){var h=c.next,f=ub(c,i);f===0?(c.next=null,n===null?Kl=h:n.next=h,h===null&&(Yn=n)):(n=c,(t!==0||(f&3)!==0)&&(Vl=!0)),c=h}Et!==0&&Et!==5||co(t),ar!==0&&(ar=0)}function ub(t,i){for(var n=t.suspendedLanes,c=t.pingedLanes,h=t.expirationTimes,f=t.pendingLanes&-62914561;0<f;){var b=31-Ht(f),A=1<<b,R=h[b];R===-1?((A&n)===0||(A&c)!==0)&&(h[b]=kt(A,i)):R<=i&&(t.expiredLanes|=A),f&=~A}if(i=Ve,n=Me,n=Ae(t,t===i?n:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,n===0||t===i&&(We===2||We===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Os(c),t.callbackNode=null,t.callbackPriority=0;if((n&3)===0||et(t,n)){if(i=n&-n,i===t.callbackPriority)return i;switch(c!==null&&Os(c),Ma(n)){case 2:case 8:n=Xo;break;case 32:n=Ar;break;case 268435456:n=ci;break;default:n=Ar}return c=hb.bind(null,t),n=ks(n,c),t.callbackPriority=i,t.callbackNode=n,i}return c!==null&&c!==null&&Os(c),t.callbackPriority=2,t.callbackNode=null,2}function hb(t,i){if(Et!==0&&Et!==5)return t.callbackNode=null,t.callbackPriority=0,null;var n=t.callbackNode;if(Fl()&&t.callbackNode!==n)return null;var c=Me;return c=Ae(t,t===Ve?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(Fy(t,c,i),ub(t,Wt()),t.callbackNode!=null&&t.callbackNode===n?hb.bind(null,t):null)}function pb(t,i){if(Fl())return null;Fy(t,i,!0)}function V4(){o5(function(){(Ue&6)!==0?ks(Sr,K4):db()})}function ph(){if(ar===0){var t=Rn;t===0&&(t=cn,cn<<=1,(cn&261888)===0&&(cn=256)),ar=t}return ar}function fb(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:il(""+t)}function mb(t,i){var n=i.ownerDocument.createElement("input");return n.name=i.name,n.value=i.value,t.id&&n.setAttribute("form",t.id),i.parentNode.insertBefore(n,i),t=new FormData(t),n.parentNode.removeChild(n),t}function Z4(t,i,n,c,h){if(i==="submit"&&n&&n.stateNode===h){var f=fb((h[Qt]||null).action),b=c.submitter;b&&(i=(i=b[Qt]||null)?fb(i.formAction):b.getAttribute("formAction"),i!==null&&(f=i,b=null));var A=new ol("action","action",null,c,h);t.push({event:A,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(ar!==0){var R=b?mb(h,b):new FormData(h);Iu(n,{pending:!0,data:R,method:h.method,action:f},null,R)}}else typeof f=="function"&&(A.preventDefault(),R=b?mb(h,b):new FormData(h),Iu(n,{pending:!0,data:R,method:h.method,action:f},f,R))},currentTarget:h}]})}}for(var fh=0;fh<Zd.length;fh++){var mh=Zd[fh],Q4=mh.toLowerCase(),X4=mh[0].toUpperCase()+mh.slice(1);La(Q4,"on"+X4)}La($m,"onAnimationEnd"),La(Fm,"onAnimationIteration"),La(Km,"onAnimationStart"),La("dblclick","onDoubleClick"),La("focusin","onFocus"),La("focusout","onBlur"),La(f4,"onTransitionRun"),La(m4,"onTransitionStart"),La(g4,"onTransitionCancel"),La(Vm,"onTransitionEnd"),gn("onMouseEnter",["mouseout","mouseover"]),gn("onMouseLeave",["mouseout","mouseover"]),gn("onPointerEnter",["pointerout","pointerover"]),gn("onPointerLeave",["pointerout","pointerover"]),Or("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Or("onSelect","focusout contextmenu dragend focu
48sin keydown keyup mousedown mouseup selectionchange".split(" ")),Or("onBeforeInput",["compositionend","keypress","textInput","paste"]),Or("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Or("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Or("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var uo="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),J4=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(uo));function gb(t,i){i=(i&4)!==0;for(var n=0;n<t.length;n++){var c=t[n],h=c.event;c=c.listeners;e:{var f=void 0;if(i)for(var b=c.length-1;0<=b;b--){var A=c[b],R=A.instance,q=A.currentTarget;if(A=A.listener,R!==f&&h.isPropagationStopped())break e;f=A,h.currentTarget=q;try{f(h)}catch(Q){dl(Q)}h.currentTarget=null,f=R}else for(b=0;b<c.length;b++){if(A=c[b],R=A.instance,q=A.currentTarget,A=A.listener,R!==f&&h.isPropagationStopped())break e;f=A,h.currentTarget=q;try{f(h)}catch(Q){dl(Q)}h.currentTarget=null,f=R}}}}function Pe(t,i){var n=i[Td];n===void 0&&(n=i[Td]=new Set);var c=t+"__bubble";n.has(c)||(yb(i,t,2,!1),n.add(c))}function gh(t,i,n){var c=0;i&&(c|=4),yb(n,t,c,i)}var Zl="_reactListening"+Math.random().toString(36).slice(2);function yh(t){if(!t[Zl]){t[Zl]=!0,dm.forEach(function(n){n!=="selectionchange"&&(J4.has(n)||gh(n,!1,t),gh(n,!0,t))});var i=t.nodeType===9?t:t.ownerDocument;i===null||i[Zl]||(i[Zl]=!0,gh("selectionchange",!1,i))}}function yb(t,i,n,c){switch($b(i)){case 2:var h=O5;break;case 8:h=T5;break;default:h=Ph}n=h.bind(null,i,n,t),h=void 0,!Hd||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(h=!0),c?h!==void 0?t.addEventListener(i,n,{capture:!0,passive:h}):t.addEventListener(i,n,!0):h!==void 0?t.addEventListener(i,n,{passive:h}):t.addEventListener(i,n,!1)}function bh(t,i,n,c,h){var f=c;if((i&1)===0&&(i&2)===0&&c!==null)e:for(;;){if(c===null)return;var b=c.tag;if(b===3||b===4){var A=c.stateNode.containerInfo;if(A===h)break;if(b===4)for(b=c.return;b!==null;){var R=b.tag;if((R===3||R===4)&&b.stateNode.containerInfo===h)return;b=b.return}for(;A!==null;){if(b=pn(A),b===null)return;if(R=b.tag,R===5||R===6||R===26||R===27){c=f=b;continue e}A=A.parentNode}}c=c.return}Sm(function(){var q=f,Q=Ld(n),J=[];e:{var $=Zm.get(t);if($!==void 0){var K=ol,fe=t;switch(t){case"keypress":if(nl(n)===0)break e;case"keydown":case"keyup":K=$2;break;case"focusin":fe="focus",K=Ud;break;case"focusout":fe="blur",K=Ud;break;case"beforeblur":case"afterblur":K=Ud;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":K=Nm;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":K=M2;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":K=V2;break;case $m:case Fm:case Km:K=H2;break;case Vm:K=Q2;break;case"scroll":case"scrollend":K=P2;break;case"wheel":K=J2;break;case"copy":case"cut":case"paste":K=D2;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":K=Om;break;case"toggle":case"beforetoggle":K=t4}var we=(i&4)!==0,Ke=!we&&(t==="scroll"||t==="scrollend"),H=we?$!==null?$+"Capture":null:$;we=[];for(var P=q,B;P!==null;){var X=P;if(B=X.stateNode,X=X.tag,X!==5&&X!==26&&X!==27||B===null||H===null||(X=Ps(P,H),X!=null&&we.push(ho(P,X,B))),Ke)break;P=P.return}0<we.length&&($=new K($,fe,null,n,Q),J.push({event:$,listeners:we}))}}if((i&7)===0){e:{if($=t==="mouseover"||t==="pointerover",K=t==="mouseout"||t==="pointerout",$&&n!==Md&&(fe=n.relatedTarget||n.fromElement)&&(pn(fe)||fe[hn]))break e;if((K||$)&&($=Q.window===Q?Q:($=Q.ownerDocument)?$.defaultView||$.parentWindow:window,K?(fe=n.relatedTarget||n.toElement,K=q,fe=fe?pn(fe):null,fe!==null&&(Ke=d(fe),we=fe.tag,fe!==Ke||we!==5&&we!==27&&we!==6)&&(fe=null)):(K=null,fe=q),K!==fe)){if(we=Nm,X="onMouseLeave",H="onMouseEnter",P="mouse",(t==="pointerout"||t==="pointerover")&&(we=Om,X="onPointerLeave",H="onPointerEnter",P="pointer"),Ke=K==null?$:js(K),B=fe==null?$:js(fe),$=new we(X,P+"leave",K,n,Q),$.target=Ke,$.relatedTarget=B,X=null,pn(Q)===q&&(we=new we(H,P+"enter",fe,n,Q),we.target=B,we.relatedTarget=Ke,X=we),Ke=X,K&&fe)t:{for(we=e5,H=K,P=fe,B=0,X=H;X;X=we(X))B++;X=0;for(var be=P;be;be=we(be))X++;for(;0<B-X;)H=we(H),B--;for(;0<X-B;)P=we(P),X--;for(;B--;){if(H===P||P!==null&&H===P.alternate){we=H;break t}H=we(H),P=we(P)}we=null}else we=null;
vendor: 5,256 bytes, lines 48-49
48K!==null&&bb(J,$,K,we,!1),fe!==null&&Ke!==null&&bb(J,Ke,fe,we,!0)}}e:{if($=q?js(q):window,K=$.nodeName&&$.nodeName.toLowerCase(),K==="select"||K==="input"&&$.type==="file")var ze=Lm;else if(Im($))if(_m)ze=u4;else{ze=c4;var ye=l4}else K=$.nodeName,!K||K.toLowerCase()!=="input"||$.type!=="checkbox"&&$.type!=="radio"?q&&Id(q.elementType)&&(ze=Lm):ze=d4;if(ze&&(ze=ze(t,q))){Mm(J,ze,n,Q);break e}ye&&ye(t,$,q),t==="focusout"&&q&&$.type==="number"&&q.memoizedProps.value!=null&&Pd($,"number",$.value)}switch(ye=q?js(q):window,t){case"focusin":(Im(ye)||ye.contentEditable==="true")&&(Sn=ye,Fd=q,Bs=null);break;case"focusout":Bs=Fd=Sn=null;break;case"mousedown":Kd=!0;break;case"contextmenu":case"mouseup":case"dragend":Kd=!1,Wm(J,n,Q);break;case"selectionchange":if(p4)break;case"keydown":case"keyup":Wm(J,n,Q)}var Oe;if(Gd)e:{switch(t){case"compositionstart":var Le="onCompositionStart";break e;case"compositionend":Le="onCompositionEnd";break e;case"compositionupdate":Le="onCompositionUpdate";break e}Le=void 0}else xn?jm(t,n)&&(Le="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(Le="onCompositionStart");Le&&(Tm&&n.locale!=="ko"&&(xn||Le!=="onCompositionStart"?Le==="onCompositionEnd"&&xn&&(Oe=Am()):(Bi=Q,zd="value"in Bi?Bi.value:Bi.textContent,xn=!0)),ye=Ql(q,Le),0<ye.length&&(Le=new km(Le,t,null,n,Q),J.push({event:Le,listeners:ye}),Oe?Le.data=Oe:(Oe=Pm(n),Oe!==null&&(Le.data=Oe)))),(Oe=i4?r4(t,n):n4(t,n))&&(Le=Ql(q,"onBeforeInput"),0<Le.length&&(ye=new km("onBeforeInput","beforeinput",null,n,Q),J.push({event:ye,listeners:Le}),ye.data=Oe)),Z4(J,t,q,n,Q)}gb(J,i)})}function ho(t,i,n){return{instance:t,listener:i,currentTarget:n}}function Ql(t,i){for(var n=i+"Capture",c=[];t!==null;){var h=t,f=h.stateNode;if(h=h.tag,h!==5&&h!==26&&h!==27||f===null||(h=Ps(t,n),h!=null&&c.unshift(ho(t,h,f)),h=Ps(t,i),h!=null&&c.push(ho(t,h,f))),t.tag===3)return c;t=t.return}return[]}function e5(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function bb(t,i,n,c,h){for(var f=i._reactName,b=[];n!==null&&n!==c;){var A=n,R=A.alternate,q=A.stateNode;if(A=A.tag,R!==null&&R===c)break;A!==5&&A!==26&&A!==27||q===null||(R=q,h?(q=Ps(n,f),q!=null&&b.unshift(ho(n,q,R))):h||(q=Ps(n,f),q!=null&&b.push(ho(n,q,R)))),n=n.return}b.length!==0&&t.push({event:i,listeners:b})}var t5=/\r\n?/g,a5=/\u0000|\uFFFD/g;function vb(t){return(typeof t=="string"?t:""+t).replace(t5,` 49`).replace(a5,"")}function wb(t,i){return i=vb(i),vb(t)===i}function Fe(t,i,n,c,h,f){switch(n){case"children":typeof c=="string"?i==="body"||i==="textarea"&&c===""||bn(t,c):(typeof c=="number"||typeof c=="bigint")&&i!=="body"&&bn(t,""+c);break;case"className":tl(t,"class",c);break;case"tabIndex":tl(t,"tabindex",c);break;case"dir":case"role":case"viewBox":case"width":case"height":tl(t,n,c);break;case"style":wm(t,c,f);break;case"data":if(i!=="object"){tl(t,"data",c);break}case"src":case"href":if(c===""&&(i!=="a"||n!=="href")){t.removeAttribute(n);break}if(c==null||typeof c=="function"||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(n);break}c=il(""+c),t.setAttribute(n,c);break;case"action":case"formAction":if(typeof c=="function"){t.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof f=="function"&&(n==="formAction"?(i!=="input"&&Fe(t,i,"name",h.name,h,null),Fe(t,i,"formEncType",h.formEncType,h,null),Fe(t,i,"formMethod",h.formMethod,h,null),Fe(t,i,"formTarget",h.formTarget,h,null)):(Fe(t,i,"encType",h.encType,h,null),Fe(t,i,"method",h.method,h,null),Fe(t,i,"target",h.target,h,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(n);break}c=il(""+c),t.setAttribute(n,c);break;case"onClick":c!=null&&(t.onclick=ui);break;case"onScroll":c!=null&&Pe("scroll",t);break;case"onScrollEnd":c!=null&&Pe("scrollend",t);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(s(61));if(n=c.__html,n!=null){if(h.children!=null)throw Error(s(60));t.innerHTML=n}}break;case"multiple":t.multiple=c&&typeof c!="function"&&typeof c!="symbol";break;case"muted":t.muted=c&&typeof c!="function"&&typeof c!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(c==null||typeof c=="function"||typeof c=="boolean"||typeof c=="symbol"){t.removeAttribute("xlink:href");break}n=il(""+c),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(n,""+c):t.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInl
49ine":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":c&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(n,""):t.removeAttribute(n);break;case"capture":case"download":c===!0?t.setAttribute(n,""):c!==!1&&c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(n,c):t.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":c!=null&&typeof c!="function"&&typeof c!="symbol"&&!isNaN(c)&&1<=c?t.setAttribute(n,c):t.removeAttribute(n);break;case"rowSpan":case"start":c==null||typeof c=="function"||typeof c=="symbol"||isNaN(c)?t.removeAttribute(n):t.setAttribute(n,c);break;case"popover":Pe("beforetoggle",t),Pe("toggle",t),el(t,"popover",c);break;case"xlinkActuate":di(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":di(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":di(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":di(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":di(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":di(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":di(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":di(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":di(t,"http://www.w3.org/XML/1998/namespace","xml:space",c);break;case"is":el(t,"is",c);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=R2.get(n)||n,el(t,n,c))}}function vh(t,i,n,c,h,f){switch(n){case"style":wm(t,c,f);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(s(61));if(n=c.__html,n!=null){if(h.children!=null)throw Error(s(60));t.innerHTML=n}}break;case"children":typeof c=="string"?bn(t,c):(typeof c=="number"||typeof c=="bigint")&&bn(t,""+c);break;case"onScroll":c!=null&&Pe("scroll",t);break;case"onScrollEnd":c!=null&&Pe("scrollend",t);break;case"onClick":c!=null&&(t.onclick=ui);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!um.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(h=n.endsWith("Capture"),i=n.slice(2,h?n.length-7:void 0),f=t[Qt]||null,f=f!=null?f[n]:null,typeof f=="function"&&t.removeEventListener(i,f,h),typeof c=="function")){typeof f!="function"&&f!==null&&(n in t?t[n]=null:t.hasAttribute(n)&&t.removeAttribute(n)),t.addEventListener(i,c,h);break e}n in t?t[n]=c:c===!0?t.setAttribute(n,""):el(t,n,c)}}}function Lt(t,i,n){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Pe("error",t),Pe("load",t);var c=!1,h=!1,f;for(f in n)if(n.hasOwnProperty(f)){var b=n[f];if(b!=null)switch(f){case"src":c=!0;break;case"srcSet":h=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,i));default:Fe(t,i,f,b,n,null)}}h&&Fe(t,i,"srcSet",n.srcSet,n,null),c&&Fe(t,i,"src",n.src,n,null);return;case"input":Pe("invalid",t);var A=f=b=h=null,R=null,q=null;for(c in n)if(n.hasOwnProperty(c)){var Q=n[c];if(Q!=null)switch(c){case"name":h=Q;break;case"type":b=Q;break;case"checked":R=Q;break;case"defaultChecked":q=Q;break;case"value":f=Q;break;case"defaultValue":A=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(s(137,i));break;default:Fe(t,i,c,Q,n,null)}}gm(t,f,A,R,q,b,h,!1);return;case"select":Pe("invalid",t),c=b=f=null;for(h in n)if(n.hasOwnProperty(h)&&(A=n[h],A!=null))switch(h){case"value":f=A;break;case"defaultValue":b=A;break;case"multiple":c=A;default:Fe(t,i,h,A,n,null)}i=f,n=b,t.multiple=!!c,i!=null?yn(t,!!c,i,!1):n!=null&&yn(t,!!c,n,!0);return;case"textarea":Pe("invalid",t),f=h=c=null;for(b in n)if(n.hasOwnProperty(b)&&(A=n[b],A!=null))switch(b){case"value":c=A;break;case"defaultValue":h=A;break;case"children":f=A;break;case"dangerouslySetInnerHTML":if(A!=null)throw Error(s(91));break;default:Fe(t,i,b,A,n,null)}bm(t,c,h,f);return;case"option":for(R in n)if(n.hasOwnProperty(R)&&(c=n[R],c!=null))switch(R){case"selected":t.selected=c&&typeof c!="function"&&typeof c!="symbol";break;default:Fe(t,i,R,c,n,null)}return;case"dialog":Pe("beforetoggle",t),Pe("toggle",t),Pe("cancel",t),Pe("close",t);break;case"iframe":case"object":Pe("load",t);break;case"video":case"audio":for(c=0;c<uo.length;c++)Pe(uo[c],t);break;case"image":Pe("error",t),Pe("load",t);break;case"details":Pe("toggle",t);break;case"embed":case"source":case"link":Pe("error",t),Pe("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(q in n)if(n.hasOwnProperty(q)&&(c=n[q],c!=null))switch(q){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,i));default:Fe(t,i,q,c,n,null)}return;default:if(Id(i)){for(Q in n)n.hasOwnProperty(Q)&&(c=n[Q],c!==void 0&&vh(t,i,Q,c,n,void 0));return}}for(A in n)n.hasOwnProperty(A)&&(c=n[A],c!=null&&Fe(t,i,A,c,n,null))}function i5(t,i,n,c){switch(i){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var h=null,f=null,b=null,A=null,R=null,q=null,Q=null;for(K in n){var J=n[K];if(n.hasOwnProperty(K)&&J!=null)switch(K){case"checked":break;case"value":break;case"defaultValue":R=J;default:c.hasOwnProperty(K)||Fe(t,i,K,null,c,J)}}for(var $ in c){var K=c[$];if(J=n[$],c.hasOwnProperty($)&&(K!=null||J!=null))switch($){case"type":f=K;break;case"name":h=K;break;case"checked":q=K;break;case"defaultChecked":Q=K;break;case"value":b=K;break;case"defaultValue":A=K;break;case"children":case"dangerouslySetInnerHTML":if(K!=null)throw Error(s(137,i));break;default:K!==J&&Fe(t,i,$,K,c,J)}}jd(t,b,A,R,q,Q,f,h);return;case"select":K=b=A=$=null;for(f in n)if(R=n[f],n.hasOwnProperty(f)&&R!=null)switch(f){case"value":break;case"multiple":K=R;default:c.hasOwnProperty(f)||Fe(t,i,f,null,c,R)}for(h in c)if(f=c[h],R=n[h],c.hasOwnProperty(h)&&(f!=null||R!=null))switch(h){case"value":$=f;break;case"defaultValue":A=f;break;case"multiple":b=f;default:f!==R&&Fe(t,i,h,f,c,R)}i=A,n=b,c=K,$!=null?yn(t,!!n,$,!1):!!c!=!!n&&(i!=null?yn(t,!!n,i,!0):yn(t,!!n,n?[]:"",!1));return;case"textarea":K=$=null;for(A in n)if(h=n[A],n.hasOwnProperty(A)&&h!=null&&!c.hasOwnProperty(A))switch(A){case"value":break;case"children":break;default:Fe(t,i,A,null,c,h)}for(b in c)if(h=c[b],f=n[b],c.hasOwnProperty(b)&&(h!=null||f!=null))switch(b){case"value":$=h;break;case"defaultValue":K=h;break;case"children":break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(s(91));break;default:h!==f&&Fe(t,i,b,h,c,f)}ym(t,$,K);return;case"option":for(var fe in n)if($=n[fe],n.hasOwnProperty(fe)&&$!=null&&!c.hasOwnProperty(fe))switch(fe){case"selected":t.selected=!1;break;default:Fe(t,i,fe,null,c,$)}for(R in c)if($=c[R],K=n[R],c.hasOwnProperty(R)&&$!==K&&($!=null||K!=null))switch(R){case"selected":t.selected=$&&typeof $!="function"&&typeof $!="symbol";break;default:Fe(t,i,R,$,c,K)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var we in n)$=n[we],n.hasOwnProperty(we)&&$!=null&&!c.hasOwnProperty(we)&&Fe(t,i,we,null,c,$);for(q in c)if($=c[q],K=n[q],c.hasOwnProperty(q)&&$!==K&&($!=null||K!=null))switch(q){case"children":case"dangerouslySetInnerHTML":if($!=null)throw Error(s(137,i));break;default:Fe(t,i,q,$,c,K)}return;default:if(Id(i)){for(var Ke in n)$=n[Ke],n.hasOwnProperty(Ke)&&$!==void 0&&!c.hasOwnProperty(Ke)&&vh(t,i,Ke,void 0,c,$);for(Q in c)$=c[Q],K=n[Q],!c.hasOwnProperty(Q)||$===K||$===void 0&&K===void 0||vh(t,i,Q,$,c,K);return}}for(var H in n)$=n[H],n.hasOwnProperty(H)&&$!=null&&!c.hasOwnProperty(H)&&Fe(t,i,H,null,c,$);for(J in c)$=c[J],K=n[J],!c.hasOwnProperty(J)||$===K||$==null&&K==null||Fe(t,i,J,$,c,K)}function xb(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function r5(){if(typeof performance.getEntriesByType=="function"){for(var t=0,i=0,n=performance.getEntriesByType("resource"),c=0;c<n.length;c++){var h=n[c],f=h.transferSize,b=h.initiatorType,A=h.duration;if(f&&A&&xb(b)){for(b=0,A=h.responseEnd,c+=1;c<n.length;c++){var R=n[c],q=R.startTime;if(q>A)break;var Q=R.transferSize,J=R.initiatorType;Q&&xb(J)&&(R=R.responseEnd,b+=Q*(R<A?1:(A-q)/(R-q)))}if(--c,i+=8*(f+b)/(h.duration/1e3),t++,10<t)break}}if(0<t)return i/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var wh=null,xh=null;function Xl(t){return t.nodeType===9?t:t.ownerDocument}function Sb(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Ab(t,i){if(t===0)switch(i){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&i==="foreignObject"?0:t}function Sh(t,i){return t==="textarea"||t==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.children=="bigint"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var Ah=null;function n5(){var t=window.event;return t&&t.type==="popstate"?t===Ah?!1:(Ah=t,!0):(Ah=null,!1)}var Eb=typeof setTimeout=="function"?setTimeout:void 0,s5=typeof clearTimeout=="function"?clearTimeout:void 0,Nb=typeof Promise=="function"?Promise:void 0,o5=typeof queueMicrotask=="function"?queueMicrotask:typeof Nb<"u"?function(t){return Nb.resolve(null).then(t).cat
vendor: 12,211 bytes, line 49
49ch(l5)}:Eb;function l5(t){setTimeout(function(){throw t})}function ir(t){return t==="head"}function kb(t,i){var n=i,c=0;do{var h=n.nextSibling;if(t.removeChild(n),h&&h.nodeType===8)if(n=h.data,n==="/$"||n==="/&"){if(c===0){t.removeChild(h),Vn(i);return}c--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")c++;else if(n==="html")po(t.ownerDocument.documentElement);else if(n==="head"){n=t.ownerDocument.head,po(n);for(var f=n.firstChild;f;){var b=f.nextSibling,A=f.nodeName;f[Rs]||A==="SCRIPT"||A==="STYLE"||A==="LINK"&&f.rel.toLowerCase()==="stylesheet"||n.removeChild(f),f=b}}else n==="body"&&po(t.ownerDocument.body);n=h}while(n);Vn(i)}function Ob(t,i){var n=t;t=0;do{var c=n.nextSibling;if(n.nodeType===1?i?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(i?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),c&&c.nodeType===8)if(n=c.data,n==="/$"){if(t===0)break;t--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||t++;n=c}while(n)}function Eh(t){var i=t.firstChild;for(i&&i.nodeType===10&&(i=i.nextSibling);i;){var n=i;switch(i=i.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Eh(n),Cd(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}t.removeChild(n)}}function c5(t,i,n,c){for(;t.nodeType===1;){var h=n;if(t.nodeName.toLowerCase()!==i.toLowerCase()){if(!c&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(c){if(!t[Rs])switch(i){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(f=t.getAttribute("rel"),f==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(f!==h.rel||t.getAttribute("href")!==(h.href==null||h.href===""?null:h.href)||t.getAttribute("crossorigin")!==(h.crossOrigin==null?null:h.crossOrigin)||t.getAttribute("title")!==(h.title==null?null:h.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(f=t.getAttribute("src"),(f!==(h.src==null?null:h.src)||t.getAttribute("type")!==(h.type==null?null:h.type)||t.getAttribute("crossorigin")!==(h.crossOrigin==null?null:h.crossOrigin))&&f&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(i==="input"&&t.type==="hidden"){var f=h.name==null?null:""+h.name;if(h.type==="hidden"&&t.getAttribute("name")===f)return t}else return t;if(t=ka(t.nextSibling),t===null)break}return null}function d5(t,i,n){if(i==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=ka(t.nextSibling),t===null))return null;return t}function Tb(t,i){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!i||(t=ka(t.nextSibling),t===null))return null;return t}function Nh(t){return t.data==="$?"||t.data==="$~"}function kh(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function u5(t,i){var n=t.ownerDocument;if(t.data==="$~")t._reactRetry=i;else if(t.data!=="$?"||n.readyState!=="loading")i();else{var c=function(){i(),n.removeEventListener("DOMContentLoaded",c)};n.addEventListener("DOMContentLoaded",c),t._reactRetry=c}}function ka(t){for(;t!=null;t=t.nextSibling){var i=t.nodeType;if(i===1||i===3)break;if(i===8){if(i=t.data,i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"||i==="F!"||i==="F")break;if(i==="/$"||i==="/&")return null}}return t}var Oh=null;function Cb(t){t=t.nextSibling;for(var i=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"||n==="/&"){if(i===0)return ka(t.nextSibling);i--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||i++}t=t.nextSibling}return null}function Rb(t){t=t.previousSibling;for(var i=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(i===0)return t;i--}else n!=="/$"&&n!=="/&"||i++}t=t.previousSibling}return null}function jb(t,i,n){switch(i=Xl(n),t){case"html":if(t=i.documentElement,!t)throw Error(s(452));return t;case"head":if(t=i.head,!t)throw Error(s(453));return t;case"body":if(t=i.body,!t)throw Error(s(454));return t;default:throw Error(s(451))}}function po(t){for(var i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Cd(t)}var Oa=new Map,Pb=new Set;function Jl(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Oi=D.d;D.d={f:h5,r:p5,D:f5,C:m5,L:g5,m:y5,X:v5,S:b5,M:w5};function h5(){var t=Oi.f(),i=Wl();return t||i}function p5(t){var i=fn(t);i!==null&&i.tag===5&&i.type==="form"?Vg(i):Oi.r(t)}var $n=typeof document>"u"?null:document;function Ib(t,i,n){var c=$n;if(c&&typeof i=="string"&&i){var h=va(i);h='link[rel="'+t+'"][href="'+h+'"]',typeof n=="string"&&(h+='[crossorigin="'+n+'"]'),Pb.has(h)||(Pb.add(h),t={rel:t,crossOrigin:n,href:i},c.querySelector(h)===null&&(i=c.createElement("link"),Lt(i,"link",t),Ot(i),c.head.appendChild(i)))}}function f5(t){Oi.D(t),Ib("dns-prefetch",t,null)}function m5(t,i){Oi.C(t,i),Ib("preconnect",t,i)}function g5(t,i,n){Oi.L(t,i,n);var c=$n;if(c&&t&&i){var h='link[rel="preload"][as="'+va(i)+'"]';i==="image"&&n&&n.imageSrcSet?(h+='[imagesrcset="'+va(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(h+='[imagesizes="'+va(n.imageSizes)+'"]')):h+='[href="'+va(t)+'"]';var f=h;switch(i){case"style":f=Fn(t);break;case"script":f=Kn(t)}Oa.has(f)||(t=y({rel:"preload",href:i==="image"&&n&&n.imageSrcSet?void 0:t,as:i},n),Oa.set(f,t),c.querySelector(h)!==null||i==="style"&&c.querySelector(fo(f))||i==="script"&&c.querySelector(mo(f))||(i=c.createElement("link"),Lt(i,"link",t),Ot(i),c.head.appendChild(i)))}}function y5(t,i){Oi.m(t,i);var n=$n;if(n&&t){var c=i&&typeof i.as=="string"?i.as:"script",h='link[rel="modulepreload"][as="'+va(c)+'"][href="'+va(t)+'"]',f=h;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Kn(t)}if(!Oa.has(f)&&(t=y({rel:"modulepreload",href:t},i),Oa.set(f,t),n.querySelector(h)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(mo(f)))return}c=n.createElement("link"),Lt(c,"link",t),Ot(c),n.head.appendChild(c)}}}function b5(t,i,n){Oi.S(t,i,n);var c=$n;if(c&&t){var h=mn(c).hoistableStyles,f=Fn(t);i=i||"default";var b=h.get(f);if(!b){var A={loading:0,preload:null};if(b=c.querySelector(fo(f)))A.loading=5;else{t=y({rel:"stylesheet",href:t,"data-precedence":i},n),(n=Oa.get(f))&&Th(t,n);var R=b=c.createElement("link");Ot(R),Lt(R,"link",t),R._p=new Promise(function(q,Q){R.onload=q,R.onerror=Q}),R.addEventListener("load",function(){A.loading|=1}),R.addEventListener("error",function(){A.loading|=2}),A.loading|=4,ec(b,i,c)}b={type:"stylesheet",instance:b,count:1,state:A},h.set(f,b)}}}function v5(t,i){Oi.X(t,i);var n=$n;if(n&&t){var c=mn(n).hoistableScripts,h=Kn(t),f=c.get(h);f||(f=n.querySelector(mo(h)),f||(t=y({src:t,async:!0},i),(i=Oa.get(h))&&Ch(t,i),f=n.createElement("script"),Ot(f),Lt(f,"link",t),n.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},c.set(h,f))}}function w5(t,i){Oi.M(t,i);var n=$n;if(n&&t){var c=mn(n).hoistableScripts,h=Kn(t),f=c.get(h);f||(f=n.querySelector(mo(h)),f||(t=y({src:t,async:!0,type:"module"},i),(i=Oa.get(h))&&Ch(t,i),f=n.createElement("script"),Ot(f),Lt(f,"link",t),n.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},c.set(h,f))}}function Mb(t,i,n,c){var h=(h=ue.current)?Jl(h):null;if(!h)throw Error(s(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(i=Fn(n.href),n=mn(h).hoistableStyles,c=n.get(i),c||(c={type:"style",instance:null,count:0,state:null},n.set(i,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=Fn(n.href);var f=mn(h).hoistableStyles,b=f.get(t);if(b||(h=h.ownerDocument||h,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,b),(f=h.querySelector(fo(t)))&&!f._p&&(b.instance=f,b.state.loading=5),Oa.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Oa.set(t,n),f||x5(h,t,n,b.state))),i&&c===null)throw Error(s(528,""));return b}if(i&&c!==null)throw Error(s(529,""));return null;case"script":return i=n.async,n=n.src,typeof n=="string"&&i&&typeof i!="function"&&typeof i!="symbol"?(i=Kn(n),n=mn(h).hoistableScripts,c=n.get(i),c||(c={type:"script",instance:null,count:0,state:null},n.set(i,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,t))}}function Fn(t){return'href="'+va(t)+'"'}function fo(t){return'link[rel="stylesheet"]['+t+"]"}function Lb(t){return y({},t,{"data-precedence":t.precedence,precedence:null})}function x5(t,i,n,c){t.querySelector('link[rel="preload"][as="style"]['+i+"]")?c.loading=1:(i=t.createElement("link"),c.preload=i,i.addEventListener("load",function(){return c.loading|=1}),i.addEventListener("error",function(){return c.loading|=2}),Lt(i,"link",n),Ot(i),t.head.appendChild(i))}function Kn(t){return'[src="'+va(t)+'"]'}function mo(t){return"script[async]"+t}function _b(t,i,n){if(i.count++,i.instance===null)switch(i.type){case"style":var c=t.querySelector('style[data-href~="'+va(n.href)+'"]');if(c)return i.instance=c,Ot(c),c;var h=y({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),Ot(c),Lt(c,"style",h),ec(c,n.precedence,t),i.instance=c;case"stylesheet":h=Fn(n.href);var f=t.querySelector(fo(h));if(f)return i.state.loading|=4,i.instance=f,Ot(f),f;c=Lb(n),(h=Oa.get(h))&&Th(c,h),f=(t.ownerDocument||t).createElement("link"),Ot(f);var b=f;return b._p=new Promise(function(A,R){b.onload=A,b.onerror=R}),Lt(f,"link",c),i.state.loading|=4,ec(f,n.precedence,t),i.instance=f;case"script":return f=Kn(n.src),(h=t.querySelector(mo(f)))?(i.instance=h,Ot(h),h):(c=n,(h=Oa.get(f))&&(c=y({},n),Ch(c,h)),t=t.ownerDocument||t,h=t.createElement("script"),Ot(h),Lt(h,"link",c),t.head.appendChild(h),i.instance=h);case"void":return null;default:throw Error(s(443,i.type))}else i.type==="stylesheet"&&(i.state.loading&4)===0&&(c=i.instance,i.state.loading|=4,ec(c,n.precedence,t));return i.instance}function ec(t,i,n){for(var c=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),h=c.length?c[c.length-1]:null,f=h,b=0;b<c.length;b++){var A=c[b];if(A.dataset.precedence===i)f=A;else if(f!==h)break}f?f.parentNode.insertBefore(t,f.nextSibling):(i=n.nodeType===9?n.head:n,i.insertBefore(t,i.firstChild))}function Th(t,i){t.crossOrigin==null&&(t.crossOrigin=i.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=i.referrerPolicy),t.title==null&&(t.title=i.title)}function Ch(t,i){t.crossOrigin==null&&(t.crossOrigin=i.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=i.referrerPolicy),t.integrity==null&&(t.integrity=i.integrity)}var tc=null;function Hb(t,i,n){if(tc===null){var c=new Map,h=tc=new Map;h.set(n,c)}else h=tc,c=h.get(n),c||(c=new Map,h.set(n,c));if(c.has(t))return c;for(c.set(t,null),n=n.getElementsByTagName(t),h=0;h<n.length;h++){var f=n[h];if(!(f[Rs]||f[jt]||t==="link"&&f.getAttribute("rel")==="stylesheet")&&f.namespaceURI!=="http://www.w3.org/2000/svg"){var b=f.getAttribute(i)||"";b=t+b;var A=c.get(b);A?A.push(f):c.set(b,[f])}}return c}function zb(t,i,n){t=t.ownerDocument||t,t.head.insertBefore(n,i==="title"?t.querySelector("head > title"):null)}function S5(t,i,n){if(n===1||i.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof i.precedence!="string"||typeof i.href!="string"||i.href==="")break;return!0;case"link":if(typeof i.rel!="string"||typeof i.href!="string"||i.href===""||i.onLoad||i.onError)break;switch(i.rel){case"stylesheet":return t=i.disabled,typeof i.precedence=="string"&&t==null;default:return!0}case"script":if(i.async&&typeof i.async!="function"&&typeof i.async!="symbol"&&!i.onLoad&&!i.onError&&i.src&&typeof i.src=="string")return!0}return!1}function Db(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function A5(t,i,n,c){if(n.type==="stylesheet"&&(typeof c.media!="str
49ing"||matchMedia(c.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var h=Fn(c.href),f=i.querySelector(fo(h));if(f){i=f._p,i!==null&&typeof i=="object"&&typeof i.then=="function"&&(t.count++,t=ac.bind(t),i.then(t,t)),n.state.loading|=4,n.instance=f,Ot(f);return}f=i.ownerDocument||i,c=Lb(c),(h=Oa.get(h))&&Th(c,h),f=f.createElement("link"),Ot(f);var b=f;b._p=new Promise(function(A,R){b.onload=A,b.onerror=R}),Lt(f,"link",c),n.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,i),(i=n.state.preload)&&(n.state.loading&3)===0&&(t.count++,n=ac.bind(t),i.addEventListener("load",n),i.addEventListener("error",n))}}var Rh=0;function E5(t,i){return t.stylesheets&&t.count===0&&rc(t,t.stylesheets),0<t.count||0<t.imgCount?function(n){var c=setTimeout(function(){if(t.stylesheets&&rc(t,t.stylesheets),t.unsuspend){var f=t.unsuspend;t.unsuspend=null,f()}},6e4+i);0<t.imgBytes&&Rh===0&&(Rh=62500*r5());var h=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&rc(t,t.stylesheets),t.unsuspend)){var f=t.unsuspend;t.unsuspend=null,f()}},(t.imgBytes>Rh?50:800)+i);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(h)}}:null}function ac(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rc(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var ic=null;function rc(t,i){t.stylesheets=null,t.unsuspend!==null&&(t.count++,ic=new Map,i.forEach(N5,t),ic=null,ac.call(t))}function N5(t,i){if(!(i.state.loading&4)){var n=ic.get(t);if(n)var c=n.get(null);else{n=new Map,ic.set(t,n);for(var h=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f<h.length;f++){var b=h[f];(b.nodeName==="LINK"||b.getAttribute("media")!=="not all")&&(n.set(b.dataset.precedence,b),c=b)}c&&n.set(null,c)}h=i.instance,b=h.getAttribute("data-precedence"),f=n.get(b)||c,f===c&&n.set(null,h),n.set(b,h),this.count++,c=ac.bind(this),h.addEventListener("load",c),h.addEventListener("error",c),f?f.parentNode.insertBefore(h,f.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(h,t.firstChild)),i.state.loading|=4}}var go={$$typeof:M,Provider:null,Consumer:null,_currentValue:_,_currentValue2:_,_threadCount:0};function k5(t,i,n,c,h,f,b,A,R){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=zi(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zi(0),this.hiddenUpdates=zi(null),this.identifierPrefix=c,this.onUncaughtError=h,this.onCaughtError=f,this.onRecoverableError=b,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=R,this.incompleteTransitions=new Map}function Bb(t,i,n,c,h,f,b,A,R,q,Q,J){return t=new k5(t,i,n,b,R,q,Q,J,A),i=1,f===!0&&(i|=24),f=la(3,null,null,i),t.current=f,f.stateNode=t,i=cu(),i.refCount++,t.pooledCache=i,i.refCount++,f.memoizedState={element:c,isDehydrated:n,cache:i},pu(f),t}function Ub(t){return t?(t=Nn,t):Nn}function qb(t,i,n,c,h,f){h=Ub(h),c.context===null?c.context=h:c.pendingContext=h,c=$i(i),c.payload={element:n},f=f===void 0?null:f,f!==null&&(c.callback=f),n=Fi(t,c,i),n!==null&&(ia(n,t,i),Fs(n,t,i))}function Gb(t,i){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<i?n:i}}function jh(t,i){Gb(t,i),(t=t.alternate)&&Gb(t,i)}function Wb(t){if(t.tag===13||t.tag===31){var i=jr(t,67108864);i!==null&&ia(i,t,67108864),jh(t,67108864)}}function Yb(t){if(t.tag===13||t.tag===31){var i=pa();i=un(i);var n=jr(t,i);n!==null&&ia(n,t,i),jh(t,i)}}var nc=!0;function O5(t,i,n,c){var h=O.T;O.T=null;var f=D.p;try{D.p=2,Ph(t,i,n,c)}finally{D.p=f,O.T=h}}function T5(t,i,n,c){var h=O.T;O.T=null;var f=D.p;try{D.p=8,Ph(t,i,n,c)}finally{D.p=f,O.T=h}}function Ph(t,i,n,c){if(nc){var h=Ih(c);if(h===null)bh(t,i,c,sc,n),Fb(t,c);else if(R5(h,t,i,n,c))c.stopPropagation();else if(Fb(t,c),i&4&&-1<C5.indexOf(t)){for(;h!==null;){var f=fn(h);if(f!==null)switch(f.tag){case 3:if(f=f.stateNode,f.current.memoizedState.isDehydrated){var b=$a(f.pendingLanes);if(b!==0){var A=f;for(A.pendingLanes|=2,A.entangledLanes|=2;b;){var R=1<<31-Ht(b);A.entanglements[1]|=R,b&=~R}Za(f),(Ue&6)===0&&(ql=Wt()+500,co(0))}}break;case 31:case 13:A=jr(f,2),A!==null&&ia(A,f,2),Wl(),jh(f,2)}if(f=Ih(c),f===null&&bh(t,i,c,sc,n),f===h)break;h=f}h!==null&&c.stopPropagation()}else bh(t,i,c,null,n)}}function Ih(t){return t=Ld(t),Mh(t)}var sc=null;function Mh(t){if(sc=null,t=pn(t),t!==null){var i=d(t);if(i===null)t=null;else{var n=i.tag;if(n===13){if(t=u(i),t!==null)return t;t=null}else if(n===31){if(t=p(i),t!==null)return t;t=null}else if(n===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;t=null}else i!==t&&(t=null)}}return sc=t,null}function $b(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close"
vendor: 6,256 bytes, line 49
49:case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Nd()){case Sr:return 2;case Xo:return 8;case Ar:case Ts:return 32;case ci:return 268435456;default:return 32}default:return 32}}var Lh=!1,rr=null,nr=null,sr=null,yo=new Map,bo=new Map,or=[],C5="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Fb(t,i){switch(t){case"focusin":case"focusout":rr=null;break;case"dragenter":case"dragleave":nr=null;break;case"mouseover":case"mouseout":sr=null;break;case"pointerover":case"pointerout":yo.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":bo.delete(i.pointerId)}}function vo(t,i,n,c,h,f){return t===null||t.nativeEvent!==f?(t={blockedOn:i,domEventName:n,eventSystemFlags:c,nativeEvent:f,targetContainers:[h]},i!==null&&(i=fn(i),i!==null&&Wb(i)),t):(t.eventSystemFlags|=c,i=t.targetContainers,h!==null&&i.indexOf(h)===-1&&i.push(h),t)}function R5(t,i,n,c,h){switch(i){case"focusin":return rr=vo(rr,t,i,n,c,h),!0;case"dragenter":return nr=vo(nr,t,i,n,c,h),!0;case"mouseover":return sr=vo(sr,t,i,n,c,h),!0;case"pointerover":var f=h.pointerId;return yo.set(f,vo(yo.get(f)||null,t,i,n,c,h)),!0;case"gotpointercapture":return f=h.pointerId,bo.set(f,vo(bo.get(f)||null,t,i,n,c,h)),!0}return!1}function Kb(t){var i=pn(t.target);if(i!==null){var n=d(i);if(n!==null){if(i=n.tag,i===13){if(i=u(n),i!==null){t.blockedOn=i,lm(t.priority,function(){Yb(n)});return}}else if(i===31){if(i=p(n),i!==null){t.blockedOn=i,lm(t.priority,function(){Yb(n)});return}}else if(i===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function oc(t){if(t.blockedOn!==null)return!1;for(var i=t.targetContainers;0<i.length;){var n=Ih(t.nativeEvent);if(n===null){n=t.nativeEvent;var c=new n.constructor(n.type,n);Md=c,n.target.dispatchEvent(c),Md=null}else return i=fn(n),i!==null&&Wb(i),t.blockedOn=n,!1;i.shift()}return!0}function Vb(t,i,n){oc(t)&&n.delete(i)}function j5(){Lh=!1,rr!==null&&oc(rr)&&(rr=null),nr!==null&&oc(nr)&&(nr=null),sr!==null&&oc(sr)&&(sr=null),yo.forEach(Vb),bo.forEach(Vb)}function lc(t,i){t.blockedOn===i&&(t.blockedOn=null,Lh||(Lh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,j5)))}var cc=null;function Zb(t){cc!==t&&(cc=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){cc===t&&(cc=null);for(var i=0;i<t.length;i+=3){var n=t[i],c=t[i+1],h=t[i+2];if(typeof c!="function"){if(Mh(c||n)===null)continue;break}var f=fn(n);f!==null&&(t.splice(i,3),i-=3,Iu(f,{pending:!0,data:h,method:n.method,action:c},c,h))}}))}function Vn(t){function i(R){return lc(R,t)}rr!==null&&lc(rr,t),nr!==null&&lc(nr,t),sr!==null&&lc(sr,t),yo.forEach(i),bo.forEach(i);for(var n=0;n<or.length;n++){var c=or[n];c.blockedOn===t&&(c.blockedOn=null)}for(;0<or.length&&(n=or[0],n.blockedOn===null);)Kb(n),n.blockedOn===null&&or.shift();if(n=(t.ownerDocument||t).$$reactFormReplay,n!=null)for(c=0;c<n.length;c+=3){var h=n[c],f=n[c+1],b=h[Qt]||null;if(typeof f=="function")b||Zb(n);else if(b){var A=null;if(f&&f.hasAttribute("formAction")){if(h=f,b=f[Qt]||null)A=b.formAction;else if(Mh(h)!==null)continue}else A=b.action;typeof A=="function"?n[c+1]=A:(n.splice(c,3),c-=3),Zb(n)}}}function Qb(){function t(f){f.canIntercept&&f.info==="react-transition"&&f.intercept({handler:function(){return new Promise(function(b){return h=b})},focusReset:"manual",scroll:"manual"})}function i(){h!==null&&(h(),h=null),c||setTimeout(n,20)}function n(){if(!c&&!navigation.transition){var f=navigation.currentEntry;f&&f.url!=null&&navigation.navigate(f.url,{state:f.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var c=!1,h=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",i),navigation.addEventListener("navigateerror",i),setTimeout(n,100),function(){c=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",i),navigation.removeEventListener("navigateerror",i),h!==null&&(h(),h=null)}}}function _h(t){this._internalRoot=t}dc.prototype.render=_h.prototype.render=function(t){var i=this._internalRoot;if(i===null)throw Error(s(409));var n=i.current,c=pa();qb(n,c,t,i,null,null)},dc.prototype.unmount=_h.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var i=t.containerInfo;qb(t.current,2,null,t,null,null),Wl(),i[hn]=null}};function dc(t){this._internalRoot=t}dc.prototype.unstable_scheduleHydration=function(t){if(t){var i=Od();t={blockedOn:null,target:t,priority:i};for(var n=0;n<or.length&&i!==0&&i<or[n].priority;n++);or.splice(n,0,t),n===0&&Kb(t)}};var Xb=a.version;if(Xb!=="19.2.1")throw Error(s(527,Xb,"19.2.1"));D.findDOMNode=function(t){var i=t._reactInternals;if(i===void 0)throw typeof t.render=="function"?Error(s(188)):(t=Object.keys(t).join(","),Error(s(268,t)));return t=g(i),t=t!==null?v(t):null,t=t===null?null:t.stateNode,t};var P5={bundleType:0,version:"19.2.1",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.1"};
49if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var uc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!uc.isDisabled&&uc.supportsFiber)try{Er=uc.inject(P5),Yt=uc}catch{}}return xo.createRoot=function(t,i){if(!l(t))throw Error(s(299));var n=!1,c="",h=ny,f=sy,b=oy;return i!=null&&(i.unstable_strictMode===!0&&(n=!0),i.identifierPrefix!==void 0&&(c=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(f=i.onCaughtError),i.onRecoverableError!==void 0&&(b=i.onRecoverableError)),i=Bb(t,1,!1,null,null,n,c,null,h,f,b,Qb),t[hn]=i.current,yh(t),new _h(i)},xo.hydrateRoot=function(t,i,n){if(!l(t))throw Error(s(299));var c=!1,h="",f=ny,b=sy,A=oy,R=null;return n!=null&&(n.unstable_strictMode===!0&&(c=!0),n.identifierPrefix!==void 0&&(h=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(b=n.onCaughtError),n.onRecoverableError!==void 0&&(A=n.onRecoverableError),n.formState!==void 0&&(R=n.formState)),i=Bb(t,1,!0,i,n??null,c,h,R,f,b,A,Qb),i.context=Ub(null),n=i.current,c=pa(),c=un(c),h=$i(c),h.callback=null,Fi(n,h,c),n=c,i.current.lanes=n,nt(i,n),Za(i),t[hn]=i.current,yh(t),new dc(i)},xo.version="19.2.1",xo}var S0;function O3(){if(S0)return Uh.exports;S0=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),Uh.exports=k3(),Uh.exports}var T3=O3(),C3=(function(){function e(){this.keyToValue=new Map,this.valueToKey=new Map}return e.prototype.set=function(a,r){this.keyToValue.set(a,r),this.valueToKey.set(r,a)},e.prototype.getByKey=function(a){return this.keyToValue.get(a)},e.prototype.getByValue=function(a){return this.valueToKey.get(a)},e.prototype.clear=function(){this.keyToValue.clear(),this.valueToKey.clear()},e})(),ax=(function(){function e(a){this.generateIdentifier=a,this.kv=new C3}return e.prototype.register=function(a,r){this.kv.getByValue(a)||(r||(r=this.generateIdentifier(a)),this.kv.set(r,a))},e.prototype.clear=function(){this.kv.clear()},e.prototype.getIdentifier=function(a){return this.kv.getByValue(a)},e.prototype.getValue=function(a){return this.kv.getByKey(a)},e})(),R3=(function(){var e=function(a,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,l){s.__proto__=l}||function(s,l){for(var d in l)Object.prototype.hasOwnProperty.call(l,d)&&(s[d]=l[d])},e(a,r)};return function(a,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(a,r);function s(){this.constructor=a}a.prototype=r===null?Object.create(r):(s.prototype=r.prototype,new s)}})(),j3=(function(e){R3(a,e);function a(){var r=e.call(this,function(s){return s.name})||this;return r.classToAllowedProps=new Map,r}return a.prototype.register=function(r,s){typeof s=="object"?(s.allowProps&&this.classToAllowedProps.set(r,s.allowProps),e.prototype.register.call(this,r,s.identifier)):e.prototype.register.call(this,r,s)},a.prototype.getAllowedProps=function(r){return this.classToAllowedProps.get(r)},a})(ax),P3=function(e,a){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s=r.call(e),l,d=[],u;try{for(;(a===void 0||a-- >0)&&!(l=s.next()).done;)d.push(l.value)}catch(p){u={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(u)throw u.error}}return d};function I3(e){if("values"in Object)return Object.values(e);var a=[];for(var r in e)e.hasOwnProperty(r)&&a.push(e[r]);return a}function M3(e,a){var r=I3(e);if("find"in r)return r.find(a);for(var s=r,l=0;l<s.length;l++){var d=s[l];if(a(d))return d}}function us(e,a){Object.entries(e).forEach(function(r){var s=P3(r,2),l=s[0],d=s[1];return a(d,l)})}function jc(e,a){return e.indexOf(a)!==-1}function A0(e,a){for(var r=0;r<e.length;r++){var s=e[r];if(a(s))return s}}var L3=(function(){function e(){this.transfomers={}}return e.prototype.register=function(a){this.transfomers[a.name]=a},e.prototype.findApplicable=function(a){return M3(this.transfomers,function(r){return r.isApplicable(a)})},e.prototype.findByName=function(a){return this.transfomers[a]},e})(),_3=function(e){return Object.prototype.toString.call(e).slice(8,-1)},ix=function(e){return typeof e>"u"},H3=function(e){return e===null},jo=function(e){return typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype},wp=function(e){return jo(e)&&Object.keys(e).length===0},mr=function(e){return Array.isArray(e)},z3=function(e){return typeof e=="string"},D3=function(e){return typeof e=="number"&&!isNaN(e)},B3=function(e){return typeof e=="boolean"},U3=function(e){return e instanceof RegExp},Po=function(e){return e instanceof Map},Io=function(e){return e instanceof Set},rx=function(e){return _3(e)==="Symbol"},q3=function(e){return e instanceof Date&&!isNaN(e.valueOf())},G3=function(e){return e instanceof Error},E0=function(e){return typeof e=="number"&&isNaN(e)},W3=function(e){return B3(e)||H3(e)||ix(e)||D3(e)||z3(e)||rx(e)},Y3=function(e){return typeof e=="bigint"},$3=function(e){return e===1/0||e===-1/0},F3=function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},K3=function(e){return e instanceof URL},nx=function(e){return e.replace(/\./g,"\\.")},Yh=function(e){return e.map(String).map(nx).join(".")},To=function(e){for(var a=[],r="",s=0;s<e.length;s++){var l=e.charAt(s),d=l==="\\"&&e.charAt(s+1)===".";if(d){r+=".",s++;continue}var u=l===".";if(u){a.push(r),r="";
49continue}r+=l}var p=r;return a.push(p),a},xp=function(){return xp=Object.assign||function(e){for(var a,r=1,s=arguments.length;r<s;r++){a=arguments[r];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},xp.apply(this,arguments)},Sp=function(e,a){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s=r.call(e),l,d=[],u;try{for(;(a===void 0||a-- >0)&&!(l=s.next()).done;)d.push(l.value)}catch(p){u={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(u)throw u.error}}return d},Ap=function(e,a){for(var r=0,s=a.length,l=e.length;r<s;r++,l++)e[l]=a[r];return e};function Qa(e,a,r,s){return{isApplicable:e,annotation:a,transform:r,untransform:s}}var sx=[Qa(ix,"undefined",function(){return null},function(){}),Qa(Y3,"bigint",function(e){return e.toString()},function(e){return typeof BigInt<"u"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)}),Qa(q3,"Date",function(e){return e.toISOString()},function(e){return new Date(e)}),Qa(G3,"Error",function(e,a){var r={name:e.name,message:e.message};return a.allowedErrorProps.forEach(function(s){r[s]=e[s]}),r},function(e,a){var r=new Error(e.message);return r.name=e.name,r.stack=e.stack,a.allowedErrorProps.forEach(function(s){r[s]=e[s]}),r}),Qa(U3,"regexp",function(e){return""+e},function(e){var a=e.slice(1,e.lastIndexOf("/")),r=e.slice(e.lastIndexOf("/")+1);return new RegExp(a,r)}),Qa(Io,"set",function(e){return Ap([],Sp(e.values()))},function(e){return new Set(e)}),Qa(Po,"map",function(e){return Ap([],Sp(e.entries()))},function(e){return new Map(e)}),Qa(function(e){return E0(e)||$3(e)},"number",function(e){return E0(e)?"NaN":e>0?"Infinity":"-Infinity"},Number),Qa(function(e){return e===0&&1/e===-1/0},"number",function(){return"-0"},Number),Qa(K3,"URL",function(e){return e.toString()},function(e){return new URL(e)})];function id(e,a,r,s){return{isApplicable:e,annotation:a,transform:r,untransform:s}}var ox=id(function(e,a){if(rx(e)){var r=!!a.symbolRegistry.getIdentifier(e);return r}return!1},function(e,a){var r=a.symbolRegistry.getIdentifier(e);return["symbol",r]},function(e){return e.description},function(e,a,r){var s=r.symbolRegistry.getValue(a[1]);if(!s)throw new Error("Trying to deserialize unknown symbol");return s}),V3=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce(function(e,a){return e[a.name]=a,e},{}),lx=id(F3,function(e){return["typed-array",e.constructor.name]},function(e){return Ap([],Sp(e))},function(e,a){var r=V3[a[1]];if(!r)throw new Error("Trying to deserialize unknown typed array");return new r(e)});function cx(e,a){if(e?.constructor){var r=!!a.classRegistry.getIdentifier(e.constructor);return r}return!1}var dx=id(cx,function(e,a){var r=a.classRegistry.getIdentifier(e.constructor);return["class",r]},function(e,a){var r=a.classRegistry.getAllowedProps(e.constructor);if(!r)return xp({},e);var s={};return r.forEach(function(l){s[l]=e[l]}),s},function(e,a,r){var s=r.classRegistry.getValue(a[1]);if(!s)throw new Error("Trying to deserialize unknown class - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564");return Object.assign(Object.create(s.prototype),e)}),ux=id(function(e,a){return!!a.customTransformerRegistry.findApplicable(e)},function(e,a){var r=a.customTransformerRegistry.findApplicable(e);return["custom",r.name]},function(e,a){var r=a.customTransformerRegistry.findApplicable(e);return r.serialize(e)},function(e,a,r){var s=r.customTransformerRegistry.findByName(a[1]);if(!s)throw new Error("Trying to deserialize unknown custom value");return s.deserialize(e)}),Z3=[dx,ox,ux,lx],N0=function(e,a){var r=A0(Z3,function(l){return l.isApplicable(e,a)});if(r)return{value:r.transform(e,a),type:r.annotation(e,a)};var s=A0(sx,function(l){return l.isApplicable(e,a)});if(s)return{value:s.transform(e,a),type:s.annotation}},hx={};sx.forEach(function(e){hx[e.annotation]=e});var Q3=function(e,a,r){if(mr(a))switch(a[0]){case"symbol":return ox.untransform(e,a,r);case"class":return dx.untransform(e,a,r);case"custom":return ux.untransform(e,a,r);case"typed-array":return lx.untransform(e,a,r);default:throw new Error("Unknown transformation: "+a)}else{var s=hx[a];if(!s)throw new Error("Unknown transformation: "+a);return s.untransform(e,r)}},as=function(e,a){for(var r=e.keys();a>0;)r.next(),a--;return r.next().value};function px(e){if(jc(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(jc(e,"prototype"))throw new Error("prototype is not allowed as a property");if(jc(e,"constructor"))throw new Error("constructor is not allowed as a property")}var X3=function(e,a){px(a);for(var r=0;r<a.length;r++){var s=a[r];if(Io(e))e=as(e,+s);else if(Po(e)){var l=+s,d=+a[++r]==0?"key":"value",u=as(e,l);switch(d){case"key":e=u;break;case"value":e=e.get(u);break}}else e=e[s]}return e},Ep=function(e,a,r){if(px(a),a.length===0)return r(e);for(var s=e,l=0;l<a.length-1;l++){var d=a[l];if(mr(s)){var u=+d;s=s[u]}else if(jo(s))s=s[d];else if(Io(s)){var p=+d;s=as(s,p)}else if(Po(s)){var m=l===a.length-2;if(m)break;var p=+d,g=+a[++l]==0?"key":"value",v=as(s,p);switch(g){case"key":s=v;break;case"value":s=s.get(v);break}}}var y=a[a.length-1];if(mr(s)?s[+y]=r(s[+y]):jo(s)&&(s[y]=r(s[y])),Io(s)){var S=as(s,+y),E=r(S);S!==E&&(s.delete(S),s.add(E))}if(Po(s)){var p=+a[a.length-2],N=as(s,p),g=+y==0?"key":"value";switch(g){case"key":{var x=r(N);
49s.set(x,s.get(N)),x!==N&&s.delete(N);break}case"value":{s.set(N,r(s.get(N)));break}}}return e},Ci=function(e,a){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s=r.call(e),l,d=[],u;try{for(;(a===void 0||a-- >0)&&!(l=s.next()).done;)d.push(l.value)}catch(p){u={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(u)throw u.error}}return d},hr=function(e,a){for(var r=0,s=a.length,l=e.length;r<s;r++,l++)e[l]=a[r];return e};function Np(e,a,r){if(r===void 0&&(r=[]),!!e){if(!mr(e)){us(e,function(u,p){return Np(u,a,hr(hr([],Ci(r)),Ci(To(p))))});return}var s=Ci(e,2),l=s[0],d=s[1];d&&us(d,function(u,p){Np(u,a,hr(hr([],Ci(r)),Ci(To(p))))}),a(l,r)}}function J3(e,a,r){return Np(a,function(s,l){e=Ep(e,l,function(d){return Q3(d,s,r)})}),e}function eE(e,a){function r(u,p){var m=X3(e,To(p));u.map(To).forEach(function(g){e=Ep(e,g,function(){return m})})}if(mr(a)){var s=Ci(a,2),l=s[0],d=s[1];l.forEach(function(u){e=Ep(e,To(u),function(){return e})}),d&&us(d,r)}else us(a,r);return e}var tE=function(e,a){return jo(e)||mr(e)||Po(e)||Io(e)||cx(e,a)};function aE(e,a,r){var s=r.get(e);s?s.push(a):r.set(e,[a])}function iE(e,a){var r={},s=void 0;return e.forEach(function(l){if(!(l.length<=1)){a||(l=l.map(function(m){return m.map(String)}).sort(function(m,g){return m.length-g.length}));var d=Ci(l),u=d[0],p=d.slice(1);u.length===0?s=p.map(Yh):r[Yh(u)]=p.map(Yh)}}),s?wp(r)?[s]:[s,r]:wp(r)?void 0:r}var fx=function(e,a,r,s,l,d,u){var p;l===void 0&&(l=[]),d===void 0&&(d=[]),u===void 0&&(u=new Map);var m=W3(e);if(!m){aE(e,l,a);var g=u.get(e);if(g)return s?{transformedValue:null}:g}if(!tE(e,r)){var v=N0(e,r),y=v?{transformedValue:v.value,annotations:[v.type]}:{transformedValue:e};return m||u.set(e,y),y}if(jc(d,e))return{transformedValue:null};var S=N0(e,r),E=(p=S?.value)!==null&&p!==void 0?p:e,N=mr(E)?[]:{},x={};us(E,function(C,I){var M=fx(C,a,r,s,hr(hr([],Ci(l)),[I]),hr(hr([],Ci(d)),[e]),u);N[I]=M.transformedValue,mr(M.annotations)?x[I]=M.annotations:jo(M.annotations)&&us(M.annotations,function(Y,L){x[nx(I)+"."+L]=Y})});var k=wp(x)?{transformedValue:N,annotations:S?[S.type]:void 0}:{transformedValue:N,annotations:S?[S.type,x]:x};return m||u.set(e,k),k};function mx(e){return Object.prototype.toString.call(e).slice(8,-1)}function k0(e){return mx(e)==="Array"}function rE(e){if(mx(e)!=="Object")return!1;const a=Object.getPrototypeOf(e);return!!a&&a.constructor===Object&&a===Object.prototype}function nE(e,a,r,s,l){const d={}.propertyIsEnumerable.call(s,a)?"enumerable":"nonenumerable";d==="enumerable"&&(e[a]=r),l&&d==="nonenumerable"&&Object.defineProperty(e,a,{value:r,enumerable:!1,writable:!0,configurable:!0})}function kp(e,a={}){if(k0(e))return e.map(l=>kp(l,a));if(!rE(e))return e;const r=Object.getOwnPropertyNames(e),s=Object.getOwnPropertySymbols(e);return[...r,...s].reduce((l,d)=>{if(k0(a.props)&&!a.props.includes(d))return l;const u=e[d],p=kp(u,a);return nE(l,d,p,e,a.nonenumerable),l},{})}var Yr=function(){return Yr=Object.assign||function(e){for(var a,r=1,s=arguments.length;r<s;r++){a=arguments[r];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},Yr.apply(this,arguments)},sE=function(e,a){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s=r.call(e),l,d=[],u;try{for(;(a===void 0||a-- >0)&&!(l=s.next()).done;)d.push(l.value)}catch(p){u={error:p}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(u)throw u.error}}return d},oE=function(e,a){for(var r=0,s=a.length,l=e.length;r<s;r++,l++)e[l]=a[r];return e},Ii=(function(){function e(a){var r=a===void 0?{}:a,s=r.dedupe,l=s===void 0?!1:s;this.classRegistry=new j3,this.symbolRegistry=new ax(function(d){var u;return(u=d.description)!==null&&u!==void 0?u:""}),this.customTransformerRegistry=new L3,this.allowedErrorProps=[],this.dedupe=l}return e.prototype.serialize=function(a){var r=new Map,s=fx(a,r,this,this.dedupe),l={json:s.transformedValue};s.annotations&&(l.meta=Yr(Yr({},l.meta),{values:s.annotations}));var d=iE(r,this.dedupe);return d&&(l.meta=Yr(Yr({},l.meta),{referentialEqualities:d})),l},e.prototype.deserialize=function(a){var r=a.json,s=a.meta,l=kp(r);return s?.values&&(l=J3(l,s.values,this)),s?.referentialEqualities&&(l=eE(l,s.referentialEqualities)),l},e.prototype.stringify=function(a){return JSON.stringify(this.serialize(a))},e.prototype.parse=function(a){return this.deserialize(JSON.parse(a))},e.prototype.registerClass=function(a,r){this.classRegistry.register(a,r)},e.prototype.registerSymbol=function(a,r){this.symbolRegistry.register(a,r)},e.prototype.registerCustom=function(a,r){this.customTransformerRegistry.register(Yr({name:r},a))},e.prototype.allowErrorProps=function(){for(var a,r=[],s=0;s<arguments.length;s++)r[s]=arguments[s];(a=this.allowedErrorProps).push.apply(a,oE([],sE(r)))},e.defaultInstance=new e,e.serialize=e.defaultInstance.serialize.bind(e.defaultInstance),e.deserialize=e.defaultInstance.deserialize.bind(e.defaultInstance),e.stringify=e.defaultInstance.stringify.bind(e.defaultInstance),e.parse=e.defaultInstance.parse.bind(e.defaultInstance),e.registerClass=e.defaultInstance.registerClass.bind(e.defaultInstance),e.registerSymbol=e.defaultInstance.registerSymbol.bind(e.defaultInstance),e.registerCustom=e.defaultInstance.registerCustom.bind(e.defaultInstance),e.allowErrorProps=e.defaultInstance.allowErrorProps.bind(e.defaultInstance),e})();Ii.serialize;Ii.deserialize;Ii.stringify;Ii.parse;Ii.registerClass;Ii.registerCustom;Ii.registerSymbol;Ii.allowErrorProps;var lE=(e,a,r,s,l,d,u,p)=>{let m=document.documentElement,g=["light","dark"];
vendor: 7,461 bytes, line 49
49function v(E){(Array.isArray(e)?e:[e]).forEach(N=>{let x=N==="class",k=x&&d?l.map(C=>d[C]||C):l;x?(m.classList.remove(...k),m.classList.add(d&&d[E]?d[E]:E)):m.setAttribute(N,E)}),y(E)}function y(E){p&&g.includes(E)&&(m.style.colorScheme=E)}function S(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(s)v(s);else try{let E=localStorage.getItem(a)||r,N=u&&E==="system"?S():E;v(N)}catch{}},cE=w.createContext(void 0),dE={setTheme:e=>{},themes:[]},uE=()=>{var e;return(e=w.useContext(cE))!=null?e:dE};w.memo(({forcedTheme:e,storageKey:a,attribute:r,enableSystem:s,enableColorScheme:l,defaultTheme:d,value:u,themes:p,nonce:m,scriptProps:g})=>{let v=JSON.stringify([r,a,d,e,p,u,s,l]).slice(1,-1);return w.createElement("script",{...g,suppressHydrationWarning:!0,nonce:typeof window>"u"?m:"",dangerouslySetInnerHTML:{__html:`(${lE.toString()})(${v})`}})});var Wo=tx();const gx=bw(Wo);function hE(e){if(typeof document>"u")return;let a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",a.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}const pE=e=>{switch(e){case"success":return gE;case"info":return bE;case"warning":return yE;case"error":return vE;default:return null}},fE=Array(12).fill(0),mE=({visible:e,className:a})=>le.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":e},le.createElement("div",{className:"sonner-spinner"},fE.map((r,s)=>le.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${s}`})))),gE=le.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},le.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"})),yE=le.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},le.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"})),bE=le.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},le.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"})),vE=le.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},le.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"})),wE=le.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"},le.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),le.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),xE=()=>{const[e,a]=le.useState(document.hidden);return le.useEffect(()=>{const r=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),e};let Op=1;class SE{constructor(){this.subscribe=a=>(this.subscribers.push(a),()=>{const r=this.subscribers.indexOf(a);this.subscribers.splice(r,1)}),this.publish=a=>{this.subscribers.forEach(r=>r(a))},this.addToast=a=>{this.publish(a),this.toasts=[...this.toasts,a]},this.create=a=>{var r;const{message:s,...l}=a,d=typeof a?.id=="number"||((r=a.id)==null?void 0:r.length)>0?a.id:Op++,u=this.toasts.find(m=>m.id===d),p=a.dismissible===void 0?!0:a.dismissible;return this.dismissedToasts.has(d)&&this.dismissedToasts.delete(d),u?this.toasts=this.toasts.map(m=>m.id===d?(this.publish({...m,...a,id:d,title:s}),{...m,...a,id:d,dismissible:p,title:s}):m):this.addToast({title:s,...l,dismissible:p,id:d}),d},this.dismiss=a=>(a?(this.dismissedToasts.add(a),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:a,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(s=>s({id:r.id,dismiss:!0}))}),a),this.message=(a,r)=>this.create({...r,message:a}),this.error=(a,r)=>this.create({...r,message:a,type:"error"}),this.success=(a,r)=>this.create({...r,type:"success",message:a}),this.info=(a,r)=>this.create({...r,type:"info",message:a}),this.warning=(a,r)=>this.create({...r,type:"warning",message:a}),this.loading=(a,r)=>this.create({...r,type:"loading",message:a}),this.promise=(a,r)=>{if(!r)return;let s;r.loading!==void 0&&(s=this.create({...r,promise:a,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const l=Promise.resolve(a instanceof Function?a():a);let d=s!==void 0,u;const p=l.then(async g=>{if(u=["resolve",g],le.isValidElement(g))d=!1,this.create({id:s,type:"default",message:g});else if(EE(g)&&!g.ok){d=!1;const y=typeof r.error=="function"?await r.error(`HTTP error! status: ${g.status}`):r.error,S=typeof r.description=="function"?await r.description(`HTTP error! status: ${g.status}`):r.description,N=typeof y=="object"&&!le.isValidElement(y)?y:{message:y};this.create({id:s,type:"error",description:S,...N})}else if(g instanceof Error){d=!1;const y=typeof r.error=="function"?await r.error(g):r.error,S=typeof r.description=="function"?await r.description(g):r.description,N=typeof y=="object"&&!le.isValidElement(y)?y:{message:y};this.create({id:s,type:"error",description:S,...N})}else if(r.success!==void 0){d=!1;const y=typeof r.success=="function"?await r.success(g):r.success,S=typeof r.description=="function"?await r.description(g):r.description,N=typeof y=="object"&&!le.isValidElement(y)?y:{message:y};this.create({id:s,type:"success",description:S,...N})}}).catch(async g=>{if(u=["reject",g],r.error!==void 0){d=!1;const v=typeof r.error=="function"?await r.error(g):r.error,y=typeof r.description=="function"?await r.description(g):r.description,E=typeof v=="object"&&!le.isValidElement(v)?v:{message:v};this.create({id:s,type:"error",description:y,...E})}}).finally(()=>{d&&(this.dismiss(s),s=void 0),r.finally==null||r.finally.call(r)}),m=()=>new Promise((g,v)=>p.then(()=>u[0]==="reject"?v(u[1]):g(u[1])).catch(v));return typeof s!="string"&&typeof s!="number"?{unwrap:m}:Object.assign(s,{unwrap:m})},this.custom=(a,r)=>{const s=r?.id||Op++;return this.create({jsx:a(s),id:s,...r}),s},this.getActiveToasts=()=>this.toasts.filter(a=>!this.dismissedToasts.has(a.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const ra=new SE,AE=(e,a)=>{const r=a?.id||Op++;return ra.addToast({title:e,...a,id:r}),r},EE=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",NE=AE,kE=()=>ra.toasts,OE=()=>ra.getActiveToasts();Object.assign(NE,{success:ra.success,info:ra.info,warning:ra.warning,error:ra.error,custom:ra.custom,message:ra.message,promise:ra.promise,dismiss:ra.dismiss,loading:ra.loading},{getHistory:kE,getToasts:OE});hE
vendor: 14,873 bytes, line 49
49("[data-sonner-toaster][dir=ltr],html[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%)}[data-sonner-toaster][dir=rtl],html[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%)}[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:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[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);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[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 rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [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)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [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;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left: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);background:var(--normal-bg);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-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[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}[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}[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,0)) translateX(var(--swipe-amount-x,0));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{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{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{from{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-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--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-sonner-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-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-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, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-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-sonner-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]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[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]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[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]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[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]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[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:first-child{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)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{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%)}");function
vendor: 548 bytes, line 49
49gc(e){return e.label!==void 0}const TE=3,CE="24px",RE="16px",O0=4e3,jE=356,PE=14,IE=45,ME=200;function Xa(...e){return e.filter(Boolean).join(" ")}function LE(e){const[a,r]=e.split("-"),s=[];return a&&s.push(a),r&&s.push(r),s}const _E=e=>{var a,r,s,l,d,u,p,m,g;const{invert:v,toast:y,unstyled:S,interacting:E,setHeights:N,visibleToasts:x,heights:k,index:C,toasts:I,expanded:M,removeToast:Y,defaultRichColors:L,closeButton:G,style:j,cancelButtonStyle:z,actionButtonStyle:F,className:re="",descriptionClassName:se="",duration:ie,position:te,gap:U,exp
vendor: 14,965 bytes, line 49
49andByDefault:ne,classNames:O,icons:D,closeButtonAriaLabel:_="Close toast"}=e,[ce,he]=le.useState(null),[T,V]=le.useState(null),[W,Z]=le.useState(!1),[oe,ue]=le.useState(!1),[ae,pe]=le.useState(!1),[Se,ke]=le.useState(!1),[Ce,Ie]=le.useState(!1),[Rt,At]=le.useState(0),[li,Wa]=le.useState(0),Pa=le.useRef(y.duration||ie||O0),Ns=le.useRef(null),sa=le.useRef(null),ks=C===0,Os=C+1<=x,Gt=y.type,_i=y.dismissible!==!1,Wt=y.className||"",Nd=y.descriptionClassName||"",Sr=le.useMemo(()=>k.findIndex(Ae=>Ae.toastId===y.id)||0,[k,y.id]),Xo=le.useMemo(()=>{var Ae;return(Ae=y.closeButton)!=null?Ae:G},[y.closeButton,G]),Ar=le.useMemo(()=>y.duration||ie||O0,[y.duration,ie]),Ts=le.useRef(0),ci=le.useRef(0),Jo=le.useRef(0),Hi=le.useRef(null),[Er,Yt]=te.split("-"),Ia=le.useMemo(()=>k.reduce((Ae,et,kt)=>kt>=Sr?Ae:Ae+et.height,0),[k,Sr]),Ht=xE(),kd=y.invert||v,Cs=Gt==="loading";ci.current=le.useMemo(()=>Sr*U+Ia,[Sr,Ia]),le.useEffect(()=>{Pa.current=Ar},[Ar]),le.useEffect(()=>{Z(!0)},[]),le.useEffect(()=>{const Ae=sa.current;if(Ae){const et=Ae.getBoundingClientRect().height;return Wa(et),N(kt=>[{toastId:y.id,height:et,position:y.position},...kt]),()=>N(kt=>kt.filter(zt=>zt.toastId!==y.id))}},[N,y.id]),le.useLayoutEffect(()=>{if(!W)return;const Ae=sa.current,et=Ae.style.height;Ae.style.height="auto";const kt=Ae.getBoundingClientRect().height;Ae.style.height=et,Wa(kt),N(zt=>zt.find(nt=>nt.toastId===y.id)?zt.map(nt=>nt.toastId===y.id?{...nt,height:kt}:nt):[{toastId:y.id,height:kt,position:y.position},...zt])},[W,y.title,y.description,N,y.id,y.jsx,y.action,y.cancel]);const Ya=le.useCallback(()=>{ue(!0),At(ci.current),N(Ae=>Ae.filter(et=>et.toastId!==y.id)),setTimeout(()=>{Y(y)},ME)},[y,Y,N,ci]);le.useEffect(()=>{if(y.promise&&Gt==="loading"||y.duration===1/0||y.type==="loading")return;let Ae;return M||E||Ht?(()=>{if(Jo.current<Ts.current){const zt=new Date().getTime()-Ts.current;Pa.current=Pa.current-zt}Jo.current=new Date().getTime()})():(()=>{Pa.current!==1/0&&(Ts.current=new Date().getTime(),Ae=setTimeout(()=>{y.onAutoClose==null||y.onAutoClose.call(y,y),Ya()},Pa.current))})(),()=>clearTimeout(Ae)},[M,E,y,Gt,Ht,Ya]),le.useEffect(()=>{y.delete&&(Ya(),y.onDismiss==null||y.onDismiss.call(y,y))},[Ya,y.delete]);function cn(){var Ae;if(D?.loading){var et;return le.createElement("div",{className:Xa(O?.loader,y==null||(et=y.classNames)==null?void 0:et.loader,"sonner-loader"),"data-visible":Gt==="loading"},D.loading)}return le.createElement(mE,{className:Xa(O?.loader,y==null||(Ae=y.classNames)==null?void 0:Ae.loader),visible:Gt==="loading"})}const dn=y.icon||D?.[Gt]||pE(Gt);var Nr,$a;return le.createElement("li",{tabIndex:0,ref:sa,className:Xa(re,Wt,O?.toast,y==null||(a=y.classNames)==null?void 0:a.toast,O?.default,O?.[Gt],y==null||(r=y.classNames)==null?void 0:r[Gt]),"data-sonner-toast":"","data-rich-colors":(Nr=y.richColors)!=null?Nr:L,"data-styled":!(y.jsx||y.unstyled||S),"data-mounted":W,"data-promise":!!y.promise,"data-swiped":Ce,"data-removed":oe,"data-visible":Os,"data-y-position":Er,"data-x-position":Yt,"data-index":C,"data-front":ks,"data-swiping":ae,"data-dismissible":_i,"data-type":Gt,"data-invert":kd,"data-swipe-out":Se,"data-swipe-direction":T,"data-expanded":!!(M||ne&&W),"data-testid":y.testId,style:{"--index":C,"--toasts-before":C,"--z-index":I.length-C,"--offset":`${oe?Rt:ci.current}px`,"--initial-height":ne?"auto":`${li}px`,...j,...y.style},onDragEnd:()=>{pe(!1),he(null),Hi.current=null},onPointerDown:Ae=>{Ae.button!==2&&(Cs||!_i||(Ns.current=new Date,At(ci.current),Ae.target.setPointerCapture(Ae.pointerId),Ae.target.tagName!=="BUTTON"&&(pe(!0),Hi.current={x:Ae.clientX,y:Ae.clientY})))},onPointerUp:()=>{var Ae,et,kt;if(Se||!_i)return;Hi.current=null;const zt=Number(((Ae=sa.current)==null?void 0:Ae.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),zi=Number(((et=sa.current)==null?void 0:et.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),nt=new Date().getTime()-((kt=Ns.current)==null?void 0:kt.getTime()),Kt=ce==="x"?zt:zi,kr=Math.abs(Kt)/nt;if(Math.abs(Kt)>=IE||kr>.11){At(ci.current),y.onDismiss==null||y.onDismiss.call(y,y),V(ce==="x"?zt>0?"right":"left":zi>0?"down":"up"),Ya(),ke(!0);return}else{var Vt,Zt;(Vt=sa.current)==null||Vt.style.setProperty("--swipe-amount-x","0px"),(Zt=sa.current)==null||Zt.style.setProperty("--swipe-amount-y","0px")}Ie(!1),pe(!1),he(null)},onPointerMove:Ae=>{var et,kt,zt;if(!Hi.current||!_i||((et=window.getSelection())==null?void 0:et.toString().length)>0)return;const nt=Ae.clientY-Hi.current.y,Kt=Ae.clientX-Hi.current.x;var kr;const Vt=(kr=e.swipeDirections)!=null?kr:LE(te);!ce&&(Math.abs(Kt)>1||Math.abs(nt)>1)&&he(Math.abs(Kt)>Math.abs(nt)?"x":"y");let Zt={x:0,y:0};const un=Ma=>1/(1.5+Math.abs(Ma)/20);if(ce==="y"){if(Vt.includes("top")||Vt.includes("bottom"))if(Vt.includes("top")&&nt<0||Vt.includes("bottom")&&nt>0)Zt.y=nt;else{const Ma=nt*un(nt);Zt.y=Math.abs(Ma)<Math.abs(nt)?Ma:nt}}else if(ce==="x"&&(Vt.includes("left")||Vt.includes("right")))if(Vt.includes("left")&&Kt<0||Vt.includes("right")&&Kt>0)Zt.x=Kt;else{const Ma=Kt*un(Kt);Zt.x=Math.abs(Ma)<Math.abs(Kt)?Ma:Kt}(Math.abs(Zt.x)>0||Math.abs(Zt.y)>0)&&Ie(!0),(kt=sa.current)==null||kt.style.setProperty("--swipe-amount-x",`${Zt.x}px`),(zt=sa.current)==null||zt.style.setProperty("--swipe-amount-y",`${Zt.y}px`)}},Xo&&!y.jsx&&Gt!=="loading"?le.createElement("button",{"aria-label":_,"data-disabled":Cs,"data-close-button":!0,onClick:Cs||!_i?()=>{}:()=>{Ya(),y.onDismiss==null||y.onDismiss.call(y,y)},className:Xa(O?.closeButton,y==null||(s=y.classNames)==null?void 0:s.closeButton)},($a=D?.close)!=null?$a:wE):null,(Gt||y.icon||y.promise)&&y.icon!==null&&(D?.[Gt]!==null||y.icon)?le.createElement("div",{"data-icon":"",className:Xa(O?.icon,y==null||(l=y.classNames)==null?void 0:l.icon)},y.promise||y.type==="loading"&&!y.icon?y.icon||cn():null,y.type!=="loading"?dn:null):null,le.createElement("div",{"data-content":"",className:Xa(O?.content,y==null||(d=y.classNames)==null?void 0:d.content)},le.createElement("div",{"data-title":"",className:Xa(O?.title,y==null||(u=y.classNames)==null?void 0:u.title)},y.jsx?y.jsx:typeof y.title=="function"?y.title():y.title),y.description?le.createElement("div",{"data-description":"",className:Xa(se,Nd,O?.description,y==null||(p=y.classNames)==null?void 0:p.description)},typeof y.description=="function"?y.description():y.description):null),le.isValidElement(y.cancel)?y.cancel:y.cancel&&gc(y.cancel)?le.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||z,onClick:Ae=>{gc(y.cancel)&&_i&&(y.cancel.onClick==null||y.cancel.onClick.call(y.cancel,Ae),Ya())},className:Xa(O?.cancelButton,y==null||(m=y.classNames)==null?void 0:m.cancelButton)},y.cancel.label):null,le.isValidElement(y.action)?y.action:y.action&&gc(y.action)?le.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||F,onClick:Ae=>{gc(y.action)&&(y.action.onClick==null||y.action.onClick.call(y.action,Ae),!Ae.defaultPrevented&&Ya())},className:Xa(O?.actionButton,y==null||(g=y.classNames)==null?void 0:g.actionButton)},y.action.label):null)};function T0(){if(typeof window>"u"||typeof document>"u")return"ltr";const e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function HE(e,a){const r={};return[e,a].forEach((s,l)=>{const d=l===1,u=d?"--mobile-offset":"--offset",p=d?RE:CE;function m(g){["top","right","bottom","left"].forEach(v=>{r[`${u}-${v}`]=typeof g=="number"?`${g}px`:g})}typeof s=="number"||typeof s=="string"?m(s):typeof s=="object"?["top","right","bottom","left"].forEach(g=>{s[g]===void 0?r[`${u}-${g}`]=p:r[`${u}-${g}`]=typeof s[g]=="number"?`${s[g]}px`:s[g]}):m(p)}),r}const zE=le.forwardRef(function(a,r){const{id:s,invert:l,position:d="bottom-right",hotkey:u=["altKey","KeyT"],expand:p,closeButton:m,className:g,offset:v,mobileOffset:y,theme:S="light",richColors:E,duration:N,style:x,visibleToasts:k=TE,toastOptions:C,dir:I=T0(),gap:M=PE,icons:Y,containerAriaLabel:L="Notifications"}=a,[G,j]=le.useState([]),z=le.useMemo(()=>s?G.filter(W=>W.toasterId===s):G.filter(W=>!W.toasterId),[G,s]),F=le.useMemo(()=>Array.from(new Set([d].concat(z.filter(W=>W.position).map(W=>W.position)))),[z,d]),[re,se]=le.useState([]),[ie,te]=le.useState(!1),[U,ne]=le.useState(!1),[O,D]=le.useState(S!=="system"?S:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),_=le.useRef(null),ce=u.join("+").replace(/Key/g,"").replace(/Digit/g,""),he=le.useRef(null),T=le.useRef(!1),V=le.useCallback(W=>{j(Z=>{var oe;return(oe=Z.find(ue=>ue.id===W.id))!=null&&oe.delete||ra.dismiss(W.id),Z.filter(({id:ue})=>ue!==W.id)})},[]);return le.useEffect(()=>ra.subscribe(W=>{if(W.dismiss){requestAnimationFrame(()=>{j(Z=>Z.map(oe=>oe.id===W.id?{...oe,delete:!0}:oe))});return}setTimeout(()=>{gx.flushSync(()=>{j(Z=>{const oe=Z.findIndex(ue=>ue.id===W.id);return oe!==-1?[...Z.slice(0,oe),{...Z[oe],...W},...Z.slice(oe+1)]:[W,...Z]})})})}),[G]),le.useEffect(()=>{if(S!=="system"){D(S);return}if(S==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?D("dark"):D("light")),typeof window>"u")return;const W=window.matchMedia("(prefers-color-scheme: dark)");try{W.addEventListener("change",({matches:Z})=>{D(Z?"dark":"light")})}catch{W.addListener(({matches:oe})=>{try{D(oe?"dark":"light")}catch(ue){console.error(ue)}})}},[S]),le.useEffect(()=>{G.length<=1&&te(!1)},[G]),le.useEffect(()=>{const W=Z=>{var oe;if(u.every(pe=>Z[pe]||Z.code===pe)){var ae;te(!0),(ae=_.current)==null||ae.focus()}Z.code==="Escape"&&(document.activeElement===_.current||(oe=_.current)!=null&&oe.contains(document.activeElement))&&te(!1)};return document.addEventListener("keydown",W),()=>document.removeEventListener("keydown",W)},[u]),le.useEffect(()=>{if(_.current)return()=>{he.current&&(he.current.focus({preventScroll:!0}),he.current=null,T.current=!1)}},[_.current]),le.createElement("section",{ref:r,"aria-label":`${L} ${ce}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},F.map((W,Z)=>{var oe;const[ue,ae]=W.split("-");return z.length?le.createElement("ol",{key:W,dir:I==="auto"?T0():I,tabIndex:-1,ref:_,className:g,"data-sonner-toaster":!0,"data-sonner-theme":O,"data-y-position":ue,"data-x-position":ae,style:{"--front-toast-height":`${((oe=re[0])==null?void 0:oe.height)||0}px`,"--width":`${jE}px`,"--gap":`${M}px`,...x,...HE(v,y)},onBlur:pe=>{T.current&&!pe.currentTarget.contains(pe.relatedTarget)&&(T.current=!1,he.current&&(he.current.focus({preventScroll:!0}),he.current=null))},onFocus:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||T.current||(T.current=!0,he.current=pe.relatedTarget)},onMouseEnter:()=>te(!0),onMouseMove:()=>te(!0),onMouseLeave:()=>{U||te(!1)},onDragEnd:()=>te(!1),onPointerDown:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||ne(!0)},onPointerUp:()=>ne(!1)},z.filter(pe=>!pe.position&&Z===0||pe.position===W).map((pe,Se)=>{var ke,Ce;return le.createElement(_E,{key:pe.id,icons:Y,index:Se,toast:pe,defaultRichColors:E,duration:(ke=C?.duration)!=null?ke:N,className:C?.className,descriptionClassName:C?.descriptionClassName,invert:l,visibleToasts:k,closeButton:(Ce=C?.closeButton)!=null?Ce:m,interacting:U,position:W,style:C?.style,unstyled:C?.unstyled,classNames:C?.classNames,cancelButtonStyle:C?.cancelButtonStyle,actionButtonStyle:C?.actionButtonStyle,closeButtonAriaLabel:C?.closeButtonAriaLabel,removeToast:V,toasts:z.filter(Ie=>Ie.position==pe.position),heights:re.filter(Ie=>Ie.position==pe.position),setHeights:se,expandByDefault:p,gap:M,expanded:ie,swipeDirections:a.swipeDirections})})):null}))}),DE=({...e})=>{const{theme:a="system"}=uE();return o.jsx(zE,{"data-loc":"client/src/components/ui/sonner.tsx:8",theme:a,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...e})};function Ge(e,a,{checkForDefaultPrevented:r=!0}={}){return function(l){if(e?.(l),r===!1||!l.defaultPrevented)return a?.(l)}}function C0(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function yx(...e){return a=>{let r=!1;const s=e.map(l=>{const d=C0(l,a);return!r&&typeof d=="function"&&(r=!0),d});if(r)return()=>{for(let l=0;l<s.length;l++){const d=s[l];typeof d=="function"?d():C0(e[l],null)}}}}function lt(...e){return w.useCallback(yx(...e),e)}function BE(e,a){const r=w.createContext(a),s=d=>{const{children:u,...p}=d,m=w.useMemo(()=>p,Object.values(p));return o.jsx(r.Provider,{value:m,children:u})};s.displayName=e+"Provider";function l(d){const u=w.useContext(r);if(u)return u;if(a!==void 0)return a;throw new Error(`\`${d}\` must be used within \`${e}\``)}return[s,l]}function Yo(e,a=[]){let r=[];function s(d,u){const p=w.createContext(u),m=r.length;r=[...r,u];const g=y=>{const{scope:S,children:E,...N}=y,x=S?.[e]?.[m]||p,k=w.useMemo(()=>N,Object.values(N));return o.jsx(x.Provider,{value:k,children:E})};g.displayName=d+"Provider";function v(y,S){const E=S?.[e]?.[m]||p,N=w.useContext(E);if(N)return N;if(u!==void 0)return u;throw new Error(`\`${y}\` must be used within \`${d}\``)}return[g,v]}const l=()=>{const d=r.map(u=>w.createContext(u));return function(p){const m=p?.[e]||d;return w.useMemo(()=>({[`__scope${e}`]:{...p,[e]:m}}),[p,m])}};return l.scopeName=e,[s,UE(l,...a)]}function UE(...e){const a=e[0];if(e.length===1)return a;const r=()=>{const s=e.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(d){const u=s.reduce((p,{useScope:m,scopeName:g})=>{const y=m(d)[`__scope${g}`];return{...p,...y}},{});return w.useMemo(()=>({[`__scope${a.scopeName}`]:u}),[u])}};return r.scopeName=a.scopeName,r}function hs(e){const a=GE(e),r=w.forwardRef((s,l)=>{const{children:d,...u}=s,p=w.Children.toArray(d),m=p.find(YE);if(m){const g=m.props.children,v=p.map(y=>y===m?w.Children.count(g)>1?w.Children.only(null):w.isValidElement(g)?g.props.children:null:y);return o.jsx(a,{...u,ref:l,children:w.isValidElement(g)?w.cloneElement(g,void 0,v):null})}return o.jsx(a,{...u,ref:l,children:d})});return r.displayName=`${e}.Slot`,r}var qE=hs("Slot");function GE(e){const a=w.forwardRef((r,s)=>{const{children:l,...d}=r;if(w.isValidElement(l)){const u=FE(l),p=$E(d,l.props);return l.type!==w.Fragment&&(p.ref=s?yx(s,u):u),w.cloneElement(l,p)}return w.Children.count(l)>1?w.Children.only(null):null});return a.displayName=`${e}.SlotClone`,a}var bx=Symbol("radix.slottable");function WE(e){const a=({children:r})=>o.jsx(o.Fragment,{children:r});return a.displayName=`${e}.Slottable`,a.__radixId=bx,a}function YE(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===bx}function $E(e,a){const r={...a};for(const s in a){const l=e[s],d=a[s];/^on[A-Z]/.test(s)?l&&d?r[s]=(...p)=>{const m=d(...p);return l(...p),m}:l&&(r[s]=l):s==="style"?r[s]={...l,...d}
vendor: 4,598 bytes, line 49
49:s==="className"&&(r[s]=[l,d].filter(Boolean).join(" "))}return{...e,...r}}function FE(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=a&&"isReactWarning"in a&&a.isReactWarning;return r?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=a&&"isReactWarning"in a&&a.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var KE=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ze=KE.reduce((e,a)=>{const r=hs(`Primitive.${a}`),s=w.forwardRef((l,d)=>{const{asChild:u,...p}=l,m=u?r:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),o.jsx(m,{...p,ref:d})});return s.displayName=`Primitive.${a}`,{...e,[a]:s}},{});function VE(e,a){e&&Wo.flushSync(()=>e.dispatchEvent(a))}function Vr(e){const a=w.useRef(e);return w.useEffect(()=>{a.current=e}),w.useMemo(()=>(...r)=>a.current?.(...r),[])}function ZE(e,a=globalThis?.document){const r=Vr(e);w.useEffect(()=>{const s=l=>{l.key==="Escape"&&r(l)};return a.addEventListener("keydown",s,{capture:!0}),()=>a.removeEventListener("keydown",s,{capture:!0})},[r,a])}var QE="DismissableLayer",Tp="dismissableLayer.update",XE="dismissableLayer.pointerDownOutside",JE="dismissableLayer.focusOutside",R0,vx=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),rd=w.forwardRef((e,a)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:d,onInteractOutside:u,onDismiss:p,...m}=e,g=w.useContext(vx),[v,y]=w.useState(null),S=v?.ownerDocument??globalThis?.document,[,E]=w.useState({}),N=lt(a,j=>y(j)),x=Array.from(g.layers),[k]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),C=x.indexOf(k),I=v?x.indexOf(v):-1,M=g.layersWithOutsidePointerEventsDisabled.size>0,Y=I>=C,L=aN(j=>{const z=j.target,F=[...g.branches].some(re=>re.contains(z));!Y||F||(l?.(j),u?.(j),j.defaultPrevented||p?.())},S),G=iN(j=>{const z=j.target;[...g.branches].some(re=>re.contains(z))||(d?.(j),u?.(j),j.defaultPrevented||p?.())},S);return ZE(j=>{I===g.layers.size-1&&(s?.(j),!j.defaultPrevented&&p&&(j.preventDefault(),p()))},S),w.useEffect(()=>{if(v)return r&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(R0=S.body.style.pointerEvents,S.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(v)),g.layers.add(v),j0(),()=>{r&&g.layersWithOutsidePointerEventsDisabled.size===1&&(S.body.style.pointerEvents=R0)}},[v,S,r,g]),w.useEffect(()=>()=>{v&&(g.layers.delete(v),g.layersWithOutsidePointerEventsDisabled.delete(v),j0())},[v,g]),w.useEffect(()=>{const j=()=>E({});return document.addEventListener(Tp,j),()=>document.removeEventListener(Tp,j)},[]),o.jsx(Ze.div,{...m,ref:N,style:{pointerEvents:M?Y?"auto":"none":void 0,...e.style},onFocusCapture:Ge(e.onFocusCapture,G.onFocusCapture),onBlurCapture:Ge(e.onBlurCapture,G.onBlurCapture),onPointerDownCapture:Ge(e.onPointerDownCapture,L.onPointerDownCapture)})});rd.displayName=QE;var eN="DismissableLayerBranch",tN=w.forwardRef((e,a)=>{const r=w.useContext(vx),s=w.useRef(null),l=lt(a,s);return w.useEffect(()=>{const d=s.current;if(d)return r.branches.add(d),()=>{r.branches.delete(d)}},[r.branches]),o.jsx(Ze.div,{...e,ref:l})});tN.displayName=eN;function aN(e,a=globalThis?.document){const r=Vr(e),s=w.useRef(!1),l=w.useRef(()=>{});return w.useEffect(()=>{const d=p=>{if(p.target&&!s.current){let m=function(){wx(XE,r,g,{discrete:!0})};const g={originalEvent:p};p.pointerType==="touch"?(a.removeEventListener("click",l.current),l.current=m,a.addEventListener("click",l.current,{once:!0})):m()}else a.removeEventListener("click",l.current);s.current=!1},u=window.setTimeout(()=>{a.addEventListener("pointerdown",d)},0);return()=>{window.clearTimeout(u),a.removeEventListener("pointerdown",d),a.removeEventListener("click",l.current)}},[a,r]),{onPointerDownCapture:()=>s.current=!0}}function iN(e,a=globalThis?.document){const r=Vr(e),s=w.useRef(!1);return w.useEffect(()=>{const l=d=>{d.target&&!s.current&&wx(JE,r,{originalEvent:d},{discrete:!1})};return a.addEventListener("focusin",l),()=>a.removeEventListener("focusin",l)},[a,r]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function j0(){const e=new CustomEvent(Tp);document.dispatchEvent(e)}function wx(e,a,r,{discrete:s}){const l=r.originalEvent.target,d=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});a&&l.addEventListener(e,a,{once:!0}),s?VE(l,d):l.dispatchEvent(d)}var Ut=globalThis?.document?w.useLayoutEffect:()=>{},rN=Qc[" useId ".trim().toString()]||(()=>{}),nN=0;function ns(e){const[a,r]=w.useState(rN());return Ut(()=>{r(s=>s??String(nN++))}
vendor: 10,961 bytes, line 49
49,[e]),e||(a?`radix-${a}`:"")}const sN=["top","right","bottom","left"],gr=Math.min,ma=Math.max,Hc=Math.round,yc=Math.floor,ri=e=>({x:e,y:e}),oN={left:"right",right:"left",bottom:"top",top:"bottom"},lN={start:"end",end:"start"};function Cp(e,a,r){return ma(e,gr(a,r))}function Ri(e,a){return typeof e=="function"?e(a):e}function ji(e){return e.split("-")[0]}function bs(e){return e.split("-")[1]}function vf(e){return e==="x"?"y":"x"}function wf(e){return e==="y"?"height":"width"}const cN=new Set(["top","bottom"]);function ai(e){return cN.has(ji(e))?"y":"x"}function xf(e){return vf(ai(e))}function dN(e,a,r){r===void 0&&(r=!1);const s=bs(e),l=xf(e),d=wf(l);let u=l==="x"?s===(r?"end":"start")?"right":"left":s==="start"?"bottom":"top";return a.reference[d]>a.floating[d]&&(u=zc(u)),[u,zc(u)]}function uN(e){const a=zc(e);return[Rp(e),a,Rp(a)]}function Rp(e){return e.replace(/start|end/g,a=>lN[a])}const P0=["left","right"],I0=["right","left"],hN=["top","bottom"],pN=["bottom","top"];function fN(e,a,r){switch(e){case"top":case"bottom":return r?a?I0:P0:a?P0:I0;case"left":case"right":return a?hN:pN;default:return[]}}function mN(e,a,r,s){const l=bs(e);let d=fN(ji(e),r==="start",s);return l&&(d=d.map(u=>u+"-"+l),a&&(d=d.concat(d.map(Rp)))),d}function zc(e){return e.replace(/left|right|bottom|top/g,a=>oN[a])}function gN(e){return{top:0,right:0,bottom:0,left:0,...e}}function xx(e){return typeof e!="number"?gN(e):{top:e,right:e,bottom:e,left:e}}function Dc(e){const{x:a,y:r,width:s,height:l}=e;return{width:s,height:l,top:r,left:a,right:a+s,bottom:r+l,x:a,y:r}}function M0(e,a,r){let{reference:s,floating:l}=e;const d=ai(a),u=xf(a),p=wf(u),m=ji(a),g=d==="y",v=s.x+s.width/2-l.width/2,y=s.y+s.height/2-l.height/2,S=s[p]/2-l[p]/2;let E;switch(m){case"top":E={x:v,y:s.y-l.height};break;case"bottom":E={x:v,y:s.y+s.height};break;case"right":E={x:s.x+s.width,y};break;case"left":E={x:s.x-l.width,y};break;default:E={x:s.x,y:s.y}}switch(bs(a)){case"start":E[u]-=S*(r&&g?-1:1);break;case"end":E[u]+=S*(r&&g?-1:1);break}return E}const yN=async(e,a,r)=>{const{placement:s="bottom",strategy:l="absolute",middleware:d=[],platform:u}=r,p=d.filter(Boolean),m=await(u.isRTL==null?void 0:u.isRTL(a));let g=await u.getElementRects({reference:e,floating:a,strategy:l}),{x:v,y}=M0(g,s,m),S=s,E={},N=0;for(let x=0;x<p.length;x++){const{name:k,fn:C}=p[x],{x:I,y:M,data:Y,reset:L}=await C({x:v,y,initialPlacement:s,placement:S,strategy:l,middlewareData:E,rects:g,platform:u,elements:{reference:e,floating:a}});v=I??v,y=M??y,E={...E,[k]:{...E[k],...Y}},L&&N<=50&&(N++,typeof L=="object"&&(L.placement&&(S=L.placement),L.rects&&(g=L.rects===!0?await u.getElementRects({reference:e,floating:a,strategy:l}):L.rects),{x:v,y}=M0(g,S,m)),x=-1)}return{x:v,y,placement:S,strategy:l,middlewareData:E}};async function Mo(e,a){var r;a===void 0&&(a={});const{x:s,y:l,platform:d,rects:u,elements:p,strategy:m}=e,{boundary:g="clippingAncestors",rootBoundary:v="viewport",elementContext:y="floating",altBoundary:S=!1,padding:E=0}=Ri(a,e),N=xx(E),k=p[S?y==="floating"?"reference":"floating":y],C=Dc(await d.getClippingRect({element:(r=await(d.isElement==null?void 0:d.isElement(k)))==null||r?k:k.contextElement||await(d.getDocumentElement==null?void 0:d.getDocumentElement(p.floating)),boundary:g,rootBoundary:v,strategy:m})),I=y==="floating"?{x:s,y:l,width:u.floating.width,height:u.floating.height}:u.reference,M=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p.floating)),Y=await(d.isElement==null?void 0:d.isElement(M))?await(d.getScale==null?void 0:d.getScale(M))||{x:1,y:1}:{x:1,y:1},L=Dc(d.convertOffsetParentRelativeRectToViewportRelativeRect?await d.convertOffsetParentRelativeRectToViewportRelativeRect({elements:p,rect:I,offsetParent:M,strategy:m}):I);return{top:(C.top-L.top+N.top)/Y.y,bottom:(L.bottom-C.bottom+N.bottom)/Y.y,left:(C.left-L.left+N.left)/Y.x,right:(L.right-C.right+N.right)/Y.x}}const bN=e=>({name:"arrow",options:e,async fn(a){const{x:r,y:s,placement:l,rects:d,platform:u,elements:p,middlewareData:m}=a,{element:g,padding:v=0}=Ri(e,a)||{};if(g==null)return{};const y=xx(v),S={x:r,y:s},E=xf(l),N=wf(E),x=await u.getDimensions(g),k=E==="y",C=k?"top":"left",I=k?"bottom":"right",M=k?"clientHeight":"clientWidth",Y=d.reference[N]+d.reference[E]-S[E]-d.floating[N],L=S[E]-d.reference[E],G=await(u.getOffsetParent==null?void 0:u.getOffsetParent(g));let j=G?G[M]:0;(!j||!await(u.isElement==null?void 0:u.isElement(G)))&&(j=p.floating[M]||d.floating[N]);const z=Y/2-L/2,F=j/2-x[N]/2-1,re=gr(y[C],F),se=gr(y[I],F),ie=re,te=j-x[N]-se,U=j/2-x[N]/2+z,ne=Cp(ie,U,te),O=!m.arrow&&bs(l)!=null&&U!==ne&&d.reference[N]/2-(U<ie?re:se)-x[N]/2<0,D=O?U<ie?U-ie:U-te:0;return{[E]:S[E]+D,data:{[E]:ne,centerOffset:U-ne-D,...O&&{alignmentOffset:D}},reset:O}}}),vN=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(a){var r,s;const{placement:l,middlewareData:d,rects:u,initialPlacement:p,platform:m,elements:g}=a,{mainAxis:v=!0,crossAxis:y=!0,fallbackPlacements:S,fallbackStrategy:E="bestFit",fallbackAxisSideDirection:N="none",flipAlignment:x=!0,...k}=Ri(e,a);if((r=d.arrow)!=null&&r.alignmentOffset)return{};const C=ji(l),I=ai(p),M=ji(p)===p,Y=await(m.isRTL==null?void 0:m.isRTL(g.floating)),L=S||(M||!x?[zc(p)]:uN(p)),G=N!=="none";!S&&G&&L.push(...mN(p,x,N,Y));const j=[p,...L],z=await Mo(a,k),F=[];let re=((s=d.flip)==null?void 0:s.overflows)||[];if(v&&F.push(z[C]),y){const U=dN(l,u,Y);F.push(z[U[0]],z[U[1]])}if(re=[...re,{placement:l,overflows:F}],!F.every(U=>U<=0)){var se,ie;const U=(((se=d.flip)==null?void 0:se.index)||0)+1,ne=j[U];if(ne&&(!(y==="alignment"?I!==ai(ne):!1)||re.every(_=>ai(_.placement)===I?_.overflows[0]>0:!0)))return{data:{index:U,overflows:re},reset:{placement:ne}};let O=(ie=re.filter(D=>D.overflows[0]<=0).sort((D,_)=>D.overflows[1]-_.overflows[1])[0])==null?void 0:ie.placement;if(!O)switch(E){case"bestFit":{var te;const D=(te=re.filter(_=>{if(G){const ce=ai(_.placement);return ce===I||ce==="y"}return!0}).map(_=>[_.placement,_.overflows.filter(ce=>ce>0).reduce((ce,he)=>ce+he,0)]).sort((_,ce)=>_[1]-ce[1])[0])==null?void 0:te[0];D&&(O=D);break}case"initialPlacement":O=p;break}if(l!==O)return{reset:{placement:O}}}return{}}}};function L0(e,a){return{top:e.top-a.height,right:e.right-a.width,bottom:e.bottom-a.height,left:e.left-a.width}}function _0(e){return sN.some(a=>e[a]>=0)}const wN=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(a){const{rects:r}=a,{strategy:s="referenceHidden",...l}=Ri(e,a);switch(s){case"referenceHidden":{const d=await Mo(a,{...l,elementContext:"reference"}),u=L0(d,r.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:_0(u)}}}case"escaped":{const d=await Mo(a,{...l,altBoundary:!0}),u=L0(d,r.floating);return{data:{escapedOffsets:u,escaped:_0(u)}}}default:return{}}}}},Sx=new Set(["left","top"]);async function xN(e,a){const{placement:r,platform:s,elements:l}=e,d=await(s.isRTL==null?void 0:s.isRTL(l.floating)),u=ji(r),p=bs(r),m=ai(r)==="y",g=Sx.has(u)?-1:1,v=d&&m?-1:1,y=Ri(a,e);let{mainAxis:S,crossAxis:E,alignmentAxis:N}=typeof y=="number"?{mainAxis:y,crossAxis:0,alignmentAxis:null}:{mainAxis:y.mainAxis||0,crossAxis:y.crossAxis||0,alignmentAxis:y.alignmentAxis};return p&&typeof N=="number"&&(E=p==="end"?N*-1:N),m?{x:E*v,y:S*g}:{x:S*g,y:E*v}}const SN=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(a){var r,s;const{x:l,y:d,placement:u,middlewareData:p}=a,m=await xN(a,e);return u===((r=p.offset)==null?void 0:r.placement)&&(s=p.arrow)!=null&&s.alignmentOffset?{}:{x:l+m.x,y:d+m.y,data:{...m,placement:u}}}}},AN=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(a){const{x:r,y:s,placement:l}=a,{mainAxis:d=!0,crossAxis:u=!1,limiter:p={fn:k=>{let{x:C,y:I}=k;return{x:C,y:I}}},...m}=Ri(e,a),g={x:r,y:s},v=await Mo(a,m),y=ai(ji(l)),S=vf(y);let E=g[S],N=g[y];if(d){const k=S==="y"?"top":"left",C=S==="y"?"bottom":"right",I=E+v[k],M=E-v[C];E=Cp(I,E,M)}if(u){const k=y==="y"?"top":"left",C=y==="y"?"bottom":"right",I=N+v[k],M=N-v[C];N=Cp(I,N,M)}const x=p.fn({...a,[S]:E,[y]:N});return{...x,data:{x:x.x-r,y:x.y-s,enabled:{[S]:d,[y]:u}}}}}},EN=function(e){return e===void 0&&(e={}),{options:e,fn(a){const{x:r,y:s,placement:l,rects:d,middlewareData:u}=a,{offset:p=0,mainAxis:m=!0,crossAxis:g=!0}=Ri(e,a),v={x:r,y:s},y=ai(l),S=vf(y);let E=v[S],N=v[y];const x=Ri(p,a),k=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(m){const M=S==="y"?"height":"width",Y=d.reference[S]-d.floating[M]+k.mainAxis,L=d.reference[S]+d.reference[M]-k.mainAxis;E<Y?E=Y:E>L&&(E=L)}if(g){var C,I;const M=S==="y"?"width":"height",Y=Sx.has(ji(l)),L=d.reference[y]-d.floating[M]+(Y&&((C=u.offset)==null?void 0:C[y])||0)+(Y?0:k.crossAxis),G=d.reference[y]+d.reference[M]+(Y?0:((I=u.offset)==null?void 0:I[y])||0)-(Y?k.crossAxis:0);N<L?N=L:N>G&&(N=G)}return{[S]:E,[y]:N}}}},NN=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(a){var r,s;const{placement:l,rects:d,platform:u,elements:p}=a,{apply:m=()=>{},...g}=Ri(e,a),v=await Mo(a,g),y=ji(l),S=bs(l),E=ai(l)==="y",{width:N,height:x}=d.floating;let k,C;y==="top"||y==="bottom"?(k=y,C=S===(await(u.isRTL==null?void 0:u.isRTL(p.floating))?"start":"end")?"left":"right"):(C=y,k=S==="end"?"top":"bottom");const I=x-v.top-v.bottom,M=N-v.left-v.right,Y=gr(x-v[k],I),L=gr(N-v[C],M),G=!a.middlewareData.shift;let j=Y,z=L;if((r=a.middlewareData.shift)!=null&&r.enabled.x&&(z=M),(s=a.middlewareData.shift)!=null&&s.enabled.y&&(j=I),G&&!S){const re=ma(v.left,0),se=ma(v.right,0),ie=ma(v.top,0),te=ma(v.bottom,0);E?z=N-2*(re!==0||se!==0?re+se:ma(v.left,v.right)):j=x-2*(ie!==0||te!==0?ie+te:ma(v.top,v.bottom))}await m({...a,availableWidth:z,availableHeight:j});const F=await u.getDimensions(p.floating);return N!==F.width||x!==F.height?{reset:{rects:!0}}:{}}}};function nd(){return typeof window<"u"}function vs(e){return Ax(e)?(e.nodeName||"").toLowerCase():"#document"}function ya(e){var a;return(e==null||(a=e.ownerDocument)==null?void 0:a.defaultView)||window}function oi(e){var a;return(a=(Ax(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function Ax(e){return nd()?e instanceof Node||e instanceof ya(e).Node:!1}function Ba(e){return nd()?e instanceof Element||e instanceof ya(e).Element:!1}function ni(e){return nd()?e instanceof HTMLElement||e instanceof ya(e).HTMLElement:!1}function H0(e){return!nd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ya(e).ShadowRoot}const kN=new Set(["inline","contents"]);function $o(e){const{overflow:a,overflowX:r,overflowY:s,display:l}=Ua(e);return/auto|scroll|overlay|hidden|clip/.test(a+s+r)&&!kN.has(l)}const ON=new Set(["table","td","th"]);function TN(e){return ON.has(vs(e))}const CN=[":popover-open",":modal"];function sd(e){return CN.some(a=>{try{return e.matches(a)}catch{return!1}})}const RN=["transform","translate","scale","rotate","perspective"],jN=["transform","translate","scale","rotate","perspective","filter"],PN=["paint","layout","strict","content"];
vendor: 13,493 bytes, line 49
49function Sf(e){const a=Af(),r=Ba(e)?Ua(e):e;return RN.some(s=>r[s]?r[s]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!a&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!a&&(r.filter?r.filter!=="none":!1)||jN.some(s=>(r.willChange||"").includes(s))||PN.some(s=>(r.contain||"").includes(s))}function IN(e){let a=yr(e);for(;ni(a)&&!ps(a);){if(Sf(a))return a;if(sd(a))return null;a=yr(a)}return null}function Af(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const MN=new Set(["html","body","#document"]);function ps(e){return MN.has(vs(e))}function Ua(e){return ya(e).getComputedStyle(e)}function od(e){return Ba(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function yr(e){if(vs(e)==="html")return e;const a=e.assignedSlot||e.parentNode||H0(e)&&e.host||oi(e);return H0(a)?a.host:a}function Ex(e){const a=yr(e);return ps(a)?e.ownerDocument?e.ownerDocument.body:e.body:ni(a)&&$o(a)?a:Ex(a)}function Lo(e,a,r){var s;a===void 0&&(a=[]),r===void 0&&(r=!0);const l=Ex(e),d=l===((s=e.ownerDocument)==null?void 0:s.body),u=ya(l);if(d){const p=jp(u);return a.concat(u,u.visualViewport||[],$o(l)?l:[],p&&r?Lo(p):[])}return a.concat(l,Lo(l,[],r))}function jp(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Nx(e){const a=Ua(e);let r=parseFloat(a.width)||0,s=parseFloat(a.height)||0;const l=ni(e),d=l?e.offsetWidth:r,u=l?e.offsetHeight:s,p=Hc(r)!==d||Hc(s)!==u;return p&&(r=d,s=u),{width:r,height:s,$:p}}function Ef(e){return Ba(e)?e:e.contextElement}function ss(e){const a=Ef(e);if(!ni(a))return ri(1);const r=a.getBoundingClientRect(),{width:s,height:l,$:d}=Nx(a);let u=(d?Hc(r.width):r.width)/s,p=(d?Hc(r.height):r.height)/l;return(!u||!Number.isFinite(u))&&(u=1),(!p||!Number.isFinite(p))&&(p=1),{x:u,y:p}}const LN=ri(0);function kx(e){const a=ya(e);return!Af()||!a.visualViewport?LN:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function _N(e,a,r){return a===void 0&&(a=!1),!r||a&&r!==ya(e)?!1:a}function Zr(e,a,r,s){a===void 0&&(a=!1),r===void 0&&(r=!1);const l=e.getBoundingClientRect(),d=Ef(e);let u=ri(1);a&&(s?Ba(s)&&(u=ss(s)):u=ss(e));const p=_N(d,r,s)?kx(d):ri(0);let m=(l.left+p.x)/u.x,g=(l.top+p.y)/u.y,v=l.width/u.x,y=l.height/u.y;if(d){const S=ya(d),E=s&&Ba(s)?ya(s):s;let N=S,x=jp(N);for(;x&&s&&E!==N;){const k=ss(x),C=x.getBoundingClientRect(),I=Ua(x),M=C.left+(x.clientLeft+parseFloat(I.paddingLeft))*k.x,Y=C.top+(x.clientTop+parseFloat(I.paddingTop))*k.y;m*=k.x,g*=k.y,v*=k.x,y*=k.y,m+=M,g+=Y,N=ya(x),x=jp(N)}}return Dc({width:v,height:y,x:m,y:g})}function ld(e,a){const r=od(e).scrollLeft;return a?a.left+r:Zr(oi(e)).left+r}function Ox(e,a){const r=e.getBoundingClientRect(),s=r.left+a.scrollLeft-ld(e,r),l=r.top+a.scrollTop;return{x:s,y:l}}function HN(e){let{elements:a,rect:r,offsetParent:s,strategy:l}=e;const d=l==="fixed",u=oi(s),p=a?sd(a.floating):!1;if(s===u||p&&d)return r;let m={scrollLeft:0,scrollTop:0},g=ri(1);const v=ri(0),y=ni(s);if((y||!y&&!d)&&((vs(s)!=="body"||$o(u))&&(m=od(s)),ni(s))){const E=Zr(s);g=ss(s),v.x=E.x+s.clientLeft,v.y=E.y+s.clientTop}const S=u&&!y&&!d?Ox(u,m):ri(0);return{width:r.width*g.x,height:r.height*g.y,x:r.x*g.x-m.scrollLeft*g.x+v.x+S.x,y:r.y*g.y-m.scrollTop*g.y+v.y+S.y}}function zN(e){return Array.from(e.getClientRects())}function DN(e){const a=oi(e),r=od(e),s=e.ownerDocument.body,l=ma(a.scrollWidth,a.clientWidth,s.scrollWidth,s.clientWidth),d=ma(a.scrollHeight,a.clientHeight,s.scrollHeight,s.clientHeight);let u=-r.scrollLeft+ld(e);const p=-r.scrollTop;return Ua(s).direction==="rtl"&&(u+=ma(a.clientWidth,s.clientWidth)-l),{width:l,height:d,x:u,y:p}}const z0=25;function BN(e,a){const r=ya(e),s=oi(e),l=r.visualViewport;let d=s.clientWidth,u=s.clientHeight,p=0,m=0;if(l){d=l.width,u=l.height;const v=Af();(!v||v&&a==="fixed")&&(p=l.offsetLeft,m=l.offsetTop)}const g=ld(s);if(g<=0){const v=s.ownerDocument,y=v.body,S=getComputedStyle(y),E=v.compatMode==="CSS1Compat"&&parseFloat(S.marginLeft)+parseFloat(S.marginRight)||0,N=Math.abs(s.clientWidth-y.clientWidth-E);N<=z0&&(d-=N)}else g<=z0&&(d+=g);return{width:d,height:u,x:p,y:m}}const UN=new Set(["absolute","fixed"]);function qN(e,a){const r=Zr(e,!0,a==="fixed"),s=r.top+e.clientTop,l=r.left+e.clientLeft,d=ni(e)?ss(e):ri(1),u=e.clientWidth*d.x,p=e.clientHeight*d.y,m=l*d.x,g=s*d.y;return{width:u,height:p,x:m,y:g}}function D0(e,a,r){let s;if(a==="viewport")s=BN(e,r);else if(a==="document")s=DN(oi(e));else if(Ba(a))s=qN(a,r);else{const l=kx(e);s={x:a.x-l.x,y:a.y-l.y,width:a.width,height:a.height}}return Dc(s)}function Tx(e,a){const r=yr(e);return r===a||!Ba(r)||ps(r)?!1:Ua(r).position==="fixed"||Tx(r,a)}function GN(e,a){const r=a.get(e);if(r)return r;let s=Lo(e,[],!1).filter(p=>Ba(p)&&vs(p)!=="body"),l=null;const d=Ua(e).position==="fixed";let u=d?yr(e):e;for(;Ba(u)&&!ps(u);){const p=Ua(u),m=Sf(u);!m&&p.position==="fixed"&&(l=null),(d?!m&&!l:!m&&p.position==="static"&&!!l&&UN.has(l.position)||$o(u)&&!m&&Tx(e,u))?s=s.filter(v=>v!==u):l=p,u=yr(u)}return a.set(e,s),s}function WN(e){let{element:a,boundary:r,rootBoundary:s,strategy:l}=e;const u=[...r==="clippingAncestors"?sd(a)?[]:GN(a,this._c):[].concat(r),s],p=u[0],m=u.reduce((g,v)=>{const y=D0(a,v,l);return g.top=ma(y.top,g.top),g.right=gr(y.right,g.right),g.bottom=gr(y.bottom,g.bottom),g.left=ma(y.left,g.left),g},D0(a,p,l));return{width:m.right-m.left,height:m.bottom-m.top,x:m.left,y:m.top}}function YN(e){const{width:a,height:r}=Nx(e);return{width:a,height:r}}function $N(e,a,r){const s=ni(a),l=oi(a),d=r==="fixed",u=Zr(e,!0,d,a);let p={scrollLeft:0,scrollTop:0};const m=ri(0);function g(){m.x=ld(l)}if(s||!s&&!d)if((vs(a)!=="body"||$o(l))&&(p=od(a)),s){const E=Zr(a,!0,d,a);m.x=E.x+a.clientLeft,m.y=E.y+a.clientTop}else l&&g();d&&!s&&l&&g();const v=l&&!s&&!d?Ox(l,p):ri(0),y=u.left+p.scrollLeft-m.x-v.x,S=u.top+p.scrollTop-m.y-v.y;return{x:y,y:S,width:u.width,height:u.height}}function $h(e){return Ua(e).position==="static"}function B0(e,a){if(!ni(e)||Ua(e).position==="fixed")return null;if(a)return a(e);let r=e.offsetParent;return oi(e)===r&&(r=r.ownerDocument.body),r}function Cx(e,a){const r=ya(e);if(sd(e))return r;if(!ni(e)){let l=yr(e);for(;l&&!ps(l);){if(Ba(l)&&!$h(l))return l;l=yr(l)}return r}let s=B0(e,a);for(;s&&TN(s)&&$h(s);)s=B0(s,a);return s&&ps(s)&&$h(s)&&!Sf(s)?r:s||IN(e)||r}const FN=async function(e){const a=this.getOffsetParent||Cx,r=this.getDimensions,s=await r(e.floating);return{reference:$N(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function KN(e){return Ua(e).direction==="rtl"}const VN={convertOffsetParentRelativeRectToViewportRelativeRect:HN,getDocumentElement:oi,getClippingRect:WN,getOffsetParent:Cx,getElementRects:FN,getClientRects:zN,getDimensions:YN,getScale:ss,isElement:Ba,isRTL:KN};function Rx(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function ZN(e,a){let r=null,s;const l=oi(e);function d(){var p;clearTimeout(s),(p=r)==null||p.disconnect(),r=null}function u(p,m){p===void 0&&(p=!1),m===void 0&&(m=1),d();const g=e.getBoundingClientRect(),{left:v,top:y,width:S,height:E}=g;if(p||a(),!S||!E)return;const N=yc(y),x=yc(l.clientWidth-(v+S)),k=yc(l.clientHeight-(y+E)),C=yc(v),M={rootMargin:-N+"px "+-x+"px "+-k+"px "+-C+"px",threshold:ma(0,gr(1,m))||1};let Y=!0;function L(G){const j=G[0].intersectionRatio;if(j!==m){if(!Y)return u();j?u(!1,j):s=setTimeout(()=>{u(!1,1e-7)},1e3)}j===1&&!Rx(g,e.getBoundingClientRect())&&u(),Y=!1}try{r=new IntersectionObserver(L,{...M,root:l.ownerDocument})}catch{r=new IntersectionObserver(L,M)}r.observe(e)}return u(!0),d}function QN(e,a,r,s){s===void 0&&(s={});const{ancestorScroll:l=!0,ancestorResize:d=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:p=typeof IntersectionObserver=="function",animationFrame:m=!1}=s,g=Ef(e),v=l||d?[...g?Lo(g):[],...Lo(a)]:[];v.forEach(C=>{l&&C.addEventListener("scroll",r,{passive:!0}),d&&C.addEventListener("resize",r)});const y=g&&p?ZN(g,r):null;let S=-1,E=null;u&&(E=new ResizeObserver(C=>{let[I]=C;I&&I.target===g&&E&&(E.unobserve(a),cancelAnimationFrame(S),S=requestAnimationFrame(()=>{var M;(M=E)==null||M.observe(a)})),r()}),g&&!m&&E.observe(g),E.observe(a));let N,x=m?Zr(e):null;m&&k();function k(){const C=Zr(e);x&&!Rx(x,C)&&r(),x=C,N=requestAnimationFrame(k)}return r(),()=>{var C;v.forEach(I=>{l&&I.removeEventListener("scroll",r),d&&I.removeEventListener("resize",r)}),y?.(),(C=E)==null||C.disconnect(),E=null,m&&cancelAnimationFrame(N)}}const XN=SN,JN=AN,ek=vN,tk=NN,ak=wN,U0=bN,ik=EN,rk=(e,a,r)=>{const s=new Map,l={platform:VN,...r},d={...l.platform,_c:s};return yN(e,a,{...l,platform:d})};var nk=typeof document<"u",sk=function(){},Pc=nk?w.useLayoutEffect:sk;function Bc(e,a){if(e===a)return!0;if(typeof e!=typeof a)return!1;if(typeof e=="function"&&e.toString()===a.toString())return!0;let r,s,l;if(e&&a&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==a.length)return!1;for(s=r;s--!==0;)if(!Bc(e[s],a[s]))return!1;return!0}if(l=Object.keys(e),r=l.length,r!==Object.keys(a).length)return!1;for(s=r;s--!==0;)if(!{}.hasOwnProperty.call(a,l[s]))return!1;for(s=r;s--!==0;){const d=l[s];if(!(d==="_owner"&&e.$$typeof)&&!Bc(e[d],a[d]))return!1}return!0}return e!==e&&a!==a}function jx(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function q0(e,a){const r=jx(e);return Math.round(a*r)/r}function Fh(e){const a=w.useRef(e);return Pc(()=>{a.current=e}),a}function ok(e){e===void 0&&(e={});const{placement:a="bottom",strategy:r="absolute",middleware:s=[],platform:l,elements:{reference:d,floating:u}={},transform:p=!0,whileElementsMounted:m,open:g}=e,[v,y]=w.useState({x:0,y:0,strategy:r,placement:a,middlewareData:{},isPositioned:!1}),[S,E]=w.useState(s);Bc(S,s)||E(s);const[N,x]=w.useState(null),[k,C]=w.useState(null),I=w.useCallback(_=>{_!==G.current&&(G.current=_,x(_))},[]),M=w.useCallback(_=>{_!==j.current&&(j.current=_,C(_))},[]),Y=d||N,L=u||k,G=w.useRef(null),j=w.useRef(null),z=w.useRef(v),F=m!=null,re=Fh(m),se=Fh(l),ie=Fh(g),te=w.useCallback(()=>{if(!G.current||!j.current)return;const _={placement:a,strategy:r,middleware:S};se.current&&(_.platform=se.current),rk(G.current,j.current,_).then(ce=>{const he={...ce,isPositioned:ie.current!==!1};U.current&&!Bc(z.current,he)&&(z.current=he,Wo.flushSync(()=>{y(he)}))})},[S,a,r,se,ie]);Pc(()=>{g===!1&&z.current.isPositioned&&(z.current.isPositioned=!1,y(_=>({..._,isPositioned:!1})))},[g]);const U=w.useRef(!1);Pc(()=>(U.current=!0,()=>{U.current=!1}),[]),Pc(()=>{if(Y&&(G.current=Y),L&&(j.current=L),Y&&L){if(re.current)return re.current(Y,L,te);te()}},[Y,L,te,re,F]);const ne=w.useMemo(()=>({reference:G,floating:j,setReference:I,setFloating:M}),[I,M]),O=w.useMemo(()=>({reference:Y,floating:L}),[Y,L]),D=w.useMemo(()=>{const _={position:r,left:0,top:0};if(!O.floating)return _;const ce=q0(O.floating,v.x),he=q0(O.floating,v.y);return p?{..._,transform:"translate("+ce+"px, "+he+"px)",...jx(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:ce,top:he}},[r,p,O.floating,v.x,v.y]);return w.useMemo(()=>({...v,update:te,refs:ne,elements:O,floatingStyles:D}),[v,te,ne,O,D])}const lk=e=>{function a(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:s,padding:l}=typeof e=="function"?e(r):e;return s&&a(s)?s.current!=null?U0({element:s.current,padding:l}).fn(r):{}:s?U0({element:s,padding:l}).fn(r):{}}}},ck=(e,a)=>({...XN(e),options:[e,a]}),dk=(e,a)=>({...JN(e),options:[e,a]}),uk=(e,a)=>({...ik(e),options:[e,a]}),hk=(e,a)=>({...ek(e),options:[e,a]}),pk=(e,a)=>({...tk(e),options:[e,a]}),fk=(e,a)=>({...ak(e),options:[e,a]}),mk=(e,a)=>({...lk(e),options:[e,a]});var gk="Arrow",Px=w.forwardRef((e,a)=>{const{children:r,width:s=10,height:l=5,...d}=e;return o.jsx(Ze.svg,{...d,ref:a,width:s,height:l,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:o.jsx("polygon",{points:"0,0 30,0 15,10"})})});Px.displayName=gk;var yk=Px;function bk(e){const[a,r]=w.useState(void 0);return Ut(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(l=>{if(!Array.isArray(l)||!l.length)return;const d=l[0];let u,p;if("borderBoxSize"in d){const m=d.borderBoxSize,g=Array.isArray(m)?m[0]:m;u=g.inlineSize,p=g.blockSize}else u=e.offsetWidth,p=e.offsetHeight;r({width:u,height:p})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else r(void 0)},[e]),a}var Nf="Popper",[Ix,cd]=Yo(Nf),[vk,Mx]=Ix(Nf),Lx=e=>{const{__scopePopper:a,children:r}=e,[s,l]=w.useState(null);return o.jsx(vk,{scope:a,anchor:s,onAnchorChange:l,children:r})};Lx.displayName=Nf;var _x="PopperAnchor",Hx=w.forwardRef((e,a)=>{const{__scopePopper:r,virtualRef:s,...l}=e,d=Mx(_x,r),u=w.useRef(null),p=lt(a,u),m=w.useRef(null);return w.useEffect(()=>{const g=m.current;m.current=s?.current||u.current,g!==m.current&&d.onAnchorChange(m.current)}),s?null:o.jsx(Ze.div,{...l,ref:p})});Hx.displayName=_x;var kf="PopperContent",[wk,xk]=Ix(kf),zx=w.forwardRef((e,a)=>{const{__scopePopper:r,side:s="bottom",sideOffset:l=0,align:d="center",alignOffset:u=0,arrowPadding:p=0,avoidCollisions:m=!0,collisionBoundary:g=[],collisionPadding:v=0,sticky:y="partial",hideWhenDetached:S=!1,updatePositionStrategy:E="optimized",onPlaced:N,...x}=e,k=Mx(kf,r),[C,I]=w.useState(null),M=lt(a,ae=>I(ae)),[Y,L]=w.useState(null),G=bk(Y),j=G?.width??0,z=G?.height??0,F=s+(d!=="center"?"-"+d:""),re=typeof v=="number"?v:{top:0,right:0,bottom:0,left:0,...v},se=Array.isArray(g)?g:[g],ie=se.length>
vendor: 11,038 bytes, line 49
490,te={padding:re,boundary:se.filter(Ak),altBoundary:ie},{refs:U,floatingStyles:ne,placement:O,isPositioned:D,middlewareData:_}=ok({strategy:"fixed",placement:F,whileElementsMounted:(...ae)=>QN(...ae,{animationFrame:E==="always"}),elements:{reference:k.anchor},middleware:[ck({mainAxis:l+z,alignmentAxis:u}),m&&dk({mainAxis:!0,crossAxis:!1,limiter:y==="partial"?uk():void 0,...te}),m&&hk({...te}),pk({...te,apply:({elements:ae,rects:pe,availableWidth:Se,availableHeight:ke})=>{const{width:Ce,height:Ie}=pe.reference,Rt=ae.floating.style;Rt.setProperty("--radix-popper-available-width",`${Se}px`),Rt.setProperty("--radix-popper-available-height",`${ke}px`),Rt.setProperty("--radix-popper-anchor-width",`${Ce}px`),Rt.setProperty("--radix-popper-anchor-height",`${Ie}px`)}}),Y&&mk({element:Y,padding:p}),Ek({arrowWidth:j,arrowHeight:z}),S&&fk({strategy:"referenceHidden",...te})]}),[ce,he]=Ux(O),T=Vr(N);Ut(()=>{D&&T?.()},[D,T]);const V=_.arrow?.x,W=_.arrow?.y,Z=_.arrow?.centerOffset!==0,[oe,ue]=w.useState();return Ut(()=>{C&&ue(window.getComputedStyle(C).zIndex)},[C]),o.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...ne,transform:D?ne.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:oe,"--radix-popper-transform-origin":[_.transformOrigin?.x,_.transformOrigin?.y].join(" "),..._.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:o.jsx(wk,{scope:r,placedSide:ce,onArrowChange:L,arrowX:V,arrowY:W,shouldHideArrow:Z,children:o.jsx(Ze.div,{"data-side":ce,"data-align":he,...x,ref:M,style:{...x.style,animation:D?void 0:"none"}})})})});zx.displayName=kf;var Dx="PopperArrow",Sk={top:"bottom",right:"left",bottom:"top",left:"right"},Bx=w.forwardRef(function(a,r){const{__scopePopper:s,...l}=a,d=xk(Dx,s),u=Sk[d.placedSide];return o.jsx("span",{ref:d.onArrowChange,style:{position:"absolute",left:d.arrowX,top:d.arrowY,[u]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[d.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[d.placedSide],visibility:d.shouldHideArrow?"hidden":void 0},children:o.jsx(yk,{...l,ref:r,style:{...l.style,display:"block"}})})});Bx.displayName=Dx;function Ak(e){return e!==null}var Ek=e=>({name:"transformOrigin",options:e,fn(a){const{placement:r,rects:s,middlewareData:l}=a,u=l.arrow?.centerOffset!==0,p=u?0:e.arrowWidth,m=u?0:e.arrowHeight,[g,v]=Ux(r),y={start:"0%",center:"50%",end:"100%"}[v],S=(l.arrow?.x??0)+p/2,E=(l.arrow?.y??0)+m/2;let N="",x="";return g==="bottom"?(N=u?y:`${S}px`,x=`${-m}px`):g==="top"?(N=u?y:`${S}px`,x=`${s.floating.height+m}px`):g==="right"?(N=`${-m}px`,x=u?y:`${E}px`):g==="left"&&(N=`${s.floating.width+m}px`,x=u?y:`${E}px`),{data:{x:N,y:x}}}});function Ux(e){const[a,r="center"]=e.split("-");return[a,r]}var Nk=Lx,qx=Hx,Gx=zx,Wx=Bx,kk="Portal",Of=w.forwardRef((e,a)=>{const{container:r,...s}=e,[l,d]=w.useState(!1);Ut(()=>d(!0),[]);const u=r||l&&globalThis?.document?.body;return u?gx.createPortal(o.jsx(Ze.div,{...s,ref:a}),u):null});Of.displayName=kk;function Ok(e,a){return w.useReducer((r,s)=>a[r][s]??r,e)}var Fo=e=>{const{present:a,children:r}=e,s=Tk(a),l=typeof r=="function"?r({present:s.isPresent}):w.Children.only(r),d=lt(s.ref,Ck(l));return typeof r=="function"||s.isPresent?w.cloneElement(l,{ref:d}):null};Fo.displayName="Presence";function Tk(e){const[a,r]=w.useState(),s=w.useRef(null),l=w.useRef(e),d=w.useRef("none"),u=e?"mounted":"unmounted",[p,m]=Ok(u,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const g=bc(s.current);d.current=p==="mounted"?g:"none"},[p]),Ut(()=>{const g=s.current,v=l.current;if(v!==e){const S=d.current,E=bc(g);e?m("MOUNT"):E==="none"||g?.display==="none"?m("UNMOUNT"):m(v&&S!==E?"ANIMATION_OUT":"UNMOUNT"),l.current=e}},[e,m]),Ut(()=>{if(a){let g;const v=a.ownerDocument.defaultView??window,y=E=>{const x=bc(s.current).includes(CSS.escape(E.animationName));if(E.target===a&&x&&(m("ANIMATION_END"),!l.current)){const k=a.style.animationFillMode;a.style.animationFillMode="forwards",g=v.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=k)})}},S=E=>{E.target===a&&(d.current=bc(s.current))};return a.addEventListener("animationstart",S),a.addEventListener("animationcancel",y),a.addEventListener("animationend",y),()=>{v.clearTimeout(g),a.removeEventListener("animationstart",S),a.removeEventListener("animationcancel",y),a.removeEventListener("animationend",y)}}else m("ANIMATION_END")},[a,m]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:w.useCallback(g=>{s.current=g?getComputedStyle(g):null,r(g)},[])}}function bc(e){return e?.animationName||"none"}function Ck(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=a&&"isReactWarning"in a&&a.isReactWarning;return r?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=a&&"isReactWarning"in a&&a.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Rk=Qc[" useInsertionEffect ".trim().toString()]||Ut;function Pp({prop:e,defaultProp:a,onChange:r=()=>{},caller:s}){const[l,d,u]=jk({defaultProp:a,onChange:r}),p=e!==void 0,m=p?e:l;{const v=w.useRef(e!==void 0);w.useEffect(()=>{const y=v.current;y!==p&&console.warn(`${s} is changing from ${y?"controlled":"uncontrolled"} to ${p?"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.`),v.current=p},[p,s])}const g=w.useCallback(v=>{if(p){const y=Pk(v)?v(e):v;y!==e&&u.current?.(y)}else d(v)},[p,e,d,u]);return[m,g]}function jk({defaultProp:e,onChange:a}){const[r,s]=w.useState(e),l=w.useRef(r),d=w.useRef(a);return Rk(()=>{d.current=a},[a]),w.useEffect(()=>{l.current!==r&&(d.current?.(r),l.current=r)},[r,l]),[r,s,d]}function Pk(e){return typeof e=="function"}var Yx=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"}),Ik="VisuallyHidden",$x=w.forwardRef((e,a)=>o.jsx(Ze.span,{...e,ref:a,style:{...Yx,...e.style}}));$x.displayName=Ik;var Mk=$x,[dd]=Yo("Tooltip",[cd]),Tf=cd(),Fx="TooltipProvider",Lk=700,G0="tooltip.open",[_k,Kx]=dd(Fx),Vx=e=>{const{__scopeTooltip:a,delayDuration:r=Lk,skipDelayDuration:s=300,disableHoverableContent:l=!1,children:d}=e,u=w.useRef(!0),p=w.useRef(!1),m=w.useRef(0);return w.useEffect(()=>{const g=m.current;return()=>window.clearTimeout(g)},[]),o.jsx(_k,{scope:a,isOpenDelayedRef:u,delayDuration:r,onOpen:w.useCallback(()=>{window.clearTimeout(m.current),u.current=!1},[]),onClose:w.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>u.current=!0,s)},[s]),isPointerInTransitRef:p,onPointerInTransitChange:w.useCallback(g=>{p.current=g},[]),disableHoverableContent:l,children:d})};Vx.displayName=Fx;var Zx="Tooltip",[QI,ud]=dd(Zx),Ip="TooltipTrigger",Hk=w.forwardRef((e,a)=>{const{__scopeTooltip:r,...s}=e,l=ud(Ip,r),d=Kx(Ip,r),u=Tf(r),p=w.useRef(null),m=lt(a,p,l.onTriggerChange),g=w.useRef(!1),v=w.useRef(!1),y=w.useCallback(()=>g.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),o.jsx(qx,{asChild:!0,...u,children:o.jsx(Ze.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...s,ref:m,onPointerMove:Ge(e.onPointerMove,S=>{S.pointerType!=="touch"&&!v.current&&!d.isPointerInTransitRef.current&&(l.onTriggerEnter(),v.current=!0)}),onPointerLeave:Ge(e.onPointerLeave,()=>{l.onTriggerLeave(),v.current=!1}),onPointerDown:Ge(e.onPointerDown,()=>{l.open&&l.onClose(),g.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:Ge(e.onFocus,()=>{g.current||l.onOpen()}),onBlur:Ge(e.onBlur,l.onClose),onClick:Ge(e.onClick,l.onClose)})})});Hk.displayName=Ip;var zk="TooltipPortal",[XI,Dk]=dd(zk,{forceMount:void 0}),fs="TooltipContent",Bk=w.forwardRef((e,a)=>{const r=Dk(fs,e.__scopeTooltip),{forceMount:s=r.forceMount,side:l="top",...d}=e,u=ud(fs,e.__scopeTooltip);return o.jsx(Fo,{present:s||u.open,children:u.disableHoverableContent?o.jsx(Qx,{side:l,...d,ref:a}):o.jsx(Uk,{side:l,...d,ref:a})})}),Uk=w.forwardRef((e,a)=>{const r=ud(fs,e.__scopeTooltip),s=Kx(fs,e.__scopeTooltip),l=w.useRef(null),d=lt(a,l),[u,p]=w.useState(null),{trigger:m,onClose:g}=r,v=l.current,{onPointerInTransitChange:y}=s,S=w.useCallback(()=>{p(null),y(!1)},[y]),E=w.useCallback((N,x)=>{const k=N.currentTarget,C={x:N.clientX,y:N.clientY},I=$k(C,k.getBoundingClientRect()),M=Fk(C,I),Y=Kk(x.getBoundingClientRect()),L=Zk([...M,...Y]);p(L),y(!0)},[y]);return w.useEffect(()=>()=>S(),[S]),w.useEffect(()=>{if(m&&v){const N=k=>E(k,v),x=k=>E(k,m);return m.addEventListener("pointerleave",N),v.addEventListener("pointerleave",x),()=>{m.removeEventListener("pointerleave",N),v.removeEventListener("pointerleave",x)}}},[m,v,E,S]),w.useEffect(()=>{if(u){const N=x=>{const k=x.target,C={x:x.clientX,y:x.clientY},I=m?.contains(k)||v?.contains(k),M=!Vk(C,u);I?S():M&&(S(),g())};return document.addEventListener("pointermove",N),()=>document.removeEventListener("pointermove",N)}},[m,v,u,g,S]),o.jsx(Qx,{...e,ref:d})}),[qk,Gk]=dd(Zx,{isInside:!1}),Wk=WE("TooltipContent"),Qx=w.forwardRef((e,a)=>{const{__scopeTooltip:r,children:s,"aria-label":l,onEscapeKeyDown:d,onPointerDownOutside:u,...p}=e,m=ud(fs,r),g=Tf(r),{onClose:v}=m;return w.useEffect(()=>(document.addEventListener(G0,v),()=>document.removeEventListener(G0,v)),[v]),w.useEffect(()=>{if(m.trigger){const y=S=>{S.target?.contains(m.trigger)&&v()};return window.addEventListener("scroll",y,{capture:!0}),()=>window.removeEventListener("scroll",y,{capture:!0})}},[m.trigger,v]),o.jsx(rd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:y=>y.preventDefault(),onDismiss:v,children:o.jsxs(Gx,{"data-state":m.stateAttribute,...g,...p,ref:a,style:{...p.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:[o.jsx(Wk,{children:s}),o.jsx(qk,{scope:r,isInside:!0,children:o.jsx(Mk,{id:m.contentId,role:"tooltip",children:l||s})})]})})});Bk.displayName=fs;var Xx="TooltipArrow",Yk=w.forwardRef((e,a)=>{const{__scopeTooltip:r,...s}=e,l=Tf(r);return Gk(Xx,r).isInside?null:o.jsx(Wx,{...l,...s,ref:a})});Yk.displayName=Xx;function $k(e,a){const r=Math.abs(a.top-e.y),s=Math.abs(a.bottom-e.y),l=Math.abs(a.right-e.x),d=Math.abs(a.left-e.x);switch(Math.min(r,s,l,d)){case d:return"left";case l:return"right";case r:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function Fk(e,a,r=5){const s=[];
vendor: 8,980 bytes, line 49
49switch(a){case"top":s.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":s.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":s.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":s.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r});break}return s}function Kk(e){const{top:a,right:r,bottom:s,left:l}=e;return[{x:l,y:a},{x:r,y:a},{x:r,y:s},{x:l,y:s}]}function Vk(e,a){const{x:r,y:s}=e;let l=!1;for(let d=0,u=a.length-1;d<a.length;u=d++){const p=a[d],m=a[u],g=p.x,v=p.y,y=m.x,S=m.y;v>s!=S>s&&r<(y-g)*(s-v)/(S-v)+g&&(l=!l)}return l}function Zk(e){const a=e.slice();return a.sort((r,s)=>r.x<s.x?-1:r.x>s.x?1:r.y<s.y?-1:r.y>s.y?1:0),Qk(a)}function Qk(e){if(e.length<=1)return e.slice();const a=[];for(let s=0;s<e.length;s++){const l=e[s];for(;a.length>=2;){const d=a[a.length-1],u=a[a.length-2];if((d.x-u.x)*(l.y-u.y)>=(d.y-u.y)*(l.x-u.x))a.pop();else break}a.push(l)}a.pop();const r=[];for(let s=e.length-1;s>=0;s--){const l=e[s];for(;r.length>=2;){const d=r[r.length-1],u=r[r.length-2];if((d.x-u.x)*(l.y-u.y)>=(d.y-u.y)*(l.x-u.x))r.pop();else break}r.push(l)}return r.pop(),a.length===1&&r.length===1&&a[0].x===r[0].x&&a[0].y===r[0].y?a:a.concat(r)}var Xk=Vx;function Jx(e){var a,r,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(a=0;a<l;a++)e[a]&&(r=Jx(e[a]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}function eS(){for(var e,a,r=0,s="",l=arguments.length;r<l;r++)(e=arguments[r])&&(a=Jx(e))&&(s&&(s+=" "),s+=a);return s}const Cf="-",Jk=e=>{const a=t6(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:u=>{const p=u.split(Cf);return p[0]===""&&p.length!==1&&p.shift(),tS(p,a)||e6(u)},getConflictingClassGroupIds:(u,p)=>{const m=r[u]||[];return p&&s[u]?[...m,...s[u]]:m}}},tS=(e,a)=>{if(e.length===0)return a.classGroupId;const r=e[0],s=a.nextPart.get(r),l=s?tS(e.slice(1),s):void 0;if(l)return l;if(a.validators.length===0)return;const d=e.join(Cf);return a.validators.find(({validator:u})=>u(d))?.classGroupId},W0=/^\[(.+)\]$/,e6=e=>{if(W0.test(e)){const a=W0.exec(e)[1],r=a?.substring(0,a.indexOf(":"));if(r)return"arbitrary.."+r}},t6=e=>{const{theme:a,classGroups:r}=e,s={nextPart:new Map,validators:[]};for(const l in r)Mp(r[l],s,l,a);return s},Mp=(e,a,r,s)=>{e.forEach(l=>{if(typeof l=="string"){const d=l===""?a:Y0(a,l);d.classGroupId=r;return}if(typeof l=="function"){if(a6(l)){Mp(l(s),a,r,s);return}a.validators.push({validator:l,classGroupId:r});return}Object.entries(l).forEach(([d,u])=>{Mp(u,Y0(a,d),r,s)})})},Y0=(e,a)=>{let r=e;return a.split(Cf).forEach(s=>{r.nextPart.has(s)||r.nextPart.set(s,{nextPart:new Map,validators:[]}),r=r.nextPart.get(s)}),r},a6=e=>e.isThemeGetter,i6=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,r=new Map,s=new Map;const l=(d,u)=>{r.set(d,u),a++,a>e&&(a=0,s=r,r=new Map)};return{get(d){let u=r.get(d);if(u!==void 0)return u;if((u=s.get(d))!==void 0)return l(d,u),u},set(d,u){r.has(d)?r.set(d,u):l(d,u)}}},Lp="!",_p=":",r6=_p.length,n6=e=>{const{prefix:a,experimentalParseClassName:r}=e;let s=l=>{const d=[];let u=0,p=0,m=0,g;for(let N=0;N<l.length;N++){let x=l[N];if(u===0&&p===0){if(x===_p){d.push(l.slice(m,N)),m=N+r6;continue}if(x==="/"){g=N;continue}}x==="["?u++:x==="]"?u--:x==="("?p++:x===")"&&p--}const v=d.length===0?l:l.substring(m),y=s6(v),S=y!==v,E=g&&g>m?g-m:void 0;return{modifiers:d,hasImportantModifier:S,baseClassName:y,maybePostfixModifierPosition:E}};if(a){const l=a+_p,d=s;s=u=>u.startsWith(l)?d(u.substring(l.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:u,maybePostfixModifierPosition:void 0}}if(r){const l=s;s=d=>r({className:d,parseClassName:l})}return s},s6=e=>e.endsWith(Lp)?e.substring(0,e.length-1):e.startsWith(Lp)?e.substring(1):e,o6=e=>{const a=Object.fromEntries(e.orderSensitiveModifiers.map(s=>[s,!0]));return s=>{if(s.length<=1)return s;const l=[];let d=[];return s.forEach(u=>{u[0]==="["||a[u]?(l.push(...d.sort(),u),d=[]):d.push(u)}),l.push(...d.sort()),l}},l6=e=>({cache:i6(e.cacheSize),parseClassName:n6(e),sortModifiers:o6(e),...Jk(e)}),c6=/\s+/,d6=(e,a)=>{const{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:l,sortModifiers:d}=a,u=[],p=e.trim().split(c6);let m="";for(let g=p.length-1;g>=0;g-=1){const v=p[g],{isExternal:y,modifiers:S,hasImportantModifier:E,baseClassName:N,maybePostfixModifierPosition:x}=r(v);if(y){m=v+(m.length>0?" "+m:m);continue}let k=!!x,C=s(k?N.substring(0,x):N);if(!C){if(!k){m=v+(m.length>0?" "+m:m);continue}if(C=s(N),!C){m=v+(m.length>0?" "+m:m);continue}k=!1}const I=d(S).join(":"),M=E?I+Lp:I,Y=M+C;if(u.includes(Y))continue;u.push(Y);const L=l(C,k);for(let G=0;G<L.length;++G){const j=L[G];u.push(M+j)}m=v+(m.length>0?" "+m:m)}return m};function u6(){let e=0,a,r,s="";for(;e<arguments.length;)(a=arguments[e++])&&(r=aS(a))&&(s&&(s+=" "),s+=r);return s}const aS=e=>{if(typeof e=="string")return e;let a,r="";for(let s=0;s<e.length;s++)e[s]&&(a=aS(e[s]))&&(r&&(r+=" "),r+=a);return r};function h6(e,...a){let r,s,l,d=u;function u(m){const g=a.reduce((v,y)=>y(v),e());return r=l6(g),s=r.cache.get,l=r.cache.set,d=p,p(m)}function p(m){const g=s(m);if(g)return g;const v=d6(m,r);return l(m,v),v}return function(){return d(u6.apply(null,arguments))}}const Nt=e=>{const a=r=>r[e]||[];return a.isThemeGetter=!0,a},iS=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,rS=/^\((?:(\w[\w-]*):)?(.+)\)$/i,p6=/^\d+\/\d+$/,f6=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,m6=/\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$/,g6=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,y6=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,b6=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Qn=e=>p6.test(e),Te=e=>!!e&&!Number.isNaN(Number(e)),cr=e=>!!e&&Number.isInteger(Number(e)),Kh=e=>e.endsWith("%")&&Te(e.slice(0,-1)),Ti=e=>f6.test(e),v6=()=>!0,w6=e=>m6.test(e)&&!g6.test(e),nS=()=>!1,x6=e=>y6.test(e),S6=e=>b6.test(e),A6=e=>!me(e)&&!ge(e),E6=e=>ws(e,lS,nS),me=e=>iS.test(e),Wr=e=>ws(e,cS,w6),Vh=e=>ws(e,C6,Te),$0=e=>ws(e,sS,nS),N6=e=>ws(e,oS,S6),vc=e=>ws(e,dS,x6),ge=e=>rS.test(e),So=e=>xs(e,cS),k6=e=>xs(e,R6),F0=e=>xs(e,sS),O6=e=>xs(e,lS),T6=e=>xs(e,oS),wc=e=>xs(e,dS,!0),ws=(e,a,r)=>{const s=iS.exec(e);return s?s[1]?a(s[1]):r(s[2]):!1},xs=(e,a,r=!1)=>{const s=rS.exec(e);return s?s[1]?a(s[1]):r:!1},sS=e=>e==="position"||e==="percentage",oS=e=>e==="image"||e==="url",lS=e=>e==="length"||e==="size"||e==="bg-size",cS=e=>e==="length",C6=e=>e==="number",R6=e=>e==="family-name",dS=e=>e==="shadow",j6=()=>{const e=Nt("color"),a=Nt("font"),r=Nt("text"),s=Nt("font-weight"),l=Nt("tracking"),d=Nt("leading"),u=Nt("breakpoint"),p=Nt("container"),m=Nt("spacing"),g=Nt("radius"),v=Nt("shadow"),y=Nt("inset-shadow"),S=Nt("text-shadow"),E=Nt("drop-shadow"),N=Nt("blur"),x=Nt("perspective"),k=Nt("aspect"),C=Nt("ease"),I=Nt("animate"),M=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...Y(),ge,me],G=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],z=()=>[ge,me,m],F=()=>[Qn,"full","auto",...z()],re=()=>[cr,"none","subgrid",ge,me],se=()=>["auto",{span:["full",cr,ge,me]},cr,ge,me],ie=()=>[cr,"auto",ge,me],te=()=>["auto","min","max","fr",ge,me],U=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ne=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...z()],D=()=>[Qn,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],_=()=>[e,ge,me],ce=()=>[...Y(),F0,$0,{position:[ge,me]}],he=()=>["no-repeat",{repeat:["","x","y","space","round"]}],T=()=>["auto","cover","contain",O6,E6,{size:[ge,me]}],V=()=>[Kh,So,Wr],W=()=>["","none","full",g,ge,me],Z=()=>["",Te,So,Wr],oe=()=>["solid","dashed","dotted","double"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ae=()=>[Te,Kh,F0,$0],pe=()=>["","none",N,ge,me],Se=()=>["none",Te,ge,me],ke=()=>["none",Te,ge,me],Ce=()=>[Te,ge,me],Ie=()=>[Qn,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ti],breakpoint:[Ti],color:[v6],container:[Ti],"drop-shadow":[Ti],ease:["in","out","in-out"],font:[A6],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ti],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ti],shadow:[Ti],spacing:["px",Te],text:[Ti],"text-shadow":[Ti],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Qn,me,ge,k]}
vendor: 12,864 bytes, line 49
49],container:["container"],columns:[{columns:[Te,me,ge,p]}],"break-after":[{"break-after":M()}],"break-before":[{"break-before":M()}],"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"],sr:["sr-only","not-sr-only"],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:L()}],overflow:[{overflow:G()}],"overflow-x":[{"overflow-x":G()}],"overflow-y":[{"overflow-y":G()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:F()}],"inset-x":[{"inset-x":F()}],"inset-y":[{"inset-y":F()}],start:[{start:F()}],end:[{end:F()}],top:[{top:F()}],right:[{right:F()}],bottom:[{bottom:F()}],left:[{left:F()}],visibility:["visible","invisible","collapse"],z:[{z:[cr,"auto",ge,me]}],basis:[{basis:[Qn,"full","auto",p,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Te,Qn,"auto","initial","none",me]}],grow:[{grow:["",Te,ge,me]}],shrink:[{shrink:["",Te,ge,me]}],order:[{order:[cr,"first","last","none",ge,me]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:se()}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:se()}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":te()}],"auto-rows":[{"auto-rows":te()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...U(),"normal"]}],"justify-items":[{"justify-items":[...ne(),"normal"]}],"justify-self":[{"justify-self":["auto",...ne()]}],"align-content":[{content:["normal",...U()]}],"align-items":[{items:[...ne(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ne(),{baseline:["","last"]}]}],"place-content":[{"place-content":U()}],"place-items":[{"place-items":[...ne(),"baseline"]}],"place-self":[{"place-self":["auto",...ne()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:D()}],w:[{w:[p,"screen",...D()]}],"min-w":[{"min-w":[p,"screen","none",...D()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[u]},...D()]}],h:[{h:["screen","lh",...D()]}],"min-h":[{"min-h":["screen","lh","none",...D()]}],"max-h":[{"max-h":["screen","lh",...D()]}],"font-size":[{text:["base",r,So,Wr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,ge,Vh]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Kh,me]}],"font-family":[{font:[k6,me,a]}],"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:[l,ge,me]}],"line-clamp":[{"line-clamp":[Te,"none",ge,Vh]}],leading:[{leading:[d,...z()]}],"list-image":[{"list-image":["none",ge,me]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ge,me]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:_()}],"text-color":[{text:_()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...oe(),"wavy"]}],"text-decoration-thickness":[{decoration:[Te,"from-font","auto",ge,Wr]}],"text-decoration-color":[{decoration:_()}],"underline-offset":[{"underline-offset":[Te,"auto",ge,me]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ge,me]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ge,me]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ce()}],"bg-repeat":[{bg:he()}],"bg-size":[{bg:T()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},cr,ge,me],radial:["",ge,me],conic:[cr,ge,me]},T6,N6]}],"bg-color":[{bg:_()}],"gradient-from-pos":[{from:V()}],"gradient-via-pos":[{via:V()}],"gradient-to-pos":[{to:V()}],"gradient-from":[{from:_()}],"gradient-via":[{via:_()}],"gradient-to":[{to:_()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:Z()}],"border-w-x":[{"border-x":Z()}],"border-w-y":[{"border-y":Z()}],"border-w-s":[{"border-s":Z()}],"border-w-e":[{"border-e":Z()}],"border-w-t":[{"border-t":Z()}],"border-w-r":[{"border-r":Z()}],"border-w-b":[{"border-b":Z()}],"border-w-l":[{"border-l":Z()}],"divide-x":[{"divide-x":Z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...oe(),"hidden","none"]}],"divide-style":[{divide:[...oe(),"hidden","none"]}],"border-color":[{border:_()}],"border-color-x":[{"border-x":_()}],"border-color-y":[{"border-y":_()}],"border-color-s":[{"border-s":_()}],"border-color-e":[{"border-e":_()}],"border-color-t":[{"border-t":_()}],"border-color-r":[{"border-r":_()}],"border-color-b":[{"border-b":_()}],"border-color-l":[{"border-l":_()}],"divide-color":[{divide:_()}],"outline-style":[{outline:[...oe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Te,ge,me]}],"outline-w":[{outline:["",Te,So,Wr]}],"outline-color":[{outline:_()}],shadow:[{shadow:["","none",v,wc,vc]}],"shadow-color":[{shadow:_()}],"inset-shadow":[{"inset-shadow":["none",y,wc,vc]}],"inset-shadow-color":[{"inset-shadow":_()}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:_()}],"ring-offset-w":[{"ring-offset":[Te,Wr]}],"ring-offset-color":[{"ring-offset":_()}],"inset-ring-w":[{"inset-ring":Z()}],"inset-ring-color":[{"inset-ring":_()}],"text-shadow":[{"text-shadow":["none",S,wc,vc]}],"text-shadow-color":[{"text-shadow":_()}],opacity:[{opacity:[Te,ge,me]}],"mix-blend":[{"mix-blend":[...ue(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Te]}],"mask-image-linear-from-pos":[{"mask-linear-from":ae()}],"mask-image-linear-to-pos":[{"mask-linear-to":ae()}],"mask-image-linear-from-color":[{"mask-linear-from":_()}],"mask-image-linear-to-color":[{"mask-linear-to":_()}],"mask-image-t-from-pos":[{"mask-t-from":ae()}],"mask-image-t-to-pos":[{"mask-t-to":ae()}],"mask-image-t-from-color":[{"mask-t-from":_()}],"mask-image-t-to-color":[{"mask-t-to":_()}],"mask-image-r-from-pos":[{"mask-r-from":ae()}],"mask-image-r-to-pos":[{"mask-r-to":ae()}],"mask-image-r-from-color":[{"mask-r-from":_()}],"mask-image-r-to-color":[{"mask-r-to":_()}],"mask-image-b-from-pos":[{"mask-b-from":ae()}],"mask-image-b-to-pos":[{"mask-b-to":ae()}],"mask-image-b-from-color":[{"mask-b-from":_()}],"mask-image-b-to-color":[{"mask-b-to":_()}],"mask-image-l-from-pos":[{"mask-l-from":ae()}],"mask-image-l-to-pos":[{"mask-l-to":ae()}],"mask-image-l-from-color":[{"mask-l-from":_()}],"mask-image-l-to-color":[{"mask-l-to":_()}],"mask-image-x-from-pos":[{"mask-x-from":ae()}],"mask-image-x-to-pos":[{"mask-x-to":ae()}],"mask-image-x-from-color":[{"mask-x-from":_()}],"mask-image-x-to-color":[{"mask-x-to":_()}],"mask-image-y-from-pos":[{"mask-y-from":ae()}],"mask-image-y-to-pos":[{"mask-y-to":ae()}],"mask-image-y-from-color":[{"mask-y-from":_()}],"mask-image-y-to-color":[{"mask-y-to":_()}],"mask-image-radial":[{"mask-radial":[ge,me]}],"mask-image-radial-from-pos":[{"mask-radial-from":ae()}],"mask-image-radial-to-pos":[{"mask-radial-to":ae()}],"mask-image-radial-from-color":[{"mask-radial-from":_()}],"mask-image-radial-to-color":[{"mask-radial-to":_()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":Y()}],"mask-image-conic-pos":[{"mask-conic":[Te]}],"mask-image-conic-from-pos":[{"mask-conic-from":ae()}],"mask-image-conic-to-pos":[{"mask-conic-to":ae()}],"mask-image-conic-from-color":[{"mask-conic-from":_()}],"mask-image-conic-to-color":[{"mask-conic-to":_()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ce()}],"mask-repeat":[{mask:he()}],"mask-size":[{mask:T()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ge,me]}],filter:[{filter:["","none",ge,me]}],blur:[{blur:pe()}],brightness:[{brightness:[Te,ge,me]}],contrast:[{contrast:[Te,ge,me]}],"drop-shadow":[{"drop-shadow":["","none",E,wc,vc]}],"drop-shadow-color":[{"drop-shadow":_()}],grayscale:[{grayscale:["",Te,ge,me]}],"hue-rotate":[{"hue-rotate":[Te,ge,me]}],invert:[{invert:["",Te,ge,me]}],saturate:[{saturate:[Te,ge,me]}],sepia:[{sepia:["",Te,ge,me]}],"backdrop-filter":[{"backdrop-filter":["","none",ge,me]}],"backdrop-blur":[{"backdrop-blur":pe()}],"backdrop-brightness":[{"backdrop-brightness":[Te,ge,me]}],"backdrop-contrast":[{"backdrop-contrast":[Te,ge,me]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Te,ge,me]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Te,ge,me]}],"backdrop-invert":[{"backdrop-invert":["",Te,ge,me]}],"backdrop-opacity":[{"backdrop-opacity":[Te,ge,me]}],"backdrop-saturate":[{"backdrop-saturate":[Te,ge,me]}],"backdrop-sepia":[{"backdrop-sepia":["",Te,ge,me]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ge,me]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Te,"initial",ge,me]}],ease:[{ease:["linear","initial",C,ge,me]}],delay:[{delay:[Te,ge,me]}],animate:[{animate:["none",I,ge,me]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,ge,me]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Se()}],"rotate-x":[{"rotate-x":Se()}],"rotate-y":[{"rotate-y":Se()}],"rotate-z":[{"rotate-z":Se()}],scale:[{scale:ke()}],"scale-x":[{"scale-x":ke()}],"scale-y":[{"scale-y":ke()}],"scale-z":[{"scale-z":ke()}],"scale-3d":["scale-3d"],skew:[{skew:Ce()}],"skew-x":[{"skew-x":Ce()}],"skew-y":[{"skew-y":Ce()}],transform:[{transform:[ge,me,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ie()}],"translate-x":[{"translate-x":Ie()}],"translate-y":[{"translate-y":Ie()}],"translate-z":[{"translate-z":Ie()}],"translate-none":["translate-none"],accent:[{accent:_()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:_()}
49],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],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",ge,me]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"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"]}],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",ge,me]}],fill:[{fill:["none",..._()]}],"stroke-w":[{stroke:[Te,So,Wr,Vh]}],stroke:[{stroke:["none",..._()]}],"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-x","border-w-y","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-x","border-color-y","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"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},P6=h6(j6);function qt(...e){return P6(eS(e))}function I6({delayDuration:e=0,...a}){return o.jsx(Xk,{"data-loc":"client/src/components/ui/tooltip.tsx:11","data-slot":"tooltip-provider",delayDuration:e,...a})}function M6(e,a){if(e instanceof RegExp)return{keys:!1,pattern:e};var r,s,l,d,u=[],p="",m=e.split("/");for(m[0]||m.shift();l=m.shift();)r=l[0],r==="*"?(u.push(r),p+=l[1]==="?"?"(?:/(.*))?":"/(.*)"):r===":"?(s=l.indexOf("?",1),d=l.indexOf(".",1),u.push(l.substring(1,~s?s:~d?d:l.length)),p+=~s&&!~d?"(?:/([^/]+?))?":"/([^/]+?)",~d&&(p+=(~s?"?":"")+"\\"+l.substring(d))):p+="/"+l;return{keys:u,pattern:new RegExp("^"+p+(a?"(?=$|/)":"/?$"),"i")}}var Zh={exports:{}},Qh={};/** 50 * @license React 51 * use-sync-external-store-shim.production.js 52 * 53 * Copyright (c) Meta Platforms, Inc. and affiliates. 54 * 55 * This source code is licensed under the MIT license found in the 56 * LICENSE file in the root directory of this source tree. 57 */var K0;function L6(){if(K0)return Qh;K0=1;var e=Zc();function a(y,S){return y===S&&(y!==0||1/y===1/S)||y!==y&&S!==S}var r=typeof Object.is=="function"?Object.is:a,s=e.useState,l=e.useEffect,d=e.useLayoutEffect,u=e.useDebugValue;function p(y,S){var E=S(),N=s({inst:{value:E,getSnapshot:S}}),x=N[0].inst,k=N[1];return d(function(){x.value=E,x.getSnapshot=S,m(x)&&k({inst:x})},[y,E,S]),l(function(){return m(x)&&k({inst:x}),y(function(){m(x)&&k({inst:x})})},[y]),u(E),E}function m(y){var S=y.getSnapshot;y=y.value;try{var E=S();return!r(y,E)}catch{return!0}}function g(y,S){return S()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?g:p;return Qh.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,Qh}var V0;function _6(){return V0||(V0=1,Zh.exports=L6()),Zh.exports}var H6=_6();const z6=Qc.useInsertionEffect,D6=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",uS=D6?w.useLayoutEffect:w.useEffect,B6=z6||uS,Rf=e=>{const a=w.useRef([e,(...r)=>a[0](...r)]).current;return B6(()=>{a[0]=e}),a[1]},U6="popstate",jf="pushState",Pf="replaceState",q6="hashchange",Z0=[U6,jf,Pf,q6],G6=e=>
57{for(const a of Z0)addEventListener(a,e);return()=>{for(const a of Z0)removeEventListener(a,e)}},hS=(e,a)=>H6.useSyncExternalStore(G6,e,a),W6=()=>location.search,Y6=({ssrSearch:e=""}={})=>hS(W6,()=>e),Q0=()=>location.pathname,$6=({ssrPath:e}={})=>hS(Q0,e?()=>e:Q0),F6=(e,{replace:a=!1,state:r=null}={})=>history[a?Pf:jf](r,"",e),K6=(e={})=>[$6(e),F6],X0=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[X0]>"u"){for(const e of[jf,Pf]){const a=history[e];history[e]=function(){const r=a.apply(this,arguments),s=new Event(e);return s.arguments=arguments,dispatchEvent(s),r}}Object.defineProperty(window,X0,{value:!0})}const V6=(e,a)=>a.toLowerCase().indexOf(e.toLowerCase())?"~"+a:a.slice(e.length)||"/",pS=(e="")=>e==="/"?"":e,Z6=(e,a)=>e[0]==="~"?e.slice(1):pS(a)+e,Q6=(e="",a)=>V6(J0(pS(e)),J0(a)),J0=e=>{try{return decodeURI(e)}catch{return e}},fS={hook:K6,searchHook:Y6,parser:M6,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:e=>e},mS=w.createContext(fS),Ss=()=>w.useContext(mS),gS={},yS=w.createContext(gS),X6=()=>w.useContext(yS),Ko=e=>{const[a,r]=e.hook(e);return[Q6(e.base,a),Rf((s,l)=>r(Z6(s,e.base),l))]},Vo=()=>Ko(Ss()),bS=(e,a,r,s)=>{const{pattern:l,keys:d}=a instanceof RegExp?{keys:!1,pattern:a}:e(a||"*",s),u=l.exec(r)||[],[p,...m]=u;return p!==void 0?[!0,(()=>{const g=d!==!1?Object.fromEntries(d.map((y,S)=>[y,m[S]])):u.groups;let v={...m};return g&&Object.assign(v,g),v})(),...s?[p]:[]]:[!1,null]},J6=({children:e,...a})=>{const r=Ss(),s=a.hook?fS:r;let l=s;const[d,u]=a.ssrPath?.split("?")??[];u&&(a.ssrSearch=u,a.ssrPath=d),a.hrefs=a.hrefs??a.hook?.hrefs;let p=w.useRef({}),m=p.current,g=m;for(let v in s){const y=v==="base"?s[v]+(a[v]||""):a[v]||s[v];m===g&&y!==g[v]&&(p.current=g={...g}),g[v]=y,(y!==s[v]||y!==l[v])&&(l=g)}return w.createElement(mS.Provider,{value:l,children:e})},ev=({children:e,component:a},r)=>a?w.createElement(a,{params:r}):typeof e=="function"?e(r):e,eO=e=>{let a=w.useRef(gS);const r=a.current;return a.current=Object.keys(e).length!==Object.keys(r).length||Object.entries(e).some(([s,l])=>l!==r[s])?e:r},qe=({path:e,nest:a,match:r,...s})=>{const l=Ss(),[d]=Ko(l),[u,p,m]=r??bS(l.parser,e,d,a),g=eO({...X6(),...p});if(!u)return null;const v=m?w.createElement(J6,{base:m},ev(s,g)):ev(s,g);return w.createElement(yS.Provider,{value:g,children:v})},xe=w.forwardRef((e,a)=>{const r=Ss(),[s,l]=Ko(r),{to:d="",href:u=d,onClick:p,asChild:m,children:g,className:v,replace:y,state:S,...E}=e,N=Rf(k=>{k.ctrlKey||k.metaKey||k.altKey||k.shiftKey||k.button!==0||(p?.(k),k.defaultPrevented||(k.preventDefault(),l(u,e)))}),x=r.hrefs(u[0]==="~"?u.slice(1):r.base+u,r);return m&&w.isValidElement(g)?w.cloneElement(g,{onClick:N,href:x}):w.createElement("a",{...E,onClick:N,href:x,className:v?.call?v(s===u):v,children:g,ref:a})}),vS=e=>Array.isArray(e)?e.flatMap(a=>vS(a&&a.type===w.Fragment?a.props.children:a)):[e],tO=({children:e,location:a})=>{const r=Ss(),[s]=Ko(r);for(const l of vS(e)){let d=0;if(w.isValidElement(l)&&(d=bS(r.parser,l.props.path,a||s,l.props.nest))[0])return w.cloneElement(l,{match:d})}return null},Ao=e=>{const{to:a,href:r=a}=e,s=Ss(),[,l]=Ko(s),d=Rf(()=>l(a||r,e)),{ssrContext:u}=s;return uS(()=>{d()},[]),u&&(u.redirectTo=a),null};/** 58 * @license lucide-react v0.453.0 - ISC 59 * 60 * This source code is licensed under the ISC license. 61 * See the LICENSE file in the root directory of this source tree. 62 */const aO=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),wS=(...e)=>e.filter((a,r,s)=>!!a&&s.indexOf(a)===r).join(" ");/** 63 * @license lucide-react v0.453.0 - ISC 64 * 65 * This source code is licensed under the ISC license. 66 * See the LICENSE file in the root directory of this source tree. 67 */var iO={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** 68 * @license lucide-react v0.453.0 - ISC 69 * 70 * This source code is licensed under the ISC license. 71 * See the LICENSE file in the root directory of this source tree. 72 */const rO=w.forwardRef(({color:e="currentColor",size:a=24,strokeWidth:r=2,absoluteStrokeWidth:s,className:l="",children:d,iconNode:u,...p},m)=>w.createElement("svg",{ref:m,...iO,width:a,height:a,stroke:e,strokeWidth:s?Number(r)*24/Number(a):r,className:wS("lucide",l),...p},[...u.map(([g,v])=>w.createElement(g,v)),...Array.isArray(d)?d:[d]]));/** 73 * @license lucide-react v0.453.0 - ISC 74 * 75 * This source code is licensed under the ISC license. 76 * See the LICENSE file in the root directory of this source tree. 77 */const _e=(e,a)=>{const r=w.forwardRef(({className:s,...l},d)=>w.createElement(rO,{ref:d,iconNode:a,className:wS(`lucide-${aO(e)}`,s),...l}));return r.displayName=`${e}`,r};/** 78 * @license lucide-react v0.453.0 - ISC 79 * 80 * This source code is licensed under the ISC license. 81 * See the LICENSE file in the root directory of this source tree. 82 */const ms=_e("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** 83 * @license lucide-react v0.453.0 - ISC 84 * 85 * This source code is licensed under the ISC license. 86 * See the LICENSE file in the root directory of this source tree. 87 */const st=_e("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** 88 * @license lucide-react v0.453.0 - ISC 89 * 90 * This source code is licensed under the ISC license. 91 * See the LICENSE file in the root directory of this source tree. 92 */const nO=_e("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** 93 * @license lucide-react v0.453.0 - ISC 94 * 95 * This source code is licensed under the ISC license. 96 * See the LICENSE file in the root directory of this source tree. 97 */const sO=_e("Bookmark",[["path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z",key:"1fy3hk"}]]);/** 98 * @license lucide-react v0.453.0 - ISC 99 * 100 * This source code is licensed under the ISC license. 101 * See the LICENSE file in the root directory of this source tree. 102 */const oO=_e("BriefcaseBusiness",[["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2",key:"1ksdt3"}],["path",{d:"M22 13a18.15 18.15 0 0 1-20 0",key:"12hx5q"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]]);/** 103 * @license lucide-react v0.453.0 - ISC 104 * 105 * This source code is licensed under the ISC license. 106 * See the LICENSE file in the root directory of this source tree. 107 */const tv=_e("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/** 108 * @license lucide-react v0.453.0 - ISC 109 * 110 * This source code is licensed under the ISC license. 111 * See the LICENSE file in the root directory of this source tree. 112 */const lO=_e("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** 113 * @license lucide-react v0.453.0 - ISC 114 * 115 * This source code is licensed under the ISC license. 116 * See the LICENSE file in the root directory of this source tree. 117 */const Uc=_e("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** 118 * @license lucide-react v0.453.0 - ISC 119 * 120 * This source code is licensed under the ISC license. 121 * See the LICENSE file in the root directory of this source tree. 122 */const cO=_e("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** 123 * @license lucide-react v0.453.0 - ISC 124 * 125 * This source code is licensed under the ISC license. 126 * See the LICENSE file in the root directory of this source tree. 127 */const dO=_e("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** 128 * @license lucide-react v0.453.0 - ISC 129 * 130 * This source code is licensed under the ISC license. 131 * See the LICENSE file in the root directory of this source tree. 132 */const If=_e("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** 133 * @license lucide-react v0.453.0 - ISC 134 * 135 * This source code is licensed under the ISC license. 136 * See the LICENSE file in the root directory of this source tree. 137 */const uO=_e("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/** 138 * @license lucide-react v0.453.0 - ISC 139 * 140 * This source code is licensed under the ISC license. 141 * See the LICENSE file in the root directory of this source tree. 142 */const hO=_e("Contrast",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z",key:"j4l70d"}]]);/** 143 * @license lucide-react v0.453.0 - ISC 144 * 145 * This source code is licensed under the ISC license. 146 * See the LICENSE file in the root directory of this source tree. 147 */const pO=_e("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** 148 * @license lucide-react v0.453.0 - ISC 149 * 150 * This source code is licensed under the ISC license. 151 * See the LICENSE file in the root directory of this source tree. 152 */const Xh=_e("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** 153 * @license lucide-react v0.453.0 - ISC 154 * 155 * This source code is licensed under the ISC license. 156 * See the LICENSE file in the root directory of this source tree. 157 */const fO=_e("Facebook",[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]]);/** 158 * @license lucide-react v0.453.0 - ISC 159 * 160 * This source code is licensed under the ISC license. 161 * See the LICENSE file in the root directory of this source tree. 162 */const Hp=_e("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/** 163 * @license lucide-react v0.453.0 - ISC 164 * 165 * This source code is licensed under the ISC license. 166 * See the LICENSE file in the root directory of this source tree. 167 */const Mf=_e("Instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]);/** 168 * @license lucide-react v0.453.0 - ISC 169 * 170 * This source code is licensed under the ISC license. 171 * See the LICENSE file in the root directory of this source tree. 172 */const xS=_e("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** 173 * @license lucide-react v0.453.0 - ISC 174 * 175 * This source code is licensed under the ISC license. 176 * See the LICENSE file in the root directory of this source tree. 177 */const mO=_e("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/** 178 * @license lucide-react v0.453.0 - ISC 179 * 180 * This source code is licensed under the ISC license. 181 * See the LICENSE file in the root directory of this source tree. 182 */const gO=_e("MailCheck",[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]]);/** 183 * @license lucide-react v0.453.0 - ISC 184 * 185 * This source code is licensed under the ISC license. 186 * See the LICENSE file in the root directory of this source tree. 187 */const yO=_e("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** 188 * @license lucide-react v0.453.0 - ISC 189 * 190 * This source code is licensed under the ISC license. 191 * See the LICENSE file in the root directory of this source tree. 192 */const Lf=_e("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);/** 193 * @license lucide-react v0.453.0 - ISC 194 * 195 * This source code is licensed under the ISC license. 196 * See the LICENSE file in the root directory of this source tree. 197 */const bO=_e("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** 198 * @license lucide-react v0.453.0 - ISC 199 * 200 * This source code is licensed under the ISC license. 201 * See the LICENSE file in the root directory of this source tree. 202 */const vO=_e("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/** 203 * @license lucide-react v0.453.0 - ISC 204 * 205 * This source code is licensed under the ISC license. 206 * See the LICENSE file in the root directory of this source tree. 207 */const wO=_e("Music2",[["circle",{cx:"8",cy:"18",r:"4",key:"1fc0mg"}],["path",{d:"M12 18V2l7 4",key:"g04rme"}]]);/** 208 * @license lucide-react v0.453.0 - ISC 209 * 210 * This source code is licensed under the ISC license. 211 * See the LICENSE file in the root directory of this source tree. 212 */const av=_e("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);/** 213 * @license lucide-react v0.453.0 - ISC 214 * 215 * This source code is licensed under the ISC license. 216 * See the LICENSE file in the root directory of this source tree. 217 */const _o=_e("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** 218 * @license lucide-react v0.453.0 - ISC 219 * 220 * This source code is licensed under the ISC license. 221 * See the LICENSE file in the root directory of this source tree. 222 */const xO=_e("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** 223 * @license lucide-react v0.453.0 - ISC 224 * 225 * This source code is licensed under the ISC license. 226 * See the LICENSE file in the root directory of this source tree. 227 */const _f=_e("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** 228 * @license lucide-react v0.453.0 - ISC 229 * 230 * This source code is licensed under the ISC license. 231 * See the LICENSE file in the root directory of this source tree. 232 */const gs=_e("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** 233 * @license lucide-react v0.453.0 - ISC 234 * 235 * This source code is licensed under the ISC license. 236 * See the LICENSE file in the root directory of this source tree. 237 */const SO=_e("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
237y:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** 238 * @license lucide-react v0.453.0 - ISC 239 * 240 * This source code is licensed under the ISC license. 241 * See the LICENSE file in the root directory of this source tree. 242 */const AO=_e("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** 243 * @license lucide-react v0.453.0 - ISC 244 * 245 * This source code is licensed under the ISC license. 246 * See the LICENSE file in the root directory of this source tree. 247 */const SS=_e("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** 248 * @license lucide-react v0.453.0 - ISC 249 * 250 * This source code is licensed under the ISC license. 251 * See the LICENSE file in the root directory of this source tree. 252 */const Qr=_e("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** 253 * @license lucide-react v0.453.0 - ISC 254 * 255 * This source code is licensed under the ISC license. 256 * See the LICENSE file in the root directory of this source tree. 257 */const EO=_e("ZapOff",[["path",{d:"M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317",key:"193nxd"}],["path",{d:"M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773",key:"27a7lr"}],["path",{d:"M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643",key:"1e0qe9"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),NO=[{slug:"jayne",name:"Jayne",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/jayne_7fdd0ce0.jpg",bio:["Jayne is an artist who initially pursued painting after attending art school, has become a master at blending and formulating colors, and is an expert in color theory. As the top colorist in the industry, she is committed to helping clients achieve their desired hair color. With years of experience and a deep understanding of color theory, she has developed her skills to create stunning and unique looks customized to each client. Jayne takes a personalized approach to her work, taking the time to understand each clientâs hair type, skin tone, and personal style. Whether youâre seeking a subtle change or a bold transformation, she is dedicated to collaborating with you to create a look that youâll adore. She exclusively uses high-quality products and techniques to ensure your hair remains healthy and vibrant, even after multiple color treatments. From balayage to ombre to vivid fashion colors, she is constantly pushing the boundaries of whatâs possible with hair color, and stays up-to-date on the latest trends and techniques. Above all, she is passionate about helping our clients feel confident and beautiful. She believes that the right hair color can work wonders for your self-esteem, and she is committed to providing a relaxing and enjoyable experience that leaves you feeling beautiful."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/jayne/",instagram:"jayne.hair",journalSlug:"the-language-of-color"},{slug:"katie",name:"Katie",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/katie_bfa38d77.jpg",bio:["A Master colorist, stylist and make-up artist, and bridal/event specialist, Katie brings her 20+ years of experience to Beauty Industry. With New York City training and early beginnings at The Studio in Greenwich, CT, Katie has styled for Neiman Marcus and Premier Atelier, formerly Jose Ebier Salon and the last 13 years in Greenwich at Jaafar Tazi Salon. Her extensive color knowledge includes Redken, LâOréal, Goldwell and Schwartzkoff, while her styling knowledge comprises LâOréal, Renee Furterer and Prive NY. Katieâs work has also been featured in multiple newspapers and magazine articles. In her early years, she did hair and makeup for runway shows in NYC and Greenwich, CT. Currently an Ambassador for ORIBE. Katie has also completed Balayage, Foundation, and Artist certifications with LâOréal Professional."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/katie/",journalSlug:"art-of-blonde"},{slug:"trevy",name:"Trevy",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/trevy_9e3f01bf.jpg",bio:["Trevy is an expert colorist with extensive experience in luxury hair salons. With her Southern charm, warmth, and artistic flair, she captivates clients with her exceptional skills. For over eleven years, she has honed her craft at a prestigious Madison Avenue salon. Trevyâs acumen in color formulation using the best and the healthiest professional products and her dedication to personalizing hair color for her clients are unparalleled. While she is renowned for her expertise in blondes, she also appreciates the beauty of all hair colors and takes pleasure in creating stunning brunettes and redheads. Trevy firmly believes that a thorough consultation is the cornerstone of any successful service. As a great listener, she provides professional feedback during the consultation process. Her favorite technique is balayage highlights, as she considers herself a visionary artist and painter. Above all, Trevy prioritizes the integrity and health of her clientsâ hair. We are looking forward to seeing you soon!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/trevy/",instagram:"thecoloristrevy"},{slug:"marjeta",name:"Marjeta",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/marjeta_55c514f3.png",bio:["Renowned for her exceptional talent and unrivaled expertise, Marjeta is a distinguished hair stylist at High Smiles, boasting a notable career spanning over 15 years within esteemed salons in New York City. Her journey commenced in Italy, where she refined her skills and cultivated a discerning eye for delivering unparalleled service to her discerning clientele. Marjetaâs specialized proficiency encompasses an array of techniques, including the artful application of balayage to achieve a natural allure, as well as the mastery of creating captivating blondes. Moreover, her adeptness extends to the creation of effortlessly chic beach waves, evoking a sense of timeless elegance and allure. What truly distinguishes Marjeta is her innate ability to not only execute breathtaking hair transformations, but also to curate bespoke and opulent experiences for her clients. Through her
257consummate expertise, Marjeta has the exceptional capacity to accentuate the innate beauty of her clientele, leaving them radiating with confidence and allure. Her unwavering dedication to her craft and her unwavering commitment to delivering superlative service have positioned her as a coveted stylist within the fiercely competitive realm of hairdressing."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/marjeta/"},{slug:"adele",name:"Adele",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/adele_54fa06d2.jpg",bio:["For as long as Adele can remember, she has had an affinity for all things hair. Creative, versatile, and passionate about her craft, Adele has been able to establish herself as a successful hair stylist over the past 11 years. Adeleâs artistic reach has expanded well beyond the salon and into the bridal world. Adele works collaboratively with clients to find a look that will enhance their natural looks and elevate their confidence. She views her work as a true form of art and finds pure joy in helping others feel and look their best!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18",sourceUrl:"https://warrentricomi.com/artist/adele/",instagram:"hairbyadele.wt"},{slug:"alan-david",name:"Alan-David",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/alan-david_ee20735d.jpg",bio:["Alan-David is a highly skilled senior stylist specializing in precision cuts, elaborate blowouts, updos, bridal, treatments, and more. Whether you are looking for a gorgeous cut, a red carpet look, or an elaborate updo for your wedding day, Alan has the skill and experience to make your vision a reality. He has trained and developed his unique style with various notable celebrity hairstylists and further mastered his skills for precision cutting and styling alongside Edward Tricomi. He is dedicated to providing exceptional service to his clients, and his attention to detail and commitment to excellence are evident in every hairstyle he creates. Book an appointment with Alan today to experience his artistry firsthand."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/alan-david/",instagram:"hairbyalandavid"},{slug:"alathif",name:"Alathif",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/alathif_32c9ab09.jpg",bio:["With a passion for the perfect blend of color and a keen eye for creating flawless, complete looks, Ala-thif is a seasoned colorist, stylist, and makeup artist whose artistry has captivated clients worldwide. Beginning his career at MAC in Texas, he quickly developed a reputation for exceptional skill and dedication to enhancing natural beauty through expertly crafted color techniques. Known for his soft demeanor and artistic sensibility, Ala-thif draws inspiration from the art world to deliver personalized, stunning results that leave clients confident and radiant. His recent move to New York City marks an exciting new chapter as he joins the talented team at Warren Tricomi in Greenwich, CT, where he continues to elevate his craft and showcase his beautiful work. Whether youâre seeking a transformative color, a stylish cut, or flawless makeup for any occasion, Ala-thif combines technical expertise with a genuine passion for beauty to create looks as unique as his clients."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/alathif/",instagram:"alathif_hairstylist"},{slug:"amy",name:"Amy",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/amy_cf6f7455.jpg",bio:["Introducing Amy, our expert in haircuts and blowouts at Warren Tricomi luxury salon. With over 20 years of experience, Amy has honed her skills to perfection. She is known for her warm and easy-going personality, providing exceptional service to women, men, and students with all hair types and textures. Being a mother herself, Amy understands the significance of feeling confident and looking oneâs best, and she takes pride in helping her clients achieve their desired look. Amyâs extensive experience and expertise enable her to deliver precise haircuts, flawless blowouts, and customized treatments that cater to each clientâs specific needs and preferences. Moreover, Amy is well-versed in recommending the best professional products to maintain your salon look in the comfort of your own home. We canât wait to welcome you and provide you with a personalized experience that will leave you feeling refreshed and beautiful."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/amy/"},{slug:"angela",name:"Angela",role:"Eyebrow Artist",location:"New York",specialties:["Eyebrow Artist"],image:"/manus-storage/angela_044e12b8.png",bio:["My professional approach to brows is all about creating an inviting and warm experience. I believe that brows should always be a standout accessory for your face. There is no one-size-fits-all approach when it comes to doing brows. Instead, I take the time to analyze each personâs facial structure and eye contour to create the perfect shape. Well-groomed brows have the power to complement your face shape and enhance your features. For example, fuller brows can give your face a softer and younger appearance, while a thin arched shape can create a more mature look. In addition to shaping, I also recommend tinting for those with lighter or discolored brown brow hairs. This can add definition and fullness to your brows. One question that often comes up from clients is how I know how to shape their brows. My answer is simple: I take into account the effects of gravity on our face, as well as the movements of the face and forehead. Mapping the face with my eyes and reading its features helps me determine the best shape for each individual. Exceptional Clients PHOTOGRAPHERS/DIRECTORS Alik Malka, Akos, Arthur Belebeau, Augustus Butera, Angello Pennetta, Ari Michelson, Ben Ritter, Bjarne Jonassson, Christopher Melton, Cycy Sanders, Chris Colls, Carlton Davis, Clarence Klingebell, Craig McDean, Cyrus Marshall, David Stesner, Erin Fisher, Fadil Barisha, Gilles Bensimon, Gentl&Hyers, Greg Sorensen, Inez & Vinoodh, James Orlando, Joe Victorine, Jonathan Kambouris, Jason Kim, Lara Jade, Mario Testino, Mark Abraham, Michael Williams, Mike Ruiz, Michaela Rossato, Partick Demarchelier, Paola Kudacki, Raf Stahelin, Ricardo Tisci, Roxanne Lowitt, Ryan Dickie, Sarah Kenoe, Stylish Hip Weddings Photography, Svend Lindback, Torkil Gudnason, Victor Demarchelier, Walter Iooss, Yossiâ¦"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/angela/",instagram:"thequeenofbrows"},{slug:"angelique",name:"Angelique",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/angelique_63fa6ec4.png",bio:["Angelique is a highly creative and detail-oriented stylist with extensive training and experience in Paris and NYC. She caters to men and women, working with all hair textures and lengths. Angelique is dedicated to providing a superb blowout finish that keeps your hair shiny, strong, and youthful. She is highly knowledgeable about the best professional products and tools and stays on top of the latest trends in the industry. Angelique is a true professional committed to ensuring that you are happy with the results of your styling session. If youâre looking for a stylist who is passionate about their craft and dedicated to providing exceptional service, Angelique is the perfect choice."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/angelique/"},{slug:"artem",name:"Artem",role:"Colorist and Stylist",location:"New York",specialties:["Colorist and Stylist"],image:"/manus-storage/artem_275bbb9a.png",bio:["Artem is a highly skilled colorist and stylist who received his training in Europe. With a calm demeanor and friendly approach, he caters to both women and men to deliver the ultimate trends in color and haircuts. Artem is known for his beautiful blowouts that are long-lasting, smooth, and shiny. He always uses top-of-the-line professional products that are designed for long-lasting results and benefit your hair when used in the salon and at home. You can find Artem at the Warren Tr
257icomi luxury salon, where he looks forward to seeing you and helping you achieve your hair goals."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/artem/",instagram:"hairbyartem"},{slug:"beatriz",name:"Beatriz",role:"Colorist/Stylist",location:"Sag Harbor",specialties:["Colorist/Stylist"],image:"/manus-storage/beatriz_8fd038ed.jpg",bio:["Beatriz is a seasoned and highly proficient precision colorist and stylist, with a wealth of experience and training from renowned salons in New York City. With over two decades in the industry, Beatriz has dedicated the past 15 years to perfecting her skills at Warren Tricomi in Sag Harbor and NYC. Her expertise and professionalism make her an exceptional choice for all your hair care needs."],bookingUrl:"https://warrentricomi.com/zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",sourceUrl:"https://warrentricomi.com/artist/beatriz/"},{slug:"beth",name:"Beth",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/beth_a1e8bda6.png",bio:["Meet Beth, a highly experienced colorist with over two decades of experience at the luxury salon of Warren Tricomi. Beth is a specialist in her field and is known for her patience and friendly demeanor. She takes the time to understand her clientâs needs and provides expert advice on how to treat them best and improve the condition of their hair. Beth only recommends the best applications and uses superior professional products to achieve her clientsâ desired looks. She works closely with a stylist to ensure that the result is nothing short of superior. If youâre looking for a colorist who is not only an expert in her field but also cares about the health and condition of your hair, Beth is the perfect choice. She canât wait to see you soon and work magic on your locks."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/beth/"},{slug:"betty",name:"Betty",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/betty_50f6e2c1.png",bio:["Introducing Betty, an amazingly happy colorist who takes the time to understand her clientsâ needs and delivers beautiful, shiny, and healthy hair. With decades of experience at Warren Tricomi, Betty is trusted by many clients, including the salon owner and her friends. Betty is an expert in blondes, and her techniques and formulations have been perfected to be superior to most. She customizes every blend to ensure that her clientsâ hair looks and feels its best. Additionally, she applies the best treatments and recommends only the best products for her clients to use at home. What sets Betty apart is her infectious positivity and dedication to her craft. She truly cares about her clients and goes above and beyond to ensure that they are happy with their results. Her expertise and attention to detail make her a top choice for anyone looking for a colorist who can deliver stunning results. We are looking forward to booking a virtual consultation or one at the salon with Betty. With her as your colorist, you can trust that you are in the hands of a true professional who is passionate about creating beautiful and healthy hair."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/betty/"},{slug:"catalina",name:"Catalina",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/catalina_dedb02b1.png",bio:["Catalina is a highly skilled and experienced colorist who is known for her artistic approach to hair coloring. She takes her time and treats each clientâs hair as her canvas, carefully creating the perfect color to meet their desired look. Catalina is highly skilled in customizing color blends to ensure that the condition of her clientsâ hair is smooth and shiny. She is knowledgeable about the best professional products and tools, and is able to re
257commend the best stylist to finish your hair to ensure that each client is happy and satisfied with their results. If you are looking for a skilled and artistic colorist who can help you achieve your desired look, Catalina is an excellent choice for you."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/catalina/",instagram:"catalinacolorist"},{slug:"cecilia",name:"Cecilia",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/cecilia_c0684b32.png",bio:["Meet Cecilia, a highly skilled and talented stylist, and colorist passionate about creating beautiful and personalized looks for her clients. With years of experience and extensive training all over the globe, Cecilia is well-versed in working with all hair textures and styles, from classic to modern. Cecilia prides herself on using only the best professional products to ensure that her clientsâ hair looks and feels healthy and vibrant. She is dedicated to staying up-to-date with the latest trends and techniques in the industry and is always eager to learn and grow as a stylist. But what truly sets Cecilia apart is her warm and welcoming personality. She is a great listener and takes the time to understand her clientâs needs and desires, ensuring that they leave her chair feeling confident and beautiful. Whether youâre looking for a subtle change or a bold new look, Cecilia is your stylist."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/cecilia/",instagram:"ceciliagarciauchuya"},{slug:"chris",name:"Chris",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/chris_de0ddf0d.jpg",bio:[],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/chris/"},{slug:"claudio",name:"Claudio",role:"Stylist + Colorist",location:"New York",specialties:["Stylist + Colorist"],image:"/manus-storage/claudio_209242c7.png",bio:["Meet Claudio, a highly skilled and experienced hair stylist and colorist with a passion for providing luxury salon services at the Warren Tricomi salon. With extensive training and experience in working with all hair textures and styles, Claudio is a true expert in his craft. What sets Claudio apart is his refined and sophisticated demeanor. He exudes class and elegance, and takes the time to understand his clientsâ needs and desires, ensuring that they leave his chair feeling confident and beautiful. His use of only the best professional products further enhances the quality of his services, leaving clients with healthy and vibrant hair. Claudioâs good listening skills and attention to detail make him an excellent choice for clients who value a personalized and attentive experience. Whether youâre looking for a classic or modern look, Claudio is dedicated to creating a style that is uniquely tailored to you. We look forward to welcoming you to the Warren Tricomi salon and experiencing Claudioâs exceptional services firsthand."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/claudio/"},{slug:"connie",name:"Connie",role:"Nail Technician",location:"Sag Harbor",specialties:["Nail Technician"],image:"/manus-storage/connie_d85601b4.jpg",bio:[],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",sourceUrl:"https://warrentricomi.com/artist/connie/"},{slug:"cristina",name:"Cristina",role:"Makeup Artist",location:"Sag Harbor",specialties:["Makeup Artist"],image:"/manus-storage/cristina_9efb5955.png",bio:["Cristina, a highly sought-after makeup artist to the stars, is exclusively available at the luxurious Warren Tricomi salon in Sag Harbor. With her expertise and reputation, Cristinaâs services are in high demand for a night out, special events and weddings, for which she is booked exclusively through the salon. As a seasoned professional, Cristina is known for her personable nature and unwavering professionalism. She always stays ahead of the curve, continuously updating her skills and knowledge with the latest trends and products in the industry. When you choose Cristina, you can trust that you are in the hands of a true expert who will ensure you look and feel your best for any occasion. Cristina is now offering at home spray tan services."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/cristina/"},{slug:"david-oshell",name:"David Oshell",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/david-oshell_77d67760.jpg",bio:["David Oshell is a seasoned hairstylist at the renowned Warren Tr
257icomi luxury hair salon. A master stylist and sought-after educator, he shares his expertise across the United States and has made guest appearances in major cities like New York City and Los Angeles, contributing to prestigious photoshoots, Broadway shows, and New York Fashion Weeks. Specializing in classic looks, editorial styling, blonding, balayage, and dry cutting, David has honed his techniques through years of dedication. In addition to hairstyling, he is a talented singer-songwriter, blending his love for music with his passion for beauty. Follow David on social media @thedavidoshell to witness his journey and how he transforms his dreams into reality."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/david-oshell/",instagram:"thedavidoshell"},{slug:"demi",name:"Demi",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/demi_f6837af7.png",bio:["Meet Demi, a highly skilled and experienced colorist who takes pride in delivering the perfect color to her clients. With years of training at the luxury salon of Warren Tricomi, Demi has honed her craft and developed a reputation for being a perfectionist who takes her time to ensure her clients get the exact color they desire. Demi only uses the best professional color and products that will not only give you the color you want but also improve the condition of your hair. She is an expert in hair glazing and conditioning treatments, ensuring your hair looks and feels its best after every visit. If youâre looking for a colorist dedicated to delivering exceptional results and improving the health of your hair, look no further than Demi. She canât wait to see you in her chair and work magic on your locks."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/demi/"},{slug:"didi",name:"Didi",role:"Nail + Brow Artist",location:"New York",specialties:["Nail + Brow Artist"],image:"/manus-storage/didi_e70204c0.png",bio:["Didi is a seasoned beauty specialist with European training, excelling in eyebrow shaping, mani/pedi, and waxing. Her meticulous attention to detail and personalized service has set her apart in her field. Skilled in enhancing an individualâs natural features, Didi leverages her artistic precision and understanding of facial symmetry to deliver perfect eyebrows. Sheâs also a master in providing elegant and durable mani/pedi services, as well as efficient waxing treatments using high-quality, skin-friendly products. Above all, Didi is committed to providing a comforting atmosphere for her clients, promoting self-confidence and self-love. Whether youâre in need of a quick beauty touch-up or a comprehensive treatment, Didiâs expertise and professionalism make her an excellent choice for all your beauty needs."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/didi/"},{slug:"dion",name:"Dion",role:"Stylist",location:"New York",locationCount:2,specialties:["Stylist"],image:"/manus-storage/dion_15949b80.png",bio:["Dion is a highly experienced and skilled senior stylist at the luxury salon Warren Tricomi in NYC and Sag Harbor. With over two decades of experience, he can cater to all hair textures and lengths and is known for his expertise in cutting and coloring for both men and women. Dion has particular expertise in working with wavy and curly hair, which is excellent for clients with those hair types. With his extensive experience and commitment to using high-quality products and tools, Dion will surely provide exceptional service to his clients. If youâre looking for a stylist who can work with your unique hair texture and give you a long-lasting, polished look, Dion would be an excellent choice. He is also skilled in providing long-lasting, smooth, and shiny blowouts. Dion only uses the best professional products and tools, ensuring his clients receive the highest quality service. If youâre looking for a top-notch stylist, Dion would be a great choice!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/dion/"},{slug:"edward",name:"Edward",role:"Stylist",location:"New York",locationCount:2,founderLabel:"Co-Founder",specialties:["Stylist"],image:"/manus-storage/edward_843f5a15.png",bio:["With decades of experience in fashion and beauty, Edward Tricomi brings his depth of knowledge, skill, and artistry to create unparalleled style, the French âsexy is coolâ perspective to hairstyling where he performs his ingenious, high precision haircuts. Edward Tricomi is an artist, moving his brush with the individual as his canvas. His talent has garnered the trust and loyalty of a sophisticated clientele of followers ranging from socialites and celebrities to CEOâs and influencers. His vision is about making clients look and feel themselves, bringing his expert technique and passion to create individual, beautiful results. This artistry translates into the salons Tricomi has created, sanctuaries of beauty in unique surroundings, built upon great service, transformative haircutting & color with attention to detail. The staff, which is impeccably talented, is a mixture of nationalities and varied skills. Tricomi is a stickler for training new stylists who serve apprenticeships in the European manner before they put scissors to hair. He is frank about what hairstyles or color will suit a client and suggests which stylist is host for their needs. Edwardâs mission has always been to ensure that the best of his creative approach translates to an exclusive experience at Warren Tr
257icomi."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/edward/",instagram:"edwardtricomi"},{slug:"elias-asmar",name:"Elias Asmar",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/elias-asmar_073c0ddf.jpg",bio:["With over 20 years of experience in the hair industry, Asmar is a passionate hairstylist known for his precision, creativity, and dedication to client satisfaction. From classic cuts to modern styles, his work reflects a deep understanding of hair artistry and an unwavering commitment to excellence. Throughout his career, Asmar has worked in his own salon Jordan, trained with industry leaders, and continually honed his craft to stay ahead of trends. His expertise spans bridal hair, cutting, coloring, styling, and menâs grooming, making him a versatile and in-demand stylist for clients of all backgrounds. Whether transforming a clientâs look or maintaining a signature style, Asmar believes in personalized service and empowering clients through great hair. His loyal clientele and reputation for professionalism have made him a respected figure in the beauty community. Whether preparing someone for a special event or perfecting a signature everyday look, Asmarâs passion for styling and eye for detail continue to set him apart."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/elias-asmar/"},{slug:"elie",name:"Elie",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/elie_edd6685d.jpg",bio:["Elie is a Paris-born hairstylist renowned for his signature cut, blowouts, and exceptional skills in weft hair extensions. With his extensive experience and comprehensive knowledge of hairstyling, Elie can bring any hair vision to life, whether itâs a classic haircut, soft and sexy style, or bold and edgy look. As a weft (sewing) extensions specialist, he can also help you achieve longer and fuller hair, giving you the confidence to feel your best. Elie received his impressive training in Paris under the guidance of world-renowned stylists, which has contributed to his exceptional skills and knowledge in the art of hairstyling. His dedication to his craft and attention to detail ensure that each client leaves feeling confident and beautiful. Elieâs impressive ability to connect with clients and understand their unique vision has made him one of the most sought-after stylists in the industry. Book an appointment with Elie today and let him work his magic on your hair!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/elie/"},{slug:"eric",name:"Eric",role:"Stylist",location:"Sag Harbor",specialties:["Stylist"],image:"/manus-storage/eric_d5a355f1.png",bio:["Ericâs passion for hair styling began early in Canada, where he honed his skills and developed a keen eye for detail. Over a decade ago, he brought his talents to New York City and joined the prestigious Warren Tricomi luxury salon. Ericâs warm and personable demeanor, combined with his attentive approach, make him a sought-after stylist who can create both classic and trendy looks with ease. His signature haircut and blowouts leave hair looking shiny and healthy, and he always recommends the best professional products and tools to help you maintain your beautiful hair at home. We canât wait to welcome you to the salon and see the amazing results Eric can achieve for you!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/eric/"},{slug:"ericka",name:"Ericka",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/ericka_eb49d81e.jpg",bio:["At Warren Tr
257icomi luxury salon, Ericka is an incredibly skilled hair colorist who specializes in a range of techniques, including highlights, balayage, foliayage, tease lights, color correction, and Brazilian blowouts. With over a decade of experience, Ericka is dedicated to ensuring that her clients leave the salon absolutely loving their customized look. She stays up-to-date with the latest hair trends by regularly attending classes and workshops. Book an appointment with Ericka today and indulge in a truly exceptional salon experience."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18",sourceUrl:"https://warrentricomi.com/artist/ericka/"},{slug:"eva",name:"Eva",role:"Nail Artist",location:"New York",specialties:["Nail Artist"],image:"/manus-storage/eva_914365fb.png",bio:["Eva is a highly skilled nail technician with extensive training in Europe, specializing in top-quality medical pedicures. With over two decades of experience at the prestigious Warren Tricomi luxury salon, Eva has earned a reputation as a sought-after professional in her field. Clients from around the globe seek out Evaâs services for her exceptional technique and use of the finest professional tools and products, ensuring that their feet and nails receive the utmost care. We eagerly anticipate your visit and the opportunity to provide you with Evaâs exceptional services."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/eva/"},{slug:"feven",name:"Feven",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/feven_bd8fcd84.png",bio:["Feven is a senior colorist who has made a name for herself in the beauty industry. Her journey began in Beverly Hills, CA, where she was exposed to many unique and beautiful people, and this experience inspired her to pursue a career in hair color. Feven brought her passion for color to New York City and trained closely with top colorists to hone her skills. With a growing clientele, Fevenâs main focus is to help each of her clients achieve healthy, shiny, and vibrant hair with great color. Whether itâs a sun-kissed blonde, rich multi-toned brunette, or a bold and vibrant red, Feven works closely with her clients to create the perfect look that suits their style and personality. With her attention to detail, expertise in color, and commitment to her clients, Feven has become a sought-after colorist in the industry. She takes pride in her work and is passionate about helping her clients look and feel their best. When sheâs not working her magic in the salon, Feven enjoys exploring the city, trying new restaurants, and spending time with her family and friends."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/feven/",instagram:"byfeven"},{slug:"frank-sag-harbor",name:"Frank",role:"Stylist",location:"Sag Harbor",specialties:["Stylist"],image:"/manus-storage/frank-sag-harbor_eaec2aa6.png",bio:["Frank, a seasoned professional with extensive experience in the hair fashion industry, has recently become a valued member of the esteemed Warren Tricomi luxury salon in Sag Harbor. With a warm and friendly demeanor, Frank is renowned for his cutting-edge style and unwavering commitment to excellence. His work is nothing short of superb, reflecting his dedication to perfection. As a full-time resident of Sag Harbor, Frank warmly invites you to experience his exceptional talent, boundless creativity, and genuine passion for his craft. Embracing the simple yet powerful motto of âDo what you love,â Frank firmly believes that success is an inevitable outcome."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",sourceUrl:"https://warrentricomi.com/artist/frank-sag-harbor/"},{slug:"hiedi",name:"Hiedi",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/hiedi_589f9224.png",bio:["Meet Hiedi Hiedi is a New Yorkâbased stylist recognized for her ability to design hair with intentionâcreating structure, balance, and volume exactly where itâs needed. Her precision cutting focuses not only on how hair looks when you leave the salon, but on how it grows, moves, and holds its shape over time. Using the haircut as the foundation, she thoughtfully incorporates extensions, relaxers, or perms when appropriate, addressing concerns such as fine hair, lack of volume, excess bulk, or overall manageability with clarity and restraint. This same design-driven approach defines her work in menâs grooming and short styles, resulting in clean, refined silhouettes that feel effortless and modern. For bridal and special occasions, Hiedi creates timeless styles that balance elegance and longevity, remaining polished from the first moment to the last. Not about adding moreâ but about designing better. Hiedi is where thoughtful hair design begins."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/hiedi/",instagram:"aiaiai_hiedi"},{slug:"hiro",name:"Hiro",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/hiro-artist-smile-sweater-bw_4c7818d7.png",bio:["Hiroyuki Araki is a New Yorkâbased senior hair stylist with over 25 years of international experience, trained in Tokyo and working with a global clientele. He is known for precision cutting and refined Japanese techniques. His work spans editorial, runway, and high-profile events, including international fashion shows and major sporting events. Fluent in English and Japanese, Hiroyuki offers a personalized, detail-driven experience defined by craftsmanship, balance, and understated luxury."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/hiro/",instagram:"stylebyhiro"},{slug:"jackie-2",name:"Jackie",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/jackie-artist-subtle-smile-bw_ed7583ee.png",bio:["Jackie is an accomplished stylist trained by Warren Tr
257icomi, renowned for her refined technique and meticulous approach to luxury hairdressing. She specializes in precision cuts, bespoke color, and effortlessly elegant styling that enhances each clientâs natural beauty and confidence. A seasoned backstage stylist for fashion shows, Jackie continually advances her craft through ongoing education and trend leadership. Her commitment to excellence and attentive, personalized service ensures every appointment is a comfortable, elevated experience."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/jackie-2/",instagram:"hairstyleby_jazgul_jackie"},{slug:"janina",name:"Janina",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/janina-artist-polished-hair-bw_668f0302.png",bio:["Janina has undergone extensive training with Warren Tricomi under the strict supervision of Edward Tricomi before being promoted to the floor. Her warm and friendly demeanor, along with her kind approach, puts her clients at ease and makes them feel comfortable. Janina is a certified cosmetologist from the Carsten Institute, where she developed a strong foundation in French cutting techniques, including bobs and long layers. With a diverse skill set that encompasses scalp treatments, color corrections, balayage techniques, and creative coloring, Janina brings both precision and artistry to every client she serves. She specializes in updos for any occasion and offers versatile blow-drying techniques, from roller sets to bouncy beach waves. Renowned for her attention to detail, adaptability, and reliability, Janina is dedicated to meeting each clientâs unique needs, whether itâs shampooing, conditioning, cutting, trimming, or straightening. Her extensive knowledge of products and focus on scalp care make her a trusted advisor for achieving optimal hair health. Whether providing styling suggestions or conducting expert hair analyses, Janinaâs versatility and commitment to excellence truly set her apart in the beauty industry."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/janina/"},{slug:"jari",name:"Jari",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/jari_99d246a1.jpg",bio:["At Warren Tricomi luxury salon, Jari brings over 15 years of experience in the beauty industry. Her utmost passion lies in ensuring that every client who sits in her chair looks and feels their absolute best. Jari specializes in creating stunning and long-lasting blowouts, as well as expert styling, haircuts, and treatments that enhance shine and volume. With her expertise, she can recommend the best techniques and products to help you maintain your salon-worthy look. We are excited to welcome you and provide you with Jariâs exceptional services soon!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/jari/"},{slug:"jennifer",name:"Jennifer",role:"Brow Artist / Esthetician/ Makeup Artist",location:"Greenwich",specialties:["Brow Artist / Esthetician/ Makeup Artist"],image:"/manus-storage/jennifer_0f22637d.jpg",bio:["Jennifer is a highly skilled and sought-after licensed medical esthetician, makeup artist, and brow guru with 27 years of experience. She has received extensive training at prestigious institutions such as the Derma Institute in NYC and the Burt Roth School of Makeup, honing her craft to perfection. Specializing in brow design, lash and brow tinting, and personalized skincare, Jenniferâs expertise is unparalleled. Her keen eye for color correction and mastery of airbrushing techniques enable her to create flawless looks that go beyond what clients can recreate at home. Whether itâs for a night out or a special event, Jennifer can craft a stunning appearance that will leave you looking better than you ever imagined. As a certified ear piercer, she also ensures a gentle and comfortable experience for even the most nervous clients. Trust Jenniferâs talent and let her skilled hands enhance your natural beauty. From personalized skincare to transformative makeup services, she simplifies your daily routine while making you look and feel your best. When you sit in Jenniferâs chair, you can expect to leave with a radiant and confident look that will turn heads. Let her make you even more beautiful with her expert touch."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18",sourceUrl:"https://warrentricomi.com/artist/jennifer/"},{slug:"jessica",name:"Jessica",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/jessica_237eae23.jpg",bio:["Jessica is a master colorist known for her âlived in colorâ. She has been in the industry for over 18 years starting at WarrenTrcomi. Jessica has worked with many product lines such as Loreal, Redken and Wella. Jessicaâs work has been featured on many social media hair platforms. Jessica has furthered her education by completing many professional level programs such as Loreal Network Program and special sessions with celebrity stylists. Jessica believes the key to creating beautiful color is having in-depth consultations with guests to create the perfect personalized custom hair color."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/jessica/",instagram:"jess_t_hair"},{slug:"joey",name:"Joey",role:"Colorist",location:"New York",locationCount:2,specialties:["Colorist"],image:"/manus-storage/joey_fb1b3d86.png",bio:["Joey is a highly skilled and experienced colorist and stylist with extensive training from Brazil and Europe, including at the prestigious Vidal Sassoon London. With over a decade of experience at the luxury Warren Tr
257icomi salon in NYC and their Sag Harbor location, Joey is particularly skilled in the Balayage hair technique, which delivers superb shades of blond. He has been recognized for his beautiful work with two Emmy award nominations. Clients from all over the world come to see him, and he warmly welcomes them, carefully listening to their wishes during consultations. Joey uses and recommends only the best professional products and tools to ensure long-lasting results, and he is equally talented in haircuts of all textures, lengths, and shapes, as well as long-lasting blowouts, updos, and glamorous hairstyles for special occasions and brides."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/joey/",instagram:"joeyhair_nyc"},{slug:"jolanta",name:"Jolanta",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/jolanta_6aaa60ea.png",bio:["Jolanta is a highly experienced and skilled colorist who has been working at the Warren Tricomi luxury salon for over 20 years. She began her career in Europe and has continued to train and refine her skills at our salon. Jolanta is known for her warm and patient approach to conducting color consultations, and her signature blend of colors creates a natural and elegant look. She is highly experienced in delivering the desired color and is an expert in ensuring the hair is left in beautiful and shiny condition. Jolanta only uses and recommends the best professional products and tools, and her recommendations will help you maintain your color and hair condition for long-lasting results. If you are looking for a skilled and experienced colorist who can help you achieve your desired look, Jolanta is an excellent choice."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/jolanta/"},{slug:"joni",name:"Joni",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/joni_07673d8c.jpg",bio:["Joni is a highly skilled and experienced hairstylist who has been working in the industry for over 20 years. She began her career at the prestigious Warren Tricomi luxury salon and has since built a reputation for her exceptional talent. Joni is proficient in both menâs and womenâs haircuts, and specializes in creating beautiful blowouts that leave hair looking smooth and glossy for an extended period of time. With a keen eye for fashion, she also offers consultations with Warren Tricomi colorists to help clients achieve their desired look. Additionally, Joni is an expert in tape-in hair extensions and Keratine treatments, utilizing top-quality conditioning treatments, professional products, and tools to ensure that clients can easily maintain their salon look at home. If you are in search of a hairstylist with outstanding skills and expertise, Joni would be an excellent choice."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/joni/"},{slug:"julia",name:"Julia",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/julia_b2c2c259.png",bio:["Julia is an absolute master of her trade. There is no texture, length, or style that she cannot accomplish with finesse. With a remarkable two-decade tenure at the luxurious Warren Tricomi salon, Juliaâs expertise is unparalleled. Her finished haircuts are not only stunning but also have remarkable longevity. We eagerly await your visit and the opportunity to provide you!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/julia/"},{slug:"julie",name:"Julie",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/julie_dc09d87a.png",bio:["Julie, a highly skilled hair stylist, has worked at the luxurious Warren Tricomi Salon for over ten years. Her haircuts are always on-trend and executed with excellence. When it comes to blowouts, Julieâs expertise leaves your hair feeling silky, shiny, and with long-lasting results. She is knowledgeable and experienced in working with all hair textures and lengths. We canât wait to have you visit us soon!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/julie/"},{slug:"kazue",name:"Kazue",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/kazue-artist-polished-hair-bw_ddd5f041.png",bio:["Introducing Kazue, a precision haircut stylist trained in Japan who began her career at the prestigious Warren Tr
257icomi luxury salon decades ago. With extensive experience in fashion shows and a passion for creating beautiful and personalized looks, Kazue is a true expert in her craft. Kazue caters to clients of all hair types and textures, and her precision haircuts are second to none. She takes the time to understand her clientsâ needs and desires, ensuring that each cut is perfectly tailored to their unique features and style. Her blow dryers are also perfectly tailored to each client, leaving hair looking and feeling its best. In addition to her styling expertise, Kazue is also knowledgeable about the best treatments and how to care for your hair at home. Her advice is priceless, and she is dedicated to helping her clients maintain healthy, shiny, and beautiful hair. With Kazue as your stylist, you can trust that you are in the hands of a true professional who is passionate about creating stunning looks that are uniquely tailored to you."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/kazue/",instagram:"hairbykazue"},{slug:"kazuki",name:"Kazuki",role:"Manicurist",location:"Greenwich",specialties:["Manicurist"],image:"/manus-storage/kazuki_fa64b710.jpg",bio:[],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/kazuki/"},{slug:"kena",name:"Kena",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/kena_762cc9bd.png",bio:["Kena is a talented stylist and colorist with an impressive career that began in 1997. With over two decades of experience in the beauty industry, Kena has honed her skills and developed a keen eye for detail, making her a sought-after professional in her field. Her passion for hair artistry and commitment to staying current with the latest trends and techniques allow her to create stunning looks that enhance her clientsâ natural beauty. Kenaâs warm personality and dedication to exceptional service ensure that every client leaves feeling confident and satisfied. Whether itâs a fresh cut, vibrant color, or a complete transformation, Kena is dedicated to bringing each clientâs vision to life."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/kena/"},{slug:"kenneth",name:"Kenneth",role:"Stylist",location:"New York",locationCount:2,specialties:["Stylist"],image:"/manus-storage/kenneth_08a22f64.jpg",bio:["Kenneth Edgerton Jr. is a luxury hair stylist known for precision cuts, couture color (balayage, color-melting), bespoke blowouts, refined updos, and period styling. With 20+ years of training from Dudley Cosmetology University, Vidal Sassoon Academy, and Aveda, plus Master Educator and extensions/advanced period-styling certifications, he brings technical mastery in hair replacement. He works with all texturesâstraight, wavy, curly, and coily. His credits include Fox 5, Americaâs Next Top Model, and Netflix. Calm, attentive, and meticulous, Kenneth offers personalized consultations and takes the time to create elegant, long-lasting results."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/kenneth/",instagram:"kenneth.edgerton_hair"},{slug:"laara-raynier",name:"Laara",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/laara-raynier_26f592ba.jpg",bio:["British-born Laara Raynier is one of a kind! She is the master haircutter you want to book. Laara Raynier is world famous for her precision bobs, short haircuts, layered haircuts, and menâs haircuts and grooming. Raynier is a gifted artist, who can look at a clientâs face shape and personality and create a haircut designed especially for them and their lifestyle. Her dynamic positive energy, coupled with her incredible eye and unique experience and expertise, makes her THE authority on precision haircutting. With Raynier as your elite master haircutter/stylist, youâll walk out of our Warren Tr
257icomi salon even more fabulous! By popular demand she is now taking clients at our NYC and Greenwich, CT salons. In addition to Raynierâs incredible 40 yearsâ experience working in top exclusive salons such as Barneyâs and Warren Tricomi, she founded MASTERCUTTER ACADEMY in 2010, which is ranked #1 worldwide for Private Haircutting Classes. Stylists from across the globe come to NYC to learn her famous techniques. Raynierâs portfolio includes Vogue, Elle, Allure, Marie Claire, Modern Salon, Behind the Chair, Aesthetica, and her work at N.Y. Fashion Week."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/laara-raynier/"},{slug:"lira-gw",name:"Lira",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/lira-gw_934cea05.jpg",bio:["With a background in European salons and exclusive training in high-end establishments, Lira has established herself as an expert colorist with a career that spans decades, including prominent roles in top NYC salons. Renowned for her innovative approach to style, she has earned the title of âhair painterâ for her specialization in working with diverse hair textures and her collaborative approach to achieving clientsâ desired looks. Liraâs expertise lies in her ability to blend shades that complement every hair tone, skillfully shaping hair to add body and movement. Her passion for blending traditional and contemporary techniques consistently produces exceptional results that make a lasting impression. From her creative flair to her meticulous attention to detail, Liraâs visionary approach sets her apart in the industry."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18",sourceUrl:"https://warrentricomi.com/artist/lira-gw/"},{slug:"lorgie",name:"Lorgie",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/lorgie_6f938985.jpg",bio:["Lorgie is a highly creative professional, trained by Warren Tricomi for over 7 years, with extensive experience as a senior colorist and stylist specializing in stunning blondes! Lorgieâs blow dryers and hair styles are sophisticated and represent every womanâs dream, offering volume and fashion-forward style. Lorgie is dedicated to fulfilling all her clientsâ desires while prioritizing the health of their hair."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/lorgie/"},{slug:"luba",name:"Luba",role:"Eyebrow and Makeup Artist",location:"New York",specialties:["Eyebrow and Makeup Artist"],image:"/manus-storage/luba_44a4915b.png",bio:["Luba is a highly skilled makeup artist who has built a successful career lasting more than thirty years. She embarked on her beauty industry journey in Bulgaria, her home country, and swiftly gained recognition for her distinctive and customized techniques in eyebrow shaping and makeup artistry. Lubaâs exceptional talent made her highly sought after, and her work was prominently featured in various fashion magazines, solidifying her reputation as one of the industryâs most gifted artists. In 2005, Luba moved to New York and began working at the Laura Geller makeup studio on the Upper East Side. Her skills and exceptional talent quickly gained her a solid clientele, and her work continued to be featured in many magazines, making her a sought-after name in the beauty world. In 2014, Luba ventured out on her own and began her solo career as a makeup artist. Her philosophy is rooted in the belief that everyone can look their best with the right makeup, and she has a talent for creating a look that enhances her clientâs natural beauty. Whether sheâs working on a fashion shoot, a wedding, or a red carpet event, Lubaâs unique touch and attention to detail always deliver a flawless result. Lubaâs impressive career and reputation in the industry are a testament to her exceptional talent and dedication to her craft. Her passion for helping others look and feel their best is evident in every project she takes on, making her a true professional and an inspiration to fellow artists."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/luba/"},{slug:"maddy-sag-harbor",name:"Maddy",role:"Makeup Artist",location:"Sag Harbor",specialties:["Makeup Artist"],image:"/manus-storage/maddy-sag-harbor_b1e1d5e1.jpg",bio:["Maddy is a highly skilled makeup artist with a passion for creating stunning looks. With expertise in both special effects makeup and wedding makeup, Maddy has the ability to transform her clients into breathtaking works of art. Whether youâre looking for a glamorous bridal look or a hauntingly realistic special effects design, Maddyâs creativity and attention to detail will ensure a flawless result. With years of experience and a deep understanding of different skin types and tones, Maddy can tailor her makeup techniques to enhance your natural beauty and bring your vision to life. Trust Maddy to make you look and feel your best on your special day."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",sourceUrl:"https://warrentricomi.com/artist/maddy-sag-harbor/"},{slug:"maral",name:"Maral",role:"Makeup + Brow Artist",location:"New York",specialties:["Makeup + Brow Artist"],image:"/manus-storage/maral_6858226f.png",bio:["Maral has been lovingly dubbed âThe Brow Magicianâ for her uncanny ability to transform eyebrows into stunning works of art. No matter the initial state of your brows, Maralâs expert touch will reveal their most alluring potential. But her talents donât end thereâ in addition to her eyebrow wizardry, Maral is an accomplished makeup artist. Through a series of adventures and hard work, Maral has established herself as a unique and successful artist, lending her talents to numerous famous faces over the years. Her clients often remark on how they not only feel more beautiful after their appointments but are also uplifted and inspired by Maralâs infectious energy. She is a one-of-a-kind artist whose mastery spans multiple disciplines, and her passion for her crafts is evident in the transformative experiences she provides. Donât miss the opportunity to experience Maralâs magic firsthand â book your appointment today!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/maral/"},{slug:"mariluz",name:"MariLuz",role:"Nail Technician",location:"New York",specialties:["Nail Technician"],image:"/manus-storage/mariluz_d1a5de1f.jpg",bio:["Introducing MariLuz , a highly skilled and experienced nail technician
257with over two decades of expertise in the high-end salon industry. With a passion for perfection and an eye for detail, MariLuz has mastered the art of creating flawless and long-lasting nail designs. From elegant manicures to luxurious pedicures, MariLuz extensive knowledge and dedication to her craft ensure that every client receives a top-notch experience. With a reputation for delivering exceptional results, MariLuz clients can trust her to provide the utmost care and professionalism in every appointment."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/mariluz/"},{slug:"michelle",name:"Michelle",role:"Stylist",location:"Sag Harbor",specialties:["Stylist"],image:"/manus-storage/michelle-artist-polished-hair-bw_fc4a29ab.png",bio:["Michelle, a seasoned stylist and colorist at our Warren Tricomi luxury salon in Sag Harbor, is known for her warm and friendly demeanor. With years of experience in the beauty industry and additional training at WT, Michelle is skilled in catering to all ages and hair textures. Michelle specializes in our organic straightening treatment that was featured in Hamptons magazine. We are looking forward to seeing you soon!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/michelle/"},{slug:"michelle-anahi-nyc",name:"Michelle Anahi",role:"Stylist",location:"New York",locationCount:2,specialties:["Stylist"],image:"/manus-storage/michelle-anahi-nyc_3b973c9a.jpg",bio:[],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/michelle-anahi-nyc/"},{slug:"michelle-anahi",name:"Michelle Anahi",role:"Stylist",location:"Sag Harbor",locationCount:2,specialties:["Stylist"],image:"/manus-storage/michelle-anahi_b9d5cbab.jpg",bio:[],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/michelle-anahi/"},{slug:"monika",name:"Monika",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/monika-artist-editorial-bw_4b411088.png",bio:["Monika is a talented and dedicated stylist at Warren Tricomi. Her passion for working with hair has always been a significant motivator in her life, and she is delighted to have transformed that passion into a rewarding career that brings happiness to others. She particularly enjoys crafting effortless beach waves and creative hairstyles. What truly inspires her is the chance to help her clients express their unique individuality through their hair."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/monika/"},{slug:"nafisah",name:"Nafisah",role:"Stylist Extension Expert",location:"New York",specialties:["Stylist Extension Expert"],image:"/manus-storage/nafisah_29c525a3.jpg",bio:["Nafisah is an internationally celebrated celebrity hairstylist and extension specialist, boasting over 20 years of experience in the industry. She is widely recognized for her expertise in a variety of hair extension techniques, including keratin bond extensions, tape-ins, beaded row extensions, traditional sew-ins, I-tips, and wigs. Nafisah has firmly established herself as a leader in the luxury hair extension market. Her extensive training and passion for hairstyling is unwavering, and her work has been featured in esteemed publications such as Vogue, Elle, Harperâs Bazaar, Marie Claire, Dazed, and Essence. Nafisahâs impressive clientele includes notable figures like Michelle Williams, Debbie Allen, Abby Phillip, Misty Copeland, and many others. Her remarkable talent for creating flawless extensions, paired with her profound understanding of all hair textures, distinguishes her as a true artist in the hairstyling realm."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/nafisah/"},{slug:"naru",name:"Naru",role:"Stylist",location:"New York",locationCount:2,specialties:["Stylist"],image:"/manus-storage/naru_0cd2f9ad.png",bio:["Naru is a highly experienced stylist and straightening treatments specialist with over two decades of loyal service at the Warren Tr
257icomi luxury salon. She caters to women, men, and students and has received extensive training in Japan and the US. Naruâs nurturing qualities and love for beauty are evident in her work, and she always stays up-to-date on the latest trends in the industry. When you visit Naru, you can expect to be greeted with kindness and warmth, and she will be more than happy to share her knowledge of the best products and tools available to ensure the youthfulness of your hair. If youâre looking for a skilled and caring stylist, Naru is the perfect choice."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/naru/"},{slug:"nate",name:"Nate",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/nate_1b4876a1.png",bio:["Nate is an incredibly talented senior stylist with over two decades of experience in the industry. She began her career at the luxury Warren Tricomi salon in NYC, specifically at the iconic location in the Plaza Hotel. During consultations, Nate takes the time to understand her clientsâ needs and offers the best solutions for their hair type. She is highly trained in hair extensions, straightening treatments, and professional deep conditioning treatments that leave hair looking beautiful and silky. Nate is skilled in providing long-lasting, fashion-forward as well as classic haircuts and blowouts for all hair textures and lengths, including curly and wavy hair. She has even developed her own potion, which is available at Warren Tricomi locations. Nate also works closely with the salonâs highly trained colorists to ensure that clients leave the salon happy with their overall look. If youâre looking for a stylist who is experienced, knowledgeable, and dedicated to providing the best possible service, Nate would be an excellent choice."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/nate/",instagram:"natehaircare"},{slug:"nina",name:"Nina",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/nina_1eb820f1.png",bio:["Born and raised in New York City, senior hair stylist Nina began her professional career over 15 years ago. After completing school, Nina began training under master stylist Sachi and salon owner Carmine Minardi at The Minardiâs Salon. Nina continued her training with master hair stylist Sei at Warren Tricomi, where she perfected the art of precision short and long haircuts, and the perfect blow dry and styling. Nina went on to train under salon owner Edward Tricomi, who inspired her with his unique technique, creativity, and innovation. With all of this diverse training and mentorship, Nina has now become one of the most sought-after hair stylists in Manhattan. Specializing in all types of hair, Nina has mastered the art of dry cutting from short to long, and fine to thick hair. Always staying in front of the latest trends, Nina is an expert at menâs haircuts and bridal hair. Having curly hair herself, Nina has a special affinity for curly hair. Nina understands the importance of a great blow dry, and believes that a flawless blow dry is essential to the perfect haircut. Most importantly, Nina has an exceptional ability to serve the distinctive, individual style of each of her clients, making her one of the most in-demand hair stylists in New York. Come and explore a fabulous cut and blow dry by Nina, and enjoy a wonderful upscale experience at Warren Tricomi on the Upper East Side!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/nina/",instagram:"nina_warrentricomi"},{slug:"noel",name:"Noel",role:"Manicurist",location:"Greenwich",specialties:["Manicurist"],image:"/manus-storage/noel_e44a75f7.png",bio:["Noel is a dedicated and highly skilled licensed beauty professional with over forty years of experience specializing in nails and esthetics. Her expertise includes manicures, pedicures, skin, body care including underarm wax, full arm and leg wax and lip wax. Noel is passionate about delivering treatments that address not only the body but also the mind and spirit of her clients As an accomplished nail technician, Noel is known for her meticulous attention to detail, unwavering commitment to client satisfaction, and maintaining the highest standards of cleanliness and organization. With a knack for blending classic and contemporary styles, she prides herself on understanding her clientsâ preferences and offering personalized suggestions when appropriate."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/noel/"},{slug:"nozomi",name:"Nozomi",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/nozomi_157af0eb.png",bio:["Nozomi is a highly skilled and experienced stylist at Warren Tr
257icomi luxury salon. With over a decade of experience, she has honed her craft in Japan and New York City. Nozomi is well-rounded in many categories of services, including haircuts for all textures, extensions, updos , bridal hair and professional hair straightening treatments. She is highly valued for her expertise in these areas and is able to blend techniques and treatments to keep your hair healthy, young, and shiny. Nozomi is also knowledgeable about the best professional products and tools to achieve your desired look both in the salon and at home. If youâre looking for a stylist who can provide a wide range of services and keep your hair looking its best, Nozomi would be a great choice. Thank you for considering Warren Tricomi luxury salon and Nozomi for your hair care needs."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/nozomi/"},{slug:"nyree",name:"Nyree",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/nyree_83417777.jpg",bio:["Nyree is not only warm and friendly, but also a delight to work with when it comes to your hair. With over two decades of experience in the luxury salon industry, her haircuts and blowouts are always in line with the latest trends and absolutely stunning. Nyree specializes in working with wavy and curly hair textures, excelling in both straightening and hair extensions for various lengths and textures. Her blowouts are known for their long-lasting effects, leaving your hair shiny and beautifully styled. We invite you to visit us soon and experience Nyreeâs exceptional skills firsthand! We are looking forward to servicing you!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/nyree/"},{slug:"oscar",name:"Oscar",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/oscar_62cd4f90.png",bio:["Oscar is a highly experienced and skilled stylist who has been working at the Warren Tricomi luxury salon for over 20 years. He is known for his patience and warmth, and is able to work with all types of hair textures to create beautiful, silky blowouts. Additionally, he is able to collaborate effectively with colorists to achieve the desired look for his clients. If you are looking for a stylist who is experienced and versatile, Oscar is a great choice for you."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/oscar/"},{slug:"oz",name:"Oz",role:"stylist",location:"New York",specialties:["stylist"],image:"/manus-storage/oz-artist-rested-eyes-bw_18ad36ff.png",bio:["With over three and a half decades of dedicated service to the art of hairstyling, Oz is a true master of the craft. He embarked on his journey in the world of hair on the sun-kissed Mediterranean shores, where he honed his skills and developed a deep appreciation for the artistry in Istanbul at the age of thirteen. Today, Oz continues to weave his magic in the heart of the Upper East Side of New York City, drawing inspiration from his soulful experiences."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/oz/"},{slug:"rae",name:"Rae",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/rae_0f84313a.jpg",bio:["We are proud to introduce Rachael (Rae) Lyon, one of our Expert Senior Hairstylists, who trained under the renowned Edward Tricomi and became a Master Stylist at the impressive age of 21. Rae specializes in hair cutting and styling for men, women, and children, and offers a range of services including Keratin treatments, hair care treatments, bridal styling, and elegant updos. She is also certified in tape-in extensions and extension cutting, ensuring that she can meet all your hair needs. Throughout her career, Rae has had the privilege of working at several of our Warren Tr
257icomi locations, including East Hampton, NY, Greenwich, CT, and The Plaza Hotel in NYC. She also enjoyed a remarkable experience at our Caribbean location in the Grenadine Islands (Canouan Island). Raeâs unique career has allowed her to style numerous celebrities and high-profile clients, including Molly Sims, Ina Garten, Katie Couric, Donna Karan, Gabby Karan, Joan Lunden, and Wynona Judd. In addition to her training with the legendary Edward Tricomi, Rae has dedicated years to furthering her education and honing her craft through classes with industry leaders such as Orlando Pita, Vivian McKinder, Ted Gibson, Tim Hartley, and LâOréal. She was also honored to be selected as an Ambassador for the Kerastase product line. Despite her many accomplishments, Rae remains approachable and friendly, always eager to share her knowledge with clients. She takes pride in teaching clients how to care for their hair at home, making the process enjoyable and straightforward. Rae consistently gives 120% to each and every client, ensuring a personalized and exceptional experience. We invite you to book an appointment with Rae and experience her expertise and warm personality firsthand."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/rae/"},{slug:"renata-nyc",name:"Renata",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/renata-nyc_a276519f.jpg",bio:["Renata is an expert stylist with decades of experience, having been a hairstylist for 17 years. She has received education from Vidal Sassoon in haircutting and LâOreal and Wella coloring, and specializes in hair chromatics, including Balayage, Ombre, Sombre, and Highlights. Renataâs clients describe her as patient, creative, and incredibly talented. For examples of her work, you can follow @renatahairues on Instagram"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/renata-nyc/",instagram:"renatahairues"},{slug:"ric-nyc",name:"Ric",role:"Stylist",location:"New York",locationCount:2,specialties:["Stylist"],image:"/manus-storage/ric-nyc_499aaa88.jpg",bio:["Ric Pipino is the founder of PIPINO, Inc., and a world renowned hair stylist. He is known for his acclaimed work in fashion, with the Hollywood elite, and his loyal clientele of women, men and children around the globe. His decades-long career began in his native Sydney as one of five Australian Italian boys from a Calabrian family, three of whom became hairstylists. Ric grew up training at his brotherâs Sydney salon, later becoming a top stylist among the London fashion elite and working with Harperâs & Queen and British Vogue before he turned 20. After establishing himself in New York City at his brotherâs legendary salon, Pipino Buccheri, Ricâs reputation grew as a favorite âitâ stylist among the most beautiful people in the world, including Lady Gaga, Heidi Klum, Donna Karan, Chelsea Leyland, Bridget Moynahan, Christie Brinkley and Sailor Brinkley Cook, Joan Allen, Zoe Kravitz, Christina Aguilera, Jane Krakowski, Petra Nemcova, Christy Turlington and many, many more. Ricâs work has been seen on countless covers and spreads for Vogue, Marie Claire, Elle, Cosmopolitan, GQ, Glamour and many others for 40+ years. He opened and directed two eponymous Manhattan salons, uptown and downtown, also establishing salons at Shore Club in Miami and NYCâs Bryant Park Hotel. Ric continues to host pop up events around the world via the popular PIPINO POP IN series, working with long time hospitality partners such as THOMPSON, Edition, JW Marriott in Monterrey and St Regis Mexico City, Gurneyâs Montauk and The Delano, and brand partners such as Saks Fifth Avenue, FACE Stockholm and Onda Beauty."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/ric-nyc/"},{slug:"rita",name:"Rita",role:"Makeup Artist",location:"Sag Harbor",specialties:["Makeup Artist"],image:"/manus-storage/rita_9372badb.jpg",bio:["Rita, an exceptional makeup artist, has been a part of the fashion show and print industry for many years. Her talent and expertise have graced numerous high-profile events and photo shoots. As a warm and passionate artist, Rita is dedicated to delivering flawless makeup looks for bridal and special events, as well as creating stunning evening makeup for a night out. Whether you choose to visit the Warren Tr
257icomi salon or prefer the convenience of having Rita come to your home through WT, you can trust that her skills will result in impeccable pictures and an unforgettable beauty experience."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",sourceUrl:"https://warrentricomi.com/artist/rita/",instagram:"ritasmakeupartistry"},{slug:"roque",name:"Roque",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/roque-refined-low-glow_722f1874.png",bio:["Roque was not always a celebrity hair stylist to iconic stars like Mariah Carey, Catherine Zeta-Jones, Hilary Duff and Camilla Belle. He was once a Cuban refugee, immigrating to the United States with his family for the promise of a better life. Roqueâs mother, a strong, beautiful woman with a flair for fashion has always nurtured his drive and creativity. She and his two sisters became his muses as a child. Out of his love and respect for the women in his life, grew Roqueâs passion for beautifying them. Pursuing his talent for hairdressing, Roque moved to New York City where his skills were honed and perfected by another Cuban-born hairstylist, the legendary Oribe. It was not long before Roque was working the runways of New York, Milan, Paris, and London with supermodels such as Linda Evangelista, Christy Turlington, Naomi Campbell, and Heidi Klum. Roque also works hard at an editorial career, his talent frequently gracing the pages and covers of the biggest and best in the industry â Vogue, Elle, W, Marie Claire and Vanity Fair to name a few. Now highly sought after as a hairstylist to the stars, Roque continues to beautify the world, one person at a time."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/roque/",instagram:"roqchop"},{slug:"rysia",name:"Rysia",role:"Nail Artist",location:"New York",specialties:["Nail Artist"],image:"/manus-storage/rysia_98e96f96.png",bio:["Rysia, born and raised in Europe, is a highly experienced and personable manicurist with decades of experience in the industry. For almost a decade, she has been a valued member of the Warren Tricomi luxury salon team. She has honed her skills and developed a reputation for providing exceptional service. Rysiaâs classical manicures and pedicures are beautiful and long-lasting, ensuring you leave the salon feeling pampered and polished. Her warm and friendly demeanor makes every appointment a pleasure, and she always goes above and beyond to ensure you feel comfortable and relaxed. We canât wait to welcome you to the salon and introduce you to Rysiaâs outstanding skills!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/rysia/"},{slug:"sachi",name:"Sachi",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/sachi_8261c211.png",bio:["Sachi is a master colorist with over 20 years of experience, specializing in balayage and foil highlights. With a keen eye for detail and a deep understanding of color theory, Sachi has built a reputation as one of the most skilled and sought-after colorists in the industry. As an expert in balayage and foil highlights, Sachi is able to create custom looks that enhance her clientsâ natural beauty, while also staying on-trend with the latest techniques and styles. Her precision and attention to detail allow her to achieve flawless results, whether sheâs working with subtle, natural tones or bold, dramatic colors. With her years of experience, Sachi has become a trusted advisor to her clients, providing personalized recommendations for hair care and color maintenance. She takes the time to understand each clientâs unique needs and preferences, ensuring that they leave her chair feeling confident and beautiful. Whether youâre looking for a subtle update or a complete transformation, Sachiâs expertise and artistry as a master colorist will exceed your expectations. With her dedication to staying current with the latest trends and techniques, you can trust that your hair is in good hands with Sachi."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/sachi/",instagram:"sachikokumagai"},{slug:"sandra",name:"Sandra",role:"Nail Technician",location:"New York",specialties:["Nail Technician"],image:"/manus-storage/sandra_c21a4db8.jpg",bio:["Sandra has a unique approach to performing pedicures, manicures, and waxing services. In 1990, my sister and I established our own Beauty Salon and Spa in the upper east of Manhattan, providing a range of services including pedicures, manicures, waxing, facials, and massages. I specialize in pedicures and manicures and have become well-known for my exceptional skills in the upper east side, offering regular, spa, and medical pedicures to our loyal clientele. Our selected clients have also sought our waxing services. Throughout the past 33 years, our clients have been instrumental in our success and continued growth. Additionally, I have had the opportunity to work with prominent individuals such as Martha Stewart, Steve Spielberg, and Star Jones during summers spent working in the Hamptons. We are committed to providing our exceptional services for many more years to come."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/sandra/"}
257,{slug:"saundra",name:"Saundra",role:"Colorist/Stylist",location:"Sag Harbor",specialties:["Colorist/Stylist"],image:"/manus-storage/saundra_30c83f3b.jpg",bio:["Saundra is an exceptional colorist and stylist with over 15 years of experience in the industry. She has dedicated her career to perfecting her craft and providing top-notch services to her clients. Saundraâs journey began with her training at the prestigious Warren Tricomi salon in New York City, where she gained invaluable knowledge and skills. Currently, Saundra is a full-time member of the Warren Tricomi team in Sag Harbor. Her expertise in color and styling techniques is unparalleled, and she takes pride in staying up-to-date with the latest trends and innovations in the industry. Saundraâs extensive training and deep understanding of hair products ensure that she only offers the best to her clients. One of Saundraâs core principles is to prioritize the integrity of her clientsâ hair. She believes in maintaining the health and vitality of every strand, while still achieving stunning and transformative results. With her keen eye for detail and artistic flair, Saundra consistently delivers exceptional outcomes that leave her clients feeling confident and beautiful. Saundraâs passion for her work and kindness shines through in every appointment, and her warm and friendly demeanor creates a comfortable and enjoyable experience for her clients. Whether itâs a subtle color enhancement or a complete hair transformation, Saundraâs dedication and expertise make her the go-to stylist for those seeking outstanding results."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",sourceUrl:"https://warrentricomi.com/artist/saundra/",instagram:"hairbysaundrat"},{slug:"sei",name:"Sei",role:"Stylist",location:"New York",specialties:["Stylist"],image:"/manus-storage/sei_b37c256e.png",bio:["We are proud to introduce Sei, the best Japanese master stylist in the industry. With extensive training in Japan and decades of experience in NYC at Warren Tricomi luxury brand salon, Sei is a true expert in socialitesâ short haircuts and styling. Sei is known for his versatility and ability to create stunning looks for clients of all ages, all hair types for both women and men. He is always on top of the latest beauty trends and techniques and is exceptionally skilled in using Japanese hair straightening techniques to create sleek and smooth styles that last. In addition to his styling expertise, Sei is a master of conditioning treatments for both women and men. He understands the importance of healthy, nourished hair and uses only the best products, tools, and techniques to ensure that clientsâ hair looks and feels its best. With Sei as your stylist, you can trust that you are in the hands of a true professional dedicated to helping you look and feel your best. We are looking forward to your visit to our salon!"],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/sei/",instagram:"seihamada"},{slug:"selena",name:"Selena",role:"Makeup Artist & Stylist",location:"Sag Harbor",specialties:["Makeup Artistry","Blowouts & Styling","Bridal Beauty"],image:"/manus-storage/selena-sag-harbor-editorial-bw_5c376012.webp",bio:["Selena is a Sag Harbor makeup artist and stylist specializing in polished makeup, blowouts, bridal beauty, and occasion-ready finishing.","At Sag Harbor, she is available across Blowout & Styling, select Kids & Students, Hair Conditioning Treatments, Hair Extensions, Bridal, and Makeup services."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=ff8c1b05-7b40-420f-a4f7-31058c7488b1",sourceUrl:"https://warrentricomi.com/artist/selena/"},{slug:"silvie",name:"Silvie",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/silvie-artist-editorial-bw-clear-background_136d08f4.png",bio:["Silvie is a highly skilled colorist who specializes in highlights, balayage, and Brazilian blowouts that leave her clients feeling transformed. She stays on top of the latest hair trends and techniques by regularly attending classes and workshops, ensuring she can always offer the most current and creative options to her clients. Her passion for her craft shines through in every appointment, and she takes pride in working with each client to bring their hair vision to life. Book with Silvie today for a truly personalized and artistic hair experience."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/silvie/"},{slug:"simo",name:"Simo",role:"Stylist - Man Haircuts",location:"New York",specialties:["Stylist - Man Haircuts"],image:"/manus-storage/simo_3ca0a8d2.png",bio:["Simo, a hair stylist and colorist with training from both Europe and Africa, brings a unique perspective and skill set to the beauty industry. Serving both women and men, Simo has spent years perfecting the craft, aiming to make clients feel confident and beautiful with every service rendered. Simoâs diverse training background contributes to a deep understanding of the art and science of hair cutting and coloring. Always seeking new techniques and trends to incorporate into the practice, Simo is equipped to deliver everything from classic cuts to bold, trendy colors. What truly sets Simo apart is a happy, friendly, and warm personality. Itâs believed that a great hair stylist not only offers excellent te
257chnical skills but also fosters a welcoming and comfortable environment for clients. Taking time to know each client individually, Simo pays careful attention to their needs and preferences, providing personalized recommendations to suit their unique style. Committed to maintaining the health and vibrancy of clientsâ hair, Simo employs only the highest-quality products and techniques. This dedication ensures the hair stays lustrous, even after multiple treatments. Passionate about boosting clientsâ confidence and enhancing their beauty, Simo offers a relaxing and enjoyable experience that leaves clients looking forward to their next appointment."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/simo/"},{slug:"sonia",name:"Sonia",role:"Stylist",location:"Greenwich",specialties:["Stylist"],image:"/manus-storage/sonia_fda4ee29.jpg",bio:["Sonia is an expert in her craft! Sonia has over two decades of experience in dry and wet haircuts, as well as blowout styles, updos, and keratin treatments at the luxury Warren Tricomi salon. She is highly skilled in creating trendy haircuts for both men and women. Soniaâs true passion lies in her love for art and all its facets, which is reflected in her unique and artistic approach to hairstyling. To experience Soniaâs creative vision and achieve a fantastic hair style, book an appointment with her today."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/sonia/",instagram:"sonia.warrentricomi"},{slug:"sophia",name:"Sophia",role:"Nail Artist",location:"New York",specialties:["Nail Artist"],image:"/manus-storage/sophia_8ea90e6a.png",bio:["Sophia is a highly skilled manicurist and pedicurist with over a decade of experience. She learned her skills in Europe at an early age and moved to New York City to work at the prestigious Warren Tricomi luxury salon. Sophiaâs professional and warm demeanor, as well as her eye for detail, make her a favorite among clients. She specializes in classical manicures and pedicures, and her work is always of the highest quality. We look forward to seeing you soon and experiencing Sophiaâs exceptional service."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/sophia/"},{slug:"stephanie",name:"Stephanie",role:"Stylist /Hair Extensions",location:"Greenwich",specialties:["Stylist /Hair Extensions"],image:"/manus-storage/stephanie_e915b93a.jpg",bio:["Stephanie is a highly skilled hairstylist with over twenty years of experience. She is dedicated to helping women and men achieve their desired image through personalized cuts and styling, hair extensions for length and volume, and smoothing treatments that add a youthful appearance while taming unruly frizz and curl. Stephanieâs talent for hairstyling is evident in her ability to create personalized looks that enhance her clientsâ natural beauty. Her expertise in classic cuts and modern styling techniques make her a go-to stylist for clients of all ages and hair types. In addition, her experience with hair extensions allows her to offer solutions for clients looking to add volume and length to their hair. As a specialist in smoothing treatments, Stephanie is able to create a sleek, polished look that is both stylish and manageable. Her knowledge of the latest techniques and products allows her to customize treatments to each clientâs individual needs, ensuring that their hair remains healthy and beautiful. Stephanieâs dedication to her clients is reflected in her exceptional level of service. She takes the time to understand their preferences and goals, offering expert advice and recommendations to achieve the best possible results. With her extensive experience and passion for hairstyling, Stephanie is a trusted professional who can help you achieve your desired look."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18",sourceUrl:"https://warrentricomi.com/artist/stephanie/",instagram:"stephanie_hairnyc"},{slug:"theani",name:"Theani",role:"Wax and Nail Tech Technician",location:"New York",specialties:["Wax and Nail Tech Technician"],image:"/manus-storage/theani_59e0f7a5.jpg",bio:["Allow me to introduce Theani, a highly skilled and experienced nail technician
257with over two decades of expertise in the high-end salon industry. With extensive training under the renowned J. Sisters in NYC, Theani has honed her skills to perfection, excelling not only in nail designs but also in waxing services. Theaniâs comprehensive knowledge and training extend beyond nails, encompassing extensive expertise in waxing techniques for Brazilian and all parts of the body. Whether itâs an elegant manicure, a luxurious pedicure, or precise waxing, Theani ensures that each client receives an unparalleled experience. Renowned for her exceptional results, Theani instills trust and confidence in her clients through her consistent delivery of utmost care and professionalism in every appointment. When you choose Theani, you can expect flawless nail designs and expert waxing services, backed by her extensive training and dedication to providing the best possible experience for each client."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/theani/"},{slug:"tonya",name:"Tonya",role:"Colorist",location:"Greenwich",specialties:["Colorist"],image:"/manus-storage/tonya_060fb8ee.jpg",bio:["Tonya is an accomplished stylist, colorist, and educator, with years of experience in the beauty industry. As a licensed professional in both New York and Connecticut, she is highly skilled in all aspects of hair care, from cutting and styling to coloring and treatment. In addition to her extensive technical expertise, Tonya is also a LâOréal Professional Artist, a recognition that demonstrates her outstanding talent and commitment to excellence in the field. Her clients appreciate her ability to stay current with the latest trends in products and services, and her ability to help them achieve their desired look. Tonyaâs approach to styling is all about personalization. From the initial consultation to the final touches, she takes the time to get to know each client and their individual needs and preferences, in order to create a look that feels unique and modern. She uses only the highest quality hair color, treatments, and home care products to ensure that her clientsâ hair is not only beautiful, but also healthy and strong. Whether working with long-standing clients or new customers, Tonya is dedicated to providing individual attention and exceptional service, making her a highly sought-after stylist at Warren Tricomi."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_ga=2.169299361.1009198076.1687886053-1168804167.1687886053",sourceUrl:"https://warrentricomi.com/artist/tonya/",instagram:"hairbytonyavulaj"},{slug:"victoria",name:"Victoria",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/victoria_b82466e7.png",bio:["Meet Victoria, a highly experienced colorist with over two decades of experience at the luxury salon of Warren Tricomi. Victoria is known for her warm and friendly personality, always greeting her clients with a smile and a willingness to share her vast knowledge of hair. Victoria stays current on the latest trends and new professional color products, ensuring that she only uses the best to achieve the look her clients desire. She goes above and beyond for clients, pairing them with the best stylist who can handle their hair texture and style. If youâre looking for a colorist who is knowledgeable but also friendly and accommodating, Victoria is the perfect choice. She canât wait to see you soon and work magic on your hair."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/victoria/"},{slug:"william",name:"William",role:"Colorist + Stylist",location:"New York",specialties:["Colorist + Stylist"],image:"/manus-storage/william_b336f37d.png",bio:["William is a highly skilled generalist technician who is passionate about helping clients achieve their desired look. With years of experience in the beauty industry, he has honed his skills in both color and cutting techniques to provide top-quality services that leave clients feeling confident and beautiful. William takes a personalized approach to his work, taking the time to understand each clientâs unique hair type, face shape, and personal style. He is committed to working with you to create a look that youâll love, whether youâre looking for a classic haircut or a bold new hair color. Using only the highest-quality products and techniques, William ensures that your hair stays healthy and vibrant, even after multiple treatments. He stays updated on the latest trends and techniques to provide his clients with the best possible service, from classic cuts to trendy styles. Above all, William is passionate about helping clients feel their best. He believes that a great haircut or color can do wonders for your confidence and self-image. He is dedicated to providing a relaxing and enjoyable experience that leaves you feeling refreshed and revitalized. If youâre looking for a skilled and experienced generalist technician in color and haircutting, look no further than William."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/william/",instagram:"williamwarrentricomi"},{slug:"yuki",name:"Yuki",role:"Manicurist",location:"Greenwich",specialties:["Manicurist"],image:"/manus-storage/yuki_86fb82fa.jpg",bio:[],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/sales/seriespackage/c600bf53-3c0b-44f4-9645-7d57f4b7e374?_gl=1*1g3fdxb*_gcl_au*MTg5MzkyMTguMTc1Nzk0MTQ1Mg..*_ga*MTc5OTI1OTIyMy4xNzQ5MjEzNTcz*_ga_Q3901EGPGG*czE3NjIyNzM4MzQkbzMyJGcxJHQxNzYyMjc0NDE3JGoyOSRsMCRoMA..",sourceUrl:"https://warrentricomi.com/artist/yuki/"},{slug:"yuko",name:"Yuko",role:"Colorist",location:"New York",specialties:["Colorist"],image:"/manus-storage/yuko_a9466580.png",bio:["Yuko is a highly skilled and experienced colorist with many years of training in Japan and NYC. She is known for her perfectionism and attention to detail when it comes to color applications. Yuko is highly knowledgeable about the most efficient professional products in the salon to ensure long-lasting results at home. During consultations, she takes the time to listen to her clientsâ preferences then creates a color plan ensuring that they understand and are comfortable and informed about the next steps. Yuko is committed to ensuring that her clients leave the salon feeling beautiful and satisfied with their results. Additionally, she is an excellent resource for recommending other stylists who can provide the best haircut or blowout for your hair. If you are looking for a skilled and knowledgeable stylist who can help you achieve your desired look, Yuko is an excellent choice for you."],bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",sourceUrl:"https://warrentricomi.com/artist/yuko/"}],AS=[{slug:"the-language-of-color",category:"Artist Spotlight",author:"Jayne",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Jayne",excerpt:"Jayne is a top colorist who combines her background in painting and art school with a deep understanding of color theory to formulate stunning, personalized hair color for her clients.",tags:["Colorist"],image:"/manus-storage/jayne_7fdd0ce0.jpg",imageAlt:"Jayne, Colorist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"jayne",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/jayne",lede:"Drawing on an art school background and an initial pursuit of painting, Jayne has established herself as a masterful colorist. Her comprehensive understanding of color theory allows her to meticulously formulate shades that complement each clientâs unique hair type, skin tone, and personal style.",sections:[{heading:"Mastering the Art of Color Theory",paragraphs:["Jayne applies her fine arts foundation to her work as a top colorist, expertly blending and formulating shades customized to each individual. Taking a personalized approach, she evaluates skin tone and hair type to design unique looks ranging from subtle enhancements to bold transformations. By exclusively utilizing high-quality products and techniques, she ensures that hair remains healthy and vibrant through multiple color treatments."]},{heading:"Elevating Confidence Through Custom Color",paragraphs:["Staying current with the latest industry trends, Jayne continually pushes the boundaries of hair color possibilities, offering services like balayage, ombre, and vivid fashion colors. Beyond her technical expertise, she is deeply passionate about helping clients feel confident and beautiful. She believes the right hair color can significantly boost self-esteem, providing a relaxing and enjoyable experience that leaves individuals feeling beautiful."]}]},{slug:"art-of-blonde",category:"Artist Spotlight",author:"Katie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Katie",excerpt:"With over twenty years of experience in the beauty industry, Katie is a master colorist and stylist in Greenwich. She offers expertise in hair color, highlights, balayage, and event styling.",tags:["Hair Color","Highlights & Balayage","Haircuts & Styling"],image:"/manus-storage/katie_bfa38d77.jpg",imageAlt:"Katie, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"katie",artistRole:"Colorist",locations:["Greenwich"],artistHref:"/artists/katie",lede:"Operating in Greenwich, Katie is a master colorist, stylist, makeup artist, and bridal event specialist with over twenty years of experience in the beauty industry. She combines extensive NYC training with knowledge of color and styling products, specializing in hair color, highlights, balayage, and styling.",sections:[{heading:"Expertise in color and styling",paragraphs:["Katie has extensive knowledge of hair color, including Redken, LâOréal, Goldwell, and Schwartzkoff. Her styling knowledge comprises LâOréal, Renee Furterer, and Prive NY. She has also completed Balayage, Foundation, and Artist certifications with LâOréal Professional."]},{heading:"Experience in Greenwich and NYC",paragraphs:["Beginning her career with NYC training and early work at The Studio in Greenwich, Katie styled for Neiman Marcus and Premier Atelier, and spent thirteen years at Jaafar Tazi Salon. She did hair and makeup for runway shows in NYC and Greenwich. Currently an Ambassador for ORIBE, her work has been featured in multiple newspapers and magazine articles."]}]},{slug:"artist-spotlight-trevy",category:"Artist Spotlight",author:"Trevy",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Trevy",excerpt:"Trevy is a colorist with over eleven years of experience. She focuses on personalized hair color and prioritizes the integrity of the hair.",tags:["Colorist"],image:"/manus-storage/trevy_9e3f01bf.jpg",imageAlt:"Trevy, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"trevy",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/trevy",lede:"Trevy is a colorist with over eleven years of experience. She specializes in blondes, while also working with brunettes and redheads using professional products.",sections:[{heading:"Color Formulation and Techniques",paragraphs:["Trevy focuses on color formulation and personalizing hair color for her clients. Her preferred technique is balayage highlights. Trevy prioritizes the integrity and health of the hair, utilizing professional products."]},{heading:"Consultations and Approach",paragraphs:["Trevy begins services with a thorough consultation. She listens to clients and provides professional feedback to determine the appropriate approach for their hair color.","With a background that includes experience at a Madison Avenue salon, Trevy brings Southern charm and warmth to her work as a colorist."]}]},{slug:"artist-spotlight-marjeta",category:"Artist Spotlight",author:"Marjeta",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Marjeta",excerpt:"Marjeta is a Colorist with over 15 years of experience in New York City salons. She began her career in Italy and specializes in balayage, blondes, and beach waves.",tags:["Colorist"],image:"/manus-storage/marjeta_55c514f3.png",imageAlt:"Marjeta, Colorist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"marjeta",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/marjeta",lede:"Marjeta is a Colorist bringing over 15 years of experience working in New York City salons. She began her hairdressing journey in Italy, where she refined her skills. Today, she focuses on delivering tailored experiences and executing specialized hair transformations for her clientele.",sections:[{heading:"Professional Background",paragraphs:["Marjeta brings over 15 years of experience working in New York City salons. She began her hairdressing career in Italy, where she refined her skills before entering the competitive hairdressing industry in New York City."]},{heading:"Color And Styling Techniques",paragraphs:["Marjeta offers specialized proficiency in a variety of hair techniques. Her expertise includes the application of balayage to achieve a natural look, as well as the creation of customized blondes and beach waves.","Marjeta focuses on curating bespoke experiences and delivering specialized hair transformations. Her dedication to her craft and commitment to service have established her as a recognized stylist within the hairdressing industry."]}]},{slug:"artist-spotlight-adele",category:"Artist Spotlight",author:"Adele",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Adele",excerpt:"Adele is a creative and versatile stylist based in Greenwich. With over eleven years of experience as a successful hair professional, she views her work as a true form of art.",tags:["Stylist"],image:"/manus-storage/adele_54fa06d2.jpg",imageAlt:"Adele, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"adele",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/adele",lede:"For as long as she can remember, Adele has had a deep affinity for all things hair. Today, she is a dedicated stylist in Greenwich, where she brings her creative vision to life. Passionate about her craft, she has established herself as a successful hair professional over the past eleven years.",sections:[{heading:"Creative styling and bridal hair services",paragraphs:["Adele is a highly versatile and creative stylist who is deeply passionate about her chosen craft. Over the past eleven years, she has established herself as a successful hair professional. Her artistic reach has expanded well beyond the traditional salon environment and into the bridal world. Through her extensive experience, she continually demonstrates her affinity for all things hair, bringing a true form of art to her daily work."]},{heading:"Elevating confidence through collaborative styling",paragraphs:["Adele works collaboratively with clients to find a look that will enhance their natural looks and elevate their confidence. She views her daily work as a true form of art and finds pure joy in helping others feel and look their best. By combining her passion for the craft with her dedication to clients, this Greenwich stylist ensures that every individual leaves with elevated confidence."]}]},{slug:"artist-spotlight-alan-david",category:"Artist Spotlight",author:"Alan-David",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Alan-David",excerpt:"Alan-David is a highly skilled senior stylist based in NYC specializing in precision cuts, elaborate blowouts, updos, bridal, treatments, and more. He provides exceptional service and attention to detail for every hairstyle he creates.",tags:["Stylist"],image:"/manus-storage/alan-david_ee20735d.jpg",imageAlt:"Alan-David, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"alan-david",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/alan-david",lede:"Alan-David is a highly skilled senior stylist based in NYC specializing in precision cuts, elaborate blowouts, updos, bridal, treatments, and more. Whether you are looking for a gorgeous cut, a red carpet look, or an elaborate updo for your wedding day, Alan has the skill and experience to make your vision a reality.",sections:[{heading:"Precision cutting and styling",paragraphs:["Alan-David is a highly skilled senior stylist specializing in precision cuts, elaborate blowouts, updos, bridal, treatments, and more. Whether you are looking for a gorgeous cut, a red carpet look, or an elaborate updo for your wedding day, Alan has the skill and experience to make your vision a reality."]},{heading:"Exceptional service and dedication",paragraphs:["He has trained and developed his unique style with various notable celebrity hairstylists and further mastered his skills for precision cutting and styling alongside Edward Tricomi. He is dedicated to providing exceptional service to his clients, and his attention to detail and commitment to excellence are evident in every hairstyle he creates."]}]},{slug:"artist-spotlight-alathif",category:"Artist Spotlight",author:"Alathif",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Alathif",excerpt:"Alathif is a seasoned colorist, stylist, and makeup artist at Warren Tr
257icomi. Drawing inspiration from the art world, he combines technical expertise with a genuine passion for beauty to deliver personalized, stunning results for his clients.",tags:["Hair Color","Highlights & Balayage","Makeup Artistry"],image:"/manus-storage/alathif_32c9ab09.jpg",imageAlt:"Alathif, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"alathif",artistRole:"Colorist",locations:["Greenwich"],artistHref:"/artists/alathif",lede:"With a passion for the perfect blend of color and a keen eye for creating flawless, complete looks, Alathif is a seasoned colorist, stylist, and makeup artist whose artistry has captivated clients worldwide. Known for his soft demeanor and artistic sensibility, he draws inspiration from the art world to deliver personalized, stunning results that leave clients confident and radiant.",sections:[{heading:"Expertly Crafted Color Techniques",paragraphs:["Beginning his career at MAC in Texas, Alathif quickly developed a reputation for exceptional skill and dedication to enhancing natural beauty through expertly crafted color techniques. Whether clients are seeking a transformative color, a stylish cut, or flawless makeup for any occasion, he combines technical expertise with a genuine passion for beauty to create looks as unique as his clients."]},{heading:"A New Chapter in Greenwich",paragraphs:["His recent move to New York City marks an exciting new chapter as he joins the talented team at Warren Tricomi in Greenwich, CT, where he continues to elevate his craft and showcase his beautiful work. As a specialist in hair color, highlights and balayage, and makeup artistry, Alathif is dedicated to enhancing natural beauty."]}]},{slug:"artist-spotlight-amy",category:"Artist Spotlight",author:"Amy",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Amy",excerpt:"Amy is an expert Stylist at the Warren Tricomi luxury salon in Greenwich. With over twenty years of experience, she provides precise haircuts, flawless blowouts, and customized treatments for all hair types and textures.",tags:["Stylist"],image:"/manus-storage/amy_cf6f7455.jpg",imageAlt:"Amy, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"amy",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/amy",lede:"Serving clients at the Warren Tricomi luxury salon in Greenwich, Amy brings over twenty years of experience as an expert Stylist. Known for her warm and easy-going personality, she delivers exceptional service to women, men, and students. Her extensive background enables her to provide precise haircuts and flawless blowouts tailored to individual preferences, helping clients feel confident and refreshed.",sections:[{heading:"Expert Stylist for All Hair Types",paragraphs:["As an expert Stylist at Warren Tricomi, Amy draws on over twenty years of experience to deliver precise haircuts and flawless blowouts. She provides exceptional service to women, men, and students with all hair types and textures. Amy has honed her skills to perfection, offering customized treatments that cater to the specific needs and preferences of each individual. Her extensive expertise ensures that every client receives personalized attention to achieve their desired look."]},{heading:"Warm Personality and Greenwich Service",paragraphs:["Available at the Greenwich location, Amy is known for her warm and easy-going personality. Being a mother herself, she understands the significance of feeling confident and looking oneâs best. She takes great pride in helping clients feel refreshed and beautiful. In addition to her exceptional service, Amy is well-versed in recommending the best professional products. This allows clients to maintain their salon look in the comfort of their own home."]}]},{slug:"artist-spotlight-angela",category:"Artist Spotlight",author:"Angela",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Angela",excerpt:"Angela is a dedicated Eyebrow Artist based in New York. She analyzes facial structure and eye contour to craft the perfect brow shape, creating an inviting experience that ensures brows stand out.",tags:["Eyebrow Artist"],image:"/manus-storage/angela_044e12b8.png",imageAlt:"Angela, Eyebrow Artist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"angela",artistRole:"Eyebrow Artist",locations:["New York"],artistHref:"/artists/angela",lede:"Operating in New York, Angela serves as an Eyebrow Artist who emphasizes a personalized approach to brow grooming. By carefully considering the unique facial structure and eye contour of each individual, she determines the ideal shape to complement and enhance natural features, recognizing that well-groomed brows can alter oneâs appearance.",sections:[{heading:"Personalized Eyebrow Artistry",paragraphs:["Angela approaches her role as an Eyebrow Artist with the belief that there is no universal method for shaping brows. Instead, she maps the face by observing its movements, the effects of gravity, and the foreheadâs natural dynamics. This careful analysis allows her to determine a shape that either provides a softer, younger appearance with fuller brows or a more mature look through a thin arched design."]},{heading:"Enhancing Natural Features",paragraphs:["In her New York location, Angela creates a warm and inviting environment for those seeking her expertise. Beyond precise shaping, she often recommends tinting for individuals with lighter or discolored brow hairs to add essential definition and fullness. Her clientele includes notable photographers and directors such as Mario Testino, Craig McDean, and Inez & Vinoodh."]}]},{slug:"artist-spotlight-angelique",category:"Artist Spotlight",author:"Angelique",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Angelique",excerpt:"Angelique is a stylist with training and experience in Paris and New York City. She styles all hair textures and lengths for both men and women.",tags:["Stylist"],image:"/manus-storage/angelique_63fa6ec4.png",imageAlt:"Angelique, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"angelique",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/angelique",lede:"Angelique is a stylist with training and experience in Paris and New York City. She provides styling for both men and women, working with all hair textures and lengths to deliver a finished blowout.",sections:[{heading:"Background and Training",paragraphs:["Angelique has completed extensive training and gained professional experience working in Paris and New York City."]},{heading:"Styling Approach",paragraphs:["She provides styling services for both men and women, accommodating all hair textures and lengths.","Angelique focuses on providing blowout finishes designed to support the appearance of shiny and strong hair."]}]},{slug:"artist-spotlight-artem",category:"Artist Spotlight",author:"Artem",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Artem",excerpt:"Artem is a highly skilled colorist and stylist based in NYC, offering ultimate trends in color and haircuts for women and men. Trained in Europe, he is known for beautiful, long-lasting blowouts at Warren Tricomi.",tags:["Hair Color","Highlights & Balayage","Blowouts & Styling"],image:"/manus-storage/artem_275bbb9a.png",imageAlt:"Artem, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"artem",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/artem",lede:"Operating at the Warren Tricomi luxury salon in NYC, Artem is a highly skilled colorist and stylist who brings a friendly approach and calm demeanor to his craft. Catering to both women and men, he specializes in delivering the ultimate trends in color, highlights, and haircuts.",sections:[{heading:"Expertise in hair color and styling",paragraphs:["Having received his training in Europe, Artem specializes in hair color, highlights, balayage, and styling. He is known for his beautiful blowouts that remain smooth, shiny, and long-lasting. By utilizing top-of-the-line professional products, he ensures that these applications benefit the hair while providing enduring results."]},{heading:"A calm approach at Warren Tricomi",paragraphs:["Available at the Warren Tricomi luxury salon in NYC, Artem maintains a calm demeanor and friendly approach. He helps clients achieve their hair goals, emphasizing the use of professional products that benef
257it the hair both in the salon and at home. His dedication to delivering the ultimate trends in haircuts and color is central to his work."]}]},{slug:"artist-spotlight-beatriz",category:"Artist Spotlight",author:"Beatriz",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Beatriz",excerpt:"Beatriz is a seasoned colorist and stylist based in Sag Harbor. With over two decades of experience, she brings highly proficient precision and professionalism to Warren Tricomi for all your hair care needs.",tags:["Hair Color","Highlights & Balayage","Haircuts & Styling"],image:"/manus-storage/beatriz_8fd038ed.jpg",imageAlt:"Beatriz, Colorist & Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"beatriz",artistRole:"Colorist & Stylist",locations:["Sag Harbor"],artistHref:"/artists/beatriz",lede:"As a seasoned and highly proficient precision colorist and stylist, Beatriz offers exceptional expertise at Warren Tricomi. Drawing on over two decades in the industry, she provides specialized hair care services in Sag Harbor. Her background includes extensive training and experience from renowned salons across New York City.",sections:[{heading:"Specialized hair color and styling services",paragraphs:["Focusing on hair color, highlights, balayage, and styling, Beatriz is a highly proficient precision colorist and stylist. She has dedicated her career to perfecting her skills in the hair care industry. Her extensive expertise and professionalism make her an exceptional choice for all your hair care needs."]},{heading:"Decades of experience in Sag Harbor",paragraphs:["Beatriz brings a wealth of experience and training from renowned salons in New York City. With over two decades in the industry, she has spent the past 15 years refining her craft at Warren Tricomi in Sag Harbor and NYC. This extensive background highlights her as a seasoned professional."]}]},{slug:"artist-spotlight-beth",category:"Artist Spotlight",author:"Beth",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Beth",excerpt:"Beth is a colorist at Warren Tricomi with over two decades of experience. She focuses on understanding client needs and improving hair condition.",tags:["Colorist"],image:"/manus-storage/beth_a1e8bda6.png",imageAlt:"Beth, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"beth",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/beth",lede:"Beth is a colorist with over two decades of experience at Warren Tricomi. Known for her patience, she takes time to understand client needs and provides advice on improving hair condition and selecting professional products.",sections:[{heading:"Experience and approach",paragraphs:["Beth brings over two decades of experience as a colorist to Warren Tricomi. She is known for her patience and takes the time to understand the specific needs of each client."]},{heading:"Focus on hair condition",paragraphs:["A key aspect of her work involves providing advice on how to treat and improve the condition of hair. She utilizes professional products designed for these applications.","Beth works closely with stylists during the coloring process. Her approach emphasizes the overall health and condition of the hair to achieve the desired result."]}]},{slug:"artist-spotlight-betty",category:"Artist Spotlight",author:"Betty",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Betty",excerpt:"Betty is an expert colorist at Warren Tricomi in NYC. With decades of experience, she customizes formulations to deliver beautiful, shiny hair. Her infectious positivity and dedication make her a trusted professional for every client.",tags:["Colorist"],image:"/manus-storage/betty_50f6e2c1.png",imageAlt:"Betty, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"betty",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/betty",lede:"Betty brings decades of experience to her role as a dedicated colorist at Warren Tricomi in NYC. Known for her infectious positivity and deep understanding of client needs, she consistently delivers beautiful, shiny, and healthy hair. She customizes every blend to ensure stunning results, making her a trusted professional in the salon.",sections:[{heading:"Expert Colorist Delivering Beautiful Healthy Hair",paragraphs:["As a highly experienced colorist, Betty is an expert in blondes with perfected techniques and formulations. She customizes every blend to ensure her clients achieve hair that looks and feels its absolute best. Trusted by many, including the salon owner, she applies top treatments and recommends ideal home care products. Her attention to detail makes her a premier choice for those seeking a professional who truly cares about stunning results."]}
257,{heading:"Decades of Experience at Warren Tricomi NYC",paragraphs:["Operating out of NYC, Betty stands out through her infectious positivity and unwavering dedication to her craft. She goes above and beyond to ensure clients are happy with their hair. With her extensive background at Warren Tricomi, you are in the hands of a true professional passionate about creating beautiful looks. She offers virtual consultations and salon appointments."]}]},{slug:"artist-spotlight-catalina",category:"Artist Spotlight",author:"Catalina",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Catalina",excerpt:"Catalina is a highly skilled and experienced colorist who approaches hair coloring as an art form. She carefully creates the perfect color to meet each clientâs desired look while maintaining smooth, shiny condition.",tags:["Colorist"],image:"/manus-storage/catalina_dedb02b1.png",imageAlt:"Catalina, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"catalina",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/catalina",lede:"Operating as a dedicated colorist, Catalina brings an artistic perspective to every appointment, treating each clientâs hair as her canvas. She takes her time to carefully create the perfect color blend tailored to meet the desired look, ensuring that the final result is both beautiful and healthy.",sections:[{heading:"Artistic Approach To Coloring",paragraphs:["Catalina is a highly skilled and experienced colorist who is known for her artistic approach to hair coloring. She takes her time and treats each clientâs hair as her canvas, carefully creating the perfect color to meet their desired look. By customizing color blends, she ensures that the condition of her clientsâ hair remains smooth and shiny."]},{heading:"Professional Product Knowledge",paragraphs:["Catalina is highly knowledgeable about the best professional products and tools available in the industry. She is able to recommend the best stylist to finish your hair, ensuring that each client is completely happy and satisfied with their results. If you are looking for a skilled colorist to help you achieve your desired look, Catalina is an excellent choice."]}]},{slug:"artist-spotlight-cecilia",category:"Artist Spotlight",author:"Cecilia",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Cecilia",excerpt:"Meet Cecilia, a highly skilled stylist and colorist dedicated to creating personalized looks. With extensive global training, she works with all hair textures using professional products for vibrant results.",tags:["Stylist"],image:"/manus-storage/cecilia_c0684b32.png",imageAlt:"Cecilia, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"cecilia",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/cecilia",lede:"Cecilia is a passionate stylist and colorist. With years of experience and extensive training around the globe, she is highly skilled in working with all hair textures and styles. She takes pride in using professional products to ensure hair remains healthy and vibrant.",sections:[{heading:"Skilled stylist and colorist",paragraphs:["Dedicated to staying current with the latest industry trends and techniques, Cecilia is always eager to learn and grow as a stylist. She brings extensive global training to her practice, allowing her to comfortably handle everything from classic styles to modern aesthetics. By carefully selecting professional products, she ensures that every style not only looks beautiful but also maintains optimal health and vibrancy."]},{heading:"Warm and welcoming personality",paragraphs:["What truly distinguishes Cecilia is her warm and welcoming personality. As a great listener, she takes the time to thoroughly understand the specific needs and desires of those who visit her. Whether someone is seeking a subtle change or a bold new look, she ensures they leave her chair feeling confident and beautiful."]}]},{slug:"artist-spotlight-claudio",category:"Artist Spotlight",author:"Claudio",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Claudio",excerpt:"Claudio is a highly skilled colorist at the Warren Tr
257icomi salon. With extensive training across all hair textures, he delivers luxury salon services that leave clients feeling confident and beautiful with vibrant hair.",tags:["Hair Color","Highlights & Balayage","Blowouts & Styling"],image:"/manus-storage/claudio_209242c7.png",imageAlt:"Claudio, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"claudio",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/claudio",lede:"Claudio brings a refined and sophisticated demeanor to the Warren Tricomi salon. As an experienced colorist and hair stylist, he combines extensive training with a passion for luxury service. His expertise spans all hair textures, ensuring clients receive a uniquely tailored look and vibrant results.",sections:[{heading:"Expertise in color and styling",paragraphs:["Claudio offers a personalized approach to luxury salon services, specializing in hair color, highlights, balayage, blowouts, and styling. His attention to detail and good listening skills allow him to fully understand client desires. By utilizing the best professional products, he maintains the health and vibrancy of the hair while creating classic or modern styles."]},{heading:"A sophisticated salon experience",paragraphs:["Exuding class and elegance, Claudio provides an attentive and personalized experience for clients. He takes the time to understand needs and desires, ensuring that clients leave his chair feeling confident and beautiful. Dedicated to his craft, he leverages his extensive experience with all hair textures to deliver exceptional results at Warren Tricomi."]}]},{slug:"artist-spotlight-cristina",category:"Artist Spotlight",author:"Cristina",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Cristina",excerpt:"Cristina is a highly sought-after makeup artist exclusively available at the Warren Tricomi salon in Sag Harbor. She offers services for special events and provides at-home spray tan services.",tags:["Makeup Artist"],image:"/manus-storage/cristina_9efb5955.png",imageAlt:"Cristina, Makeup Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"cristina",artistRole:"Makeup Artist",locations:["Sag Harbor"],artistHref:"/artists/cristina",lede:"Available exclusively at the luxurious Warren Tricomi salon in Sag Harbor, Cristina is a highly sought-after makeup artist to the stars. Her services are in high demand for special events, weddings, and nights out. As a seasoned professional, she is known for her personable nature and unwavering professionalism.",sections:[{heading:"Expert Makeup Services For Special Events",paragraphs:["Cristina is exclusively available at the luxurious Warren Tricomi salon in Sag Harbor. With her expertise and reputation, her services are in high demand for a night out, special events, and weddings. She is booked exclusively through the salon. As a seasoned professional, Cristina is known for her personable nature and unwavering professionalism."]},{heading:"Staying Ahead With Latest Industry Trends",paragraphs:["Cristina always stays ahead of the curve by continuously updating her skills and knowledge with the latest trends and products in the industry. When you choose Cristina, you can trust that you are in the hands of a true expert who will ensure you look and feel your best for any occasion. Cristina is now offering at-home spray tan services."]}]},{slug:"artist-spotlight-demi",category:"Artist Spotlight",author:"Demi",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Demi",excerpt:"Demi is a highly skilled and experienced colorist dedicated to delivering perfect results. Known as a perfectionist, she focuses on improving hair health through professional color, hair glazing, and conditioning treatments.",tags:["Colorist"],image:"/manus-storage/demi_f6837af7.png",imageAlt:"Demi, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"demi",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/demi",lede:"Demi is a highly skilled and experienced colorist who takes immense pride in her craft. With years of training at the luxury salon of Warren Tr
257icomi, she has developed a strong reputation for being a perfectionist, taking the necessary time to ensure that every client receives their exact desired color while prioritizing hair health.",sections:[{heading:"Expertise in professional color",paragraphs:["With years of training at the luxury salon of Warren Tricomi, Demi has meticulously honed her craft. She utilizes the best professional color and products available to ensure optimal results. This careful approach not only achieves the specific color you desire but also works actively to improve the condition of your hair during the process."]},{heading:"Focus on hair health",paragraphs:["Demi is an expert in hair glazing and conditioning treatments. Her comprehensive approach ensures your hair looks and feels its absolute best after every visit to her chair. If you are looking for a dedicated colorist who consistently delivers exceptional results while improving hair health, Demi is prepared to work her magic on your locks."]}]},{slug:"artist-spotlight-didi",category:"Artist Spotlight",author:"Didi",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Didi",excerpt:"Didi is a seasoned beauty specialist offering services in NYC. With European training, she excels in eyebrow shaping, mani/pedi services, and waxing, providing personalized service and meticulous attention to detail for all her clients.",tags:["Nail + Brow Artist"],image:"/manus-storage/didi_e70204c0.png",imageAlt:"Didi, Nail + Brow Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"didi",artistRole:"Nail + Brow Artist",locations:["New York"],artistHref:"/artists/didi",lede:"Operating in NYC, Didi is a dedicated Nail + Brow Artist known for her meticulous attention to detail and personalized service. As a seasoned beauty specialist with European training, she excels in eyebrow shaping, mani/pedi services, and efficient waxing treatments. Her expertise and professionalism make her an excellent choice for comprehensive beauty needs.",sections:[{heading:"Expertise in Eyebrow Shaping and Precision",paragraphs:["Skilled in enhancing an individualâs natural features, Didi leverages her artistic precision and understanding of facial symmetry to deliver perfect eyebrows. Her European training informs her meticulous approach to beauty services, setting her apart in her field. Didi is a master in providing elegant and durable mani/pedi services, alongside efficient waxing treatments that utilize high-quality, skin-friendly products."]},{heading:"Comforting Atmosphere and Personalized Service",paragraphs:["Above all, Didi is committed to providing a comforting atmosphere for her clients, promoting self-confidence and self-love during every appointment. Whether you are in need of a quick beauty touch-up or a comprehensive treatment, her personalized service ensures a positive experience. Operating as a Nail + Brow Artist in NYC, Didiâs extensive expertise and consistent professionalism make her an excellent choice for all your beauty needs."]}]},{slug:"artist-spotlight-dion",category:"Artist Spotlight",author:"Dion",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Dion",excerpt:"Dion is a senior stylist at Warren Tricomi, serving clients in New York and Sag Harbor. With over two decades of experience, he provides haircuts, styling, and color for all hair textures.",tags:["Menâs Grooming","Haircuts & Styling","Hair Color"],image:"/manus-storage/dion_15949b80.png",imageAlt:"Dion, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"dion",artistRole:"Stylist",locations:["New York","Sag Harbor"],artistHref:"/artists/dion",lede:"With over two decades of professional experience, Dion is a senior stylist at Warren Tricomi. He serves clients across the New York and Sag Harbor locations, providing cutting and coloring services for men and women.",sections:[{heading:"Haircuts, Styling, and Hair Color",paragraphs:["Dion works with all hair lengths and textures, including wavy and curly hair. In addition to cutting and coloring for men and women, he provides blowout services."]},{heading:"New York and Sag Harbor Locations",paragraphs:["Operating out of the Warren Tr
257icomi locations in New York and Sag Harbor, Dion provides menâs grooming, hair color, and styling for textured hair across both salons.","Dion brings over twenty years of experience to his role as a stylist, focusing on precision techniques and tailored services for each client's specific hair type."]}]},{slug:"artist-spotlight-edward",category:"Artist Spotlight",author:"Edward",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Edward",excerpt:"With decades of experience in fashion and beauty, Edward brings his depth of knowledge and high precision haircuts to his clients. He serves a sophisticated clientele across NYC and Greenwich.",tags:["Stylist"],image:"/manus-storage/edward_843f5a15.png",imageAlt:"Edward, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"edward",artistRole:"Stylist",locations:["New York","Greenwich"],artistHref:"/artists/edward",lede:"Edward brings decades of experience in fashion and beauty to his role as a Stylist at Warren Tricomi. Operating in NYC and Greenwich, he applies a French perspective to hairstyling, performing ingenious and high precision haircuts. He approaches each individual as a canvas, ensuring that clients look and feel themselves.",sections:[{heading:"High precision haircuts and styling expertise",paragraphs:["Edward utilizes his extensive background in fashion and beauty to deliver high precision haircuts with a French perspective. He views himself as an artist, moving his brush with the individual as his canvas. His expert technique and passion are dedicated to creating individual, beautiful results. This talent has garnered the trust and loyalty of a sophisticated clientele, ranging from socialites and celebrities to CEOs and influencers."]},{heading:"Sanctuaries of beauty in NYC and Greenwich",paragraphs:["Operating in NYC and Greenwich, Edward translates his artistry into salons built upon great service, transformative haircutting, and attention to detail. He maintains a strong commitment to training new stylists, requiring them to serve apprenticeships in the European manner before they put scissors to hair. His ultimate mission is to ensure that his creative approach results in an exclusive experience at Warren Tricomi."]}]},{slug:"artist-spotlight-elias-asmar",category:"Artist Spotlight",author:"Elias Asmar",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Elias Asmar",excerpt:"Elias Asmar is a dedicated stylist in Greenwich with over 20 years of hair industry experience. Known for precision and creativity, he consistently delivers personalized service and versatile hair artistry to his loyal clientele.",tags:["Stylist"],image:"/manus-storage/elias-asmar_073c0ddf.jpg",imageAlt:"Elias Asmar, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"elias-asmar",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/elias-asmar",lede:"Bringing over 20 years of hair industry experience to Greenwich, Elias Asmar is a passionate stylist known for his precision, creativity, and dedication to client satisfaction. His versatile work reflects a deep understanding of hair artistry and an unwavering commitment to excellence, ensuring that every client receives exceptional and personalized service.",sections:[{heading:"Expertise in styling and hair artistry",paragraphs:["Throughout his career, Asmar has continually honed his craft to stay ahead of trends, having trained with industry leaders and worked in his own salon Jordan. His expertise spans bridal hair, cutting, coloring, styling, and menâs grooming. This range of skills makes him an in-demand stylist for clients of all backgrounds, whether they desire classic cuts or modern styles."]},{heading:"A commitment to personalized client service",paragraphs:["Asmar believes in empowering his clients through great hair and providing personalized service. His reputation for professionalism and his loyal clientele have made him a respected figure in the beauty community. Whether preparing someone for a special event or perfecting a signature everyday look, his passion for styling and eye for detail continue to set him apart."]}
257]},{slug:"artist-spotlight-elie",category:"Artist Spotlight",author:"Elie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Elie",excerpt:"Elie is a Paris-born hairstylist specializing in signature cuts, blowouts, and weft hair extensions.",tags:["Stylist"],image:"/manus-storage/elie_edd6685d.jpg",imageAlt:"Elie, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"elie",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/elie",lede:"Elie is a Paris-born hairstylist specializing in signature cuts, blowouts, and weft hair extensions. Drawing on training received in Paris, Elie creates styles ranging from classic haircuts to bold looks.",sections:[{heading:"Hairstyling Background",paragraphs:["Elie is a Paris-born hairstylist who received professional training in Paris. This background informs a technical approach to styling, ranging from classic haircuts to bold looks."]},{heading:"Weft Extensions",paragraphs:["As a specialist in weft extensions, Elie works with clients seeking longer or fuller hair. This technique provides options for changing hair volume and length.","Elie focuses on signature cuts and blowouts. The styling process is tailored to achieve the specific vision for each haircut."]}]},{slug:"artist-spotlight-ericka",category:"Artist Spotlight",author:"Ericka",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Ericka",excerpt:"Ericka is an incredibly skilled hair colorist at Warren Tricomi in Greenwich. With over a decade of experience, she specializes in highlights, balayage, and color correction, ensuring clients love their customized look.",tags:["Colorist"],image:"/manus-storage/ericka_eb49d81e.jpg",imageAlt:"Ericka, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"ericka",artistRole:"Colorist",locations:["Greenwich"],artistHref:"/artists/ericka",lede:"Operating at the Warren Tricomi luxury salon in Greenwich, Ericka is an incredibly skilled hair colorist with over a decade of experience. She is dedicated to providing a truly exceptional salon experience. By regularly attending classes and workshops, Ericka stays current with the latest hair trends.",sections:[{heading:"Specialized hair color techniques",paragraphs:["Ericka specializes in a range of techniques, including highlights, balayage, foliayage, and tease lights. Additionally, she performs color correction and Brazilian blowouts at the salon. She applies these methods to execute various styles tailored to each client."]},{heading:"Over a decade of experience",paragraphs:["With over a decade of experience, Ericka is dedicated to ensuring that her clients leave the salon absolutely loving their customized look. She stays up-to-date with the latest hair trends by regularly attending classes and workshops to provide an exceptional salon experience."]}]},{slug:"artist-spotlight-eva",category:"Artist Spotlight",author:"Eva",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Eva",excerpt:"Eva is a Nail Artist offering medical pedicures in New York. With European training and over two decades of experience, she provides care using professional tools.",tags:["Nail Artist"],image:"/manus-storage/eva_914365fb.png",imageAlt:"Eva, Nail Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"eva",artistRole:"Nail Artist",locations:["New York"],artistHref:"/artists/eva",lede:"Eva is a Nail Artist offering services in New York. With training in Europe and over two decades of experience at the Warren Tricomi salon, she has built a career as a professional specializing in medical pedicures and nail care.",sections:[{heading:"Expertise As A Nail Artist",paragraphs:["Specializing in medical pedicures, Eva brings training from Europe to her role as a Nail Artist. She utilizes professional tools and products to ensure that feet and nails receive proper care."]},{heading:"Experience In New York",paragraphs:["Operating out of New York, Eva has accumulated over two decades of experience at the Warren Tricomi salon. She applies her expertise to address the specific nail care needs of her clients.","Throughout her career, Eva has focused on providing specialized nail services. Her extensive background in the industry supports her comprehensive approach to client care at Warren Tr
257icomi."]}]},{slug:"artist-spotlight-feven",category:"Artist Spotlight",author:"Feven",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Feven",excerpt:"Feven is a senior colorist bringing her passion for beautiful hair to NYC. Originally inspired by her experiences in Beverly Hills, she focuses on creating healthy, vibrant, and shiny color tailored to each individual client.",tags:["Colorist"],image:"/manus-storage/feven_bd8fcd84.png",imageAlt:"Feven, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"feven",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/feven",lede:"As a senior colorist operating in NYC, Feven has built a strong reputation in the beauty industry. Her journey into hair color began in Beverly Hills, where exposure to unique styles sparked her passion. She subsequently trained closely with top professionals to hone her technical skills and develop her expertise in creating beautiful hair.",sections:[{heading:"Expertise As A Senior Colorist",paragraphs:["With a growing clientele in NYC, Feven focuses on helping individuals achieve healthy, shiny, and vibrant hair. Whether clients desire a sun-kissed blonde, a rich multi-toned brunette, or a bold red, she works closely with them to craft the perfect look. Her approach is tailored to suit each personâs style and personality."]},{heading:"Passion For Client Care And City Life",paragraphs:["Feven has become a sought-after professional due to her attention to detail and commitment to her clients. She takes immense pride in her work and is deeply passionate about helping people look and feel their absolute best. When she is not working her magic in the salon, she enjoys exploring NYC, trying new restaurants, and spending quality time with her family and friends."]}]},{slug:"artist-spotlight-frank-sag-harbor",category:"Artist Spotlight",author:"Frank",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Frank",excerpt:"Frank is a seasoned professional in the hair fashion industry and a member of the Warren Tricomi luxury salon in Sag Harbor. He brings cutting-edge style and an unwavering commitment to excellence to his work.",tags:["Stylist"],image:"/manus-storage/frank-sag-harbor_eaec2aa6.png",imageAlt:"Frank, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"frank-sag-harbor",artistRole:"Stylist",locations:["Sag Harbor"],artistHref:"/artists/frank-sag-harbor",lede:"As a seasoned professional with extensive experience in the hair fashion industry, Frank has recently become a valued member of the esteemed Warren Tricomi luxury salon in Sag Harbor. Known for his warm and friendly demeanor, he is renowned for his cutting-edge style and unwavering commitment to excellence, making his work superb and reflecting his dedication to perfection.",sections:[{heading:"A seasoned stylist in hair fashion",paragraphs:["Frank brings extensive experience in the hair fashion industry to his role as a stylist at Warren Tricomi. He has recently become a valued member of the luxury salon in Sag Harbor, known for his warm and friendly demeanor. Renowned for his cutting-edge style and unwavering commitment to excellence, his work is superb and reflects a deep dedication to perfection."]},{heading:"A full-time resident of Sag Harbor",paragraphs:["As a full-time resident of Sag Harbor, Frank shares his exceptional talent, boundless creativity, and genuine passion for his craft. He embraces the simple yet powerful motto to do what you love, firmly believing that success is an inevitable outcome. His dedication to perfection and cutting-edge style define his work in the hair fashion industry at the Warren Tricomi salon."]}]},{slug:"artist-spotlight-hiedi",category:"Artist Spotlight",author:"Hiedi",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Hiedi",excerpt:"Hiedi is an NYC stylist recognized for designing hair with intention. Her precision cutting creates structure, balance, and volume, focusing on how hair grows and moves to provide lasting shapes and modern silhouettes.",tags:["Stylist"],image:"/manus-storage/hiedi_589f9224.png",imageAlt:"Hiedi, Stylist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"hiedi",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/hiedi",lede:"Meet Hiedi, an NYC stylist recognized for her ability to design hair with intention. She creates structure, balance, and volume exactly where it is needed. Her precision cutting focuses not only on how hair looks initially, but on how it grows, moves, and holds its shape over time.",sections:[{heading:"Precision cutting and design",paragraphs:["Using the haircut as a foundation, Hiedi thoughtfully incorporates extensions, relaxers, or perms when appropriate. She addresses concerns such as fine hair, lack of volume, excess bulk, or overall manageability with clarity and restraint. This design-driven approach defines her work in menâs grooming and short styles, resulting in clean, refined silhouettes."]},{heading:"Bridal styles and philosophy",paragraphs:["For bridal and special occasions, Hiedi creates timeless styles that balance elegance and longevity, remaining polished from the first moment to the last. Her philosophy is not about adding more, but about designing better. She offers a thoughtful approach to hair design for clients seeking effortless and modern looks."]}]},{slug:"artist-spotlight-hiro",category:"Artist Spotlight",author:"Hiro",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Hiro",excerpt:"Hiroyuki Araki is a New York-based senior hair stylist with over 25 years of international experience. Trained in Tokyo, he is known for precision cutting and refined Japanese techniques.",tags:["Stylist"],image:"/manus-storage/hiro-artist-smile-sweater-bw_4c7818d7.png",imageAlt:"Hiro, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"hiro",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/hiro",lede:"Hiroyuki Araki is a New York-based senior hair stylist with over 25 years of international experience. Trained in Tokyo and working with a global clientele, he is known for precision cutting and refined Japanese techniques. Fluent in English and Japanese, he offers a personalized, detail-driven experience.",sections:[{heading:"Precision Cutting and Refined Techniques",paragraphs:["Hiroyuki Araki is a senior hair stylist based in New York. With over 25 years of international experience and training in Tokyo, he works with a global clientele. He is known for his precision cutting and refined Japanese techniques."]},{heading:"International Experience",paragraphs:["His work spans editorial, runway, and high-profile events, including international fashion shows and major sporting events. Fluent in English and Japanese, he offers a personalized, detail-driven experience defined by craftsmanship, balance, and understated luxury."]}]},{slug:"artist-spotlight-jackie-2",category:"Artist Spotlight",author:"Jackie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Jackie",excerpt:"Jackie is an accomplished stylist trained by Warren Tricomi, renowned for her refined technique and meticulous approach to luxury hairdressing. She specializes in precision cuts, bespoke color, and effortlessly elegant styling.",tags:["Stylist"],image:"/manus-storage/jackie-artist-subtle-smile-bw_ed7583ee.png",imageAlt:"Jackie, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"jackie-2",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/jackie-2",lede:"Operating in NYC, Jackie is a stylist renowned for her refined technique and meticulous approach to luxury hairdressing. Trained by Warren Tricomi, she specializes in precision cuts, bespoke color, and effortlessly elegant styling that enhances each clientâs natural beauty and confidence.",sections:[{heading:"Refined Technique In Luxury Hairdressing",paragraphs:["Jackie specializes in precision cuts, bespoke color, and effortlessly elegant styling designed to enhance natural beauty and confidence. Her meticulous approach to luxury hairdressing reflects her training by Warren Tricomi. By focusing on attentive, personalized service, she ensures every appointment is a comfortable, elevated experience."]},{heading:"Advancing Craft Through Ongoing Education",paragraphs:["As a seasoned backstage stylist for fashion shows, Jackie continually advances her craft through ongoing education and trend leadership. Her commitment to excellence and attentive, personalized service ensures every appointment is a comfortable, elevated experience."]}]},{slug:"artist-spotlight-janina",category:"Artist Spotlight",author:"Janina",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Janina",excerpt:"Janina is a dedicated stylist in NYC, known for her warm demeanor and kind approach. With extensive training under Edward Tricomi, she brings precision and artistry to every client she serves.",tags:["Stylist"],image:"/manus-storage/janina-artist-polished-hair-bw_668f0302.png",imageAlt:"Janina, Stylist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"janina",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/janina",lede:"Janina serves as a dedicated stylist in NYC, where she brings precision and artistry to every client she serves. Following extensive training under the strict supervision of Edward Tricomi, she offers a warm and friendly demeanor that puts clients at ease and makes them feel comfortable.",sections:[{heading:"Expertise In Precision Styling And Artistry",paragraphs:["As a certified cosmetologist from the Carsten Institute, Janina developed a strong foundation in French cutting techniques, including bobs and long layers. Her diverse skill set encompasses scalp treatments, color corrections, balayage techniques, and creative coloring. She specializes in updos for any occasion and offers versatile blow-drying techniques, ranging from roller sets to bouncy beach waves."]},{heading:"Commitment To Optimal Hair Health",paragraphs:["Renowned for her attention to detail, adaptability, and reliability, Janina is dedicated to meeting each clientâs unique needs. Whether she is shampooing, conditioning, cutting, trimming, or straightening, her extensive knowledge of products and focus on scalp care make her a trusted advisor for achieving optimal hair health. By providing styling suggestions and conducting expert hair analyses, her versatility and commitment to excellence truly set her apart."]}]},{slug:"artist-spotlight-jari",category:"Artist Spotlight",author:"Jari",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Jari",excerpt:"Jari is a Stylist at Warren Tricomi in Greenwich. With over 15 years of experience in the beauty industry, she is passionate about ensuring every client looks and feels their absolute best.",tags:["Stylist"],image:"/manus-storage/jari_99d246a1.jpg",imageAlt:"Jari, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"jari",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/jari",lede:"Operating out of the Greenwich salon, Jari serves as a Stylist at Warren Tricomi. She brings over 15 years of experience in the beauty industry to her practice. Her passion lies in ensuring that every individual who sits in her chair looks and feels their absolute best.",sections:[{heading:"Specialized Styling Services",paragraphs:["Jari specializes in creating stunning and long-lasting blowouts, as well as expert styling, haircuts, and treatments that enhance shine and volume."]},{heading:"Expert Recommendations",paragraphs:["With her expertise, Jari can recommend the best techniques and products to help you maintain your salon-worthy look. We are excited to welcome you and provide you with her exceptional services soon."]}]},{slug:"artist-spotlight-jennifer",category:"Artist Spotlight",author:"Jennifer",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Jennifer",excerpt:"Jennifer is a licensed medical esthetician, makeup artist, and brow specialist in Greenwich with 27 years of experience. She provides brow design, lash and brow tinting, personalized skincare, and airbrushing.",tags:["Brow Artist / Esthetician/ Makeup Artist"],image:"/manus-storage/jennifer_0f22637d.jpg",imageAlt:"Jennifer, Brow Artist / Esthetician/ Makeup Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"jennifer",artistRole:"Brow Artist / Esthetician/ Makeup Artist",locations:["Greenwich"],artistHref:"/artists/jennifer",lede:"Jennifer is a licensed medical esthetician, makeup artist, and brow specialist based in Greenwich with 27 years of experience. She trained at the Derma Institute in NYC and the Burt Roth School of Makeup, focusing on personalized skincare, brow design, and airbrushing.",sections:[{heading:"Brow Design and Skincare",paragraphs:["Jennifer provides brow design, lash and brow tinting, and personalized skincare. Her background includes color correction and airbrushing techniques designed to support clients in maintaining their daily routines and preparing for special events."]},{heading:"Makeup and Ear Piercing Services",paragraphs:["Operating in Greenwich, Jennifer offers makeup services to enhance natural features. She is also a certified ear piercer, providing a measured a
257pproach to ensure a comfortable experience during the process.","With nearly three decades in the industry, Jennifer combines her training from the Derma Institute and the Burt Roth School of Makeup to deliver comprehensive aesthetic services. Her approach focuses on technique and personalized care."]}]},{slug:"artist-spotlight-joey",category:"Artist Spotlight",author:"Joey",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Joey",excerpt:"Joey is a skilled Colorist at Warren Tricomi, offering services in NYC and Sag Harbor. With extensive training from Brazil and Europe, he specializes in hair color, balayage, and styling for clients worldwide.",tags:["Hair Color","Highlights & Balayage","Haircuts & Styling"],image:"/manus-storage/joey_fb1b3d86.png",imageAlt:"Joey, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"joey",artistRole:"Colorist",locations:["New York","Sag Harbor"],artistHref:"/artists/joey",lede:"Bringing over a decade of experience to the luxury Warren Tricomi salon, Joey serves as a skilled Colorist in NYC and Sag Harbor. With a background that includes training at Vidal Sassoon London, he is known for delivering superb shades of blond through his mastery of the balayage technique.",sections:[{heading:"Expertise in hair color and balayage",paragraphs:["Joey brings extensive international training from Brazil and Europe to his role as a Colorist. His specialized education includes time at Vidal Sassoon London, shaping his approach to hair color and styling. He is particularly recognized for his skill in the balayage technique, creating superb shades of blond for his clients. Beyond color, he provides haircuts for all textures, lengths, and shapes, alongside glamorous updos for brides and special occasions."]},{heading:"Service in NYC and Sag Harbor",paragraphs:["Operating across Warren Tricomi locations in NYC and Sag Harbor, Joey attracts clients from all over the world. His work has been recognized with two Emmy award nominations. During consultations, he carefully listens to client wishes, utilizing only the best professional products and tools to ensure long-lasting results."]}]},{slug:"artist-spotlight-jolanta",category:"Artist Spotlight",author:"Jolanta",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Jolanta",excerpt:"Jolanta is a highly experienced and skilled colorist who has been working at the Warren Tricomi luxury salon for over 20 years. She began her career in Europe and is known for her patient approach.",tags:["Colorist"],image:"/manus-storage/jolanta_6aaa60ea.png",imageAlt:"Jolanta, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"jolanta",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/jolanta",lede:"Jolanta is a highly experienced and skilled colorist who has been working at the Warren Tricomi luxury salon for over 20 years. She began her career in Europe and has continued to train and refine her skills at our salon, known for her warm and patient approach to conducting color consultations.",sections:[{heading:"Expert Color Consultations and Blends",paragraphs:["Jolanta is a highly experienced and skilled colorist who has been working at the Warren Tricomi luxury salon for over 20 years. She began her career in Europe and has continued to train and refine her skills at our salon. Jolanta is known for her warm and patient approach to conducting color consultations, and her signature blend of colors creates a natural and elegant look."]},{heading:"Maintaining Beautiful and Shiny Hair",paragraphs:["She is highly experienced in delivering the desired color and is an expert in ensuring the hair is left in beautiful and shiny condition. Jolanta only uses and recommends the best professional products and tools, and her recommendations will help you maintain your color and hair condition for long-lasting results. If you are looking for a skilled and experienced colorist who can help you achieve your desired look, Jolanta is an excellent choice."]}]},{slug:"artist-spotlight-joni",category:"Artist Spotlight",author:"Joni",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Joni",excerpt:"Joni is a stylist with over twenty years of industry experience. Based at the Warren Tr
257icomi Greenwich salon, she provides haircuts for men and women, blowouts, and tape-in extensions.",tags:["Stylist"],image:"/manus-storage/joni_07673d8c.jpg",imageAlt:"Joni, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"joni",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/joni",lede:"Operating from the Greenwich salon, Joni is a Warren Tricomi stylist with more than twenty years of professional experience. She provides men's and women's haircuts, blowouts, tape-in extensions, and Keratin treatments.",sections:[{heading:"Professional Background",paragraphs:["Joni began her career at Warren Tricomi and brings over twenty years of industry experience to her practice. She currently serves clients as a stylist at the Greenwich salon location."]},{heading:"Haircuts and Styling",paragraphs:["She provides haircuts for men and women, alongside blowouts designed to leave hair smooth and glossy. Joni also offers consultations with Warren Tricomi colorists to assist clients with their overall look.","At the Greenwich location, Joni performs tape-in hair extensions and Keratin treatments. She incorporates conditioning treatments and professional products to support home maintenance."]}]},{slug:"artist-spotlight-julia",category:"Artist Spotlight",author:"Julia",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Julia",excerpt:"Julia is a Stylist at Warren Tricomi in NYC. With a two-decade tenure, she provides haircuts characterized by remarkable longevity and finesse across all hair types.",tags:["Stylist"],image:"/manus-storage/julia_b2c2c259.png",imageAlt:"Julia, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"julia",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/julia",lede:"Serving clients in NYC, Julia brings expertise to the Warren Tricomi salon. As a Stylist with a two-decade tenure, she has established herself as a master of her trade. Her approach ensures that every client receives a stunning finish, demonstrating her ability to accomplish any look with finesse.",sections:[{heading:"Mastering the art of styling",paragraphs:["Julia is recognized as a master of her trade within the Warren Tricomi salon. Her background allows her to handle any texture, length, or style with finesse. She delivers finished haircuts that are visually stunning and maintain their shape with remarkable longevity."]},{heading:"Two decades of excellence in NYC",paragraphs:["Operating out of the NYC location, Julia has built a two-decade tenure at the Warren Tricomi salon. This expertise provides a strong foundation for her work as a Stylist. The salon eagerly awaits your visit, offering the opportunity to experience her styling capabilities firsthand."]}]},{slug:"artist-spotlight-julie",category:"Artist Spotlight",author:"Julie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Julie",excerpt:"Julie is a highly skilled hair stylist at the luxurious Warren Tricomi Salon in NYC. With over ten years of experience, she provides on-trend haircuts and blowouts for all hair textures and lengths.",tags:["Stylist"],image:"/manus-storage/julie_dc09d87a.png",imageAlt:"Julie, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"julie",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/julie",lede:"At the luxurious Warren Tricomi Salon in NYC, Julie serves as a highly skilled hair stylist with over ten years of experience. She is known for executing on-trend haircuts with excellence and delivering blowouts that leave hair feeling silky and shiny. Her knowledge allows her to work with all hair textures and lengths.",sections:[{heading:"On-trend haircuts and styling",paragraphs:["Julie, a highly skilled hair stylist, has worked at the luxurious Warren Tricomi Salon in NYC for over ten years. Her haircuts are always on-trend and executed with excellence."]},{heading:"Silky blowouts and long-lasting results",paragraphs:["When it comes to blowouts, Julie's expertise leaves hair feeling silky and shiny with long-lasting results. She is knowledgeable and experienced in working with all hair textures and lengths. The salon looks forward to having you visit soon."]}]},{slug:"artist-spotlight-kazue",category:"Artist Spotlight",author:"Kazue",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Kazue",excerpt:"Kazue is a precision haircut stylist who began her career at Warren Tr
257icomi. Trained in Japan, she offers personalized looks for all hair types. With extensive fashion show experience, Kazue delivers tailored cuts and hair care advice.",tags:["Stylist"],image:"/manus-storage/kazue-artist-polished-hair-bw_ddd5f041.png",imageAlt:"Kazue, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"kazue",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/kazue",lede:"Meet Kazue, a precision haircut stylist trained in Japan who began her career at the prestigious Warren Tricomi luxury salon decades ago. Drawing on her extensive background in fashion shows, she crafts beautiful, personalized looks tailored to each client. Kazue caters to all hair types and textures, ensuring every individual leaves looking and feeling their absolute best.",sections:[{heading:"Precision Haircuts And Personalized Styling",paragraphs:["As a dedicated stylist, Kazue takes the time to understand the needs and desires of her clients. Her precision haircuts are perfectly tailored to individual features and style. She ensures that every cut meets her standards. Her tailored blow dryers further enhance the experience, leaving hair looking and feeling its best."]},{heading:"Expert Hair Care Advice",paragraphs:["Beyond her styling expertise, Kazue is knowledgeable about the best treatments for maintaining healthy hair. She provides priceless advice on how to properly care for your hair at home, ensuring it remains shiny and beautiful. Clients can trust that they are in the hands of a professional passionate about creating uniquely tailored looks."]}]},{slug:"artist-spotlight-kena",category:"Artist Spotlight",author:"Kena",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Kena",excerpt:"Kena is a talented stylist and colorist who began her impressive career in 1997. With over two decades of experience in the beauty industry, she provides exceptional service to clients in NYC.",tags:["Colorist"],image:"/manus-storage/kena_762cc9bd.png",imageAlt:"Kena, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"kena",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/kena",lede:"Operating out of the NYC location, Kena is a highly sought-after professional known for her keen eye for detail. Since beginning her career in 1997, she has honed her skills in hair artistry. By staying current with the latest trends and techniques, Kena creates stunning looks that enhance the natural beauty of every client.",sections:[{heading:"Expert colorist and dedicated stylist",paragraphs:["Kena is a talented stylist and colorist with an impressive career that began in 1997. With over two decades of experience in the beauty industry, she has honed her skills and developed a keen eye for detail. Her passion for hair artistry and commitment to staying current with the latest trends and techniques allow her to create stunning looks that enhance her clientsâ natural beauty."]},{heading:"Delivering exceptional service in NYC",paragraphs:["Available at the NYC location, Kena brings a warm personality and dedication to exceptional service. This approach ensures that every client leaves feeling confident and satisfied. Whether providing a fresh cut, vibrant color, or a complete transformation, Kena remains dedicated to bringing each clientâs vision to life."]}]},{slug:"artist-spotlight-kenneth",category:"Artist Spotlight",author:"Kenneth",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Kenneth",excerpt:"Kenneth is a luxury hair stylist with over twenty years of training. Offering technical mastery across all hair textures, he provides personalized consultations to create elegant, long-lasting results in New York and Sag Harbor.",tags:["Menâs Grooming","Haircuts & Styling","Extensions & Hair Replacement"],image:"/manus-storage/kenneth_08a22f64.jpg",imageAlt:"Kenneth, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"kenneth",artistRole:"Stylist",locations:["New York","Sag Harbor"],artistHref:"/artists/kenneth",lede:"With more than twenty years of advanced training from industry academies, Kenneth brings technical mastery to his role as a stylist in New York and Sag Harbor. Known for precision cuts and couture color, he is calm, attentive, and meticulous, consistently delivering elegant results across all hair textures.",sections:[{heading:"Precision Styling And Technical Mastery",paragraphs:["Kenneth Edgerton Jr. is a luxury hair stylist known for precision cuts, couture color like balayage and color-melting, bespoke blowouts, refined updos, and period styling. He holds Master Educator and advanced period-styling certifications, along with expertise in extensions and hair replacement. His extensive training includes Dudley Cosmetology University, Vidal Sassoon Academy, and Aveda, allowing him to work with straight, wavy, curly, and coily textures."]},{heading:"A Meticulous Approach",paragraphs:["Operating across New York and Sag Harbor, Kenneth offers a calm and attentive experience. He prioritizes personalized consultations, taking the time to ensure that each look is elegant and long-lasting. His professional credits span television and streaming platforms, including Fo
257x 5, Americaâs Next Top Model, and Netflix, reflecting his refined skill set."]}]},{slug:"artist-spotlight-laara-raynier",category:"Artist Spotlight",author:"Laara",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Laara",excerpt:"British-born Laara is a haircutter and stylist known for her precision bobs and tailored cuts. With forty years of experience, she brings her expertise to the Warren Tricomi salon.",tags:["Stylist"],image:"/manus-storage/laara-raynier_26f592ba.jpg",imageAlt:"Laara, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"laara-raynier",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/laara-raynier",lede:"British-born Laara is a haircutter and stylist recognized for her precision bobs, short haircuts, layered styles, and menâs grooming. With forty years of experience, she evaluates each clientâs face shape to craft a customized haircut. Her expertise establishes her as a precision haircutter at Warren Tricomi.",sections:[{heading:"Haircutter and styling background",paragraphs:["Laara has built her career over forty years working in salons, including Barneyâs and Warren Tricomi. She focuses on precision bobs, short haircuts, layered styles, and menâs grooming. She evaluates each clientâs face shape to create a customized haircut designed for their lifestyle."]},{heading:"Education and editorial portfolio",paragraphs:["In addition to her salon work in NYC and Greenwich, Laara founded Mastercutter Academy in 2010, offering private haircutting classes. Her editorial portfolio features work in Vogue, Elle, Allure, Marie Claire, Modern Salon, Behind the Chair, and Aesthetica, alongside her contributions to N.Y. Fashion Week.","Her focus on precision haircutting relies on an understanding of individual face shapes and hair textures. She applies this expertise to her work at Warren Tricomi, offering tailored haircuts for each client."]}]},{slug:"artist-spotlight-lira-gw",category:"Artist Spotlight",author:"Lira",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Lira",excerpt:"Lira is an expert colorist in Greenwich with a background in European salons. With a career spanning decades, she is known as a hair painter who expertly blends traditional and contemporary techniques for exceptional results.",tags:["Colorist"],image:"/manus-storage/lira-gw_934cea05.jpg",imageAlt:"Lira, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"lira-gw",artistRole:"Colorist",locations:["Greenwich"],artistHref:"/artists/lira-gw",lede:"Drawing on a background in European salons and exclusive training in high-end establishments, Lira is a dedicated colorist based in Greenwich. Her career spans decades, featuring prominent roles in top NYC salons. Renowned for her innovative approach to style, she brings extensive expertise to her work, consistently achieving the desired looks of her clients through a highly collaborative approach.",sections:[{heading:"Expert colorist and hair painter",paragraphs:["Earning the title of hair painter, Lira specializes in working with diverse hair textures to create exceptional results. Her expertise lies in her ability to seamlessly blend shades that complement every hair tone. She also skillfully shapes hair to add body and movement. Her passion for blending traditional and contemporary techniques allows her to consistently produce exceptional outcomes that make a lasting impression. This meticulous attention to detail sets her apart."]},{heading:"A visionary approach in Greenwich",paragraphs:["Operating out of Greenwich, Lira combines her creative flair with a visionary approach to styling. Her background in European salons and exclusive training in high-end establishments inform her refined methods. Having held prominent roles in top NYC salons, she brings a wealth of experience to her current practice. Her collaborative approach ensures that she achieves the desired looks of her clients, cementing her status as an expert colorist with a career spanning decades."]}]},{slug:"artist-spotlight-lorgie",category:"Artist Spotlight",author:"Lorgie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Lorgie",excerpt:"Lorgie is a Stylist in Greenwich with over seven years of training at Warren Tr
257icomi. Specializing in stunning blondes and fashion-forward styling, Lorgie prioritizes hair health while fulfilling client desires.",tags:["Haircuts & Styling","Blowouts","Makeup Artistry"],image:"/manus-storage/lorgie_6f938985.jpg",imageAlt:"Lorgie, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"lorgie",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/lorgie",lede:"Operating from the Greenwich location, Lorgie serves as a Stylist with a strong foundation in creative hair design. With over seven years of training at Warren Tricomi, Lorgie brings extensive experience as a senior colorist and stylist. The focus remains on delivering exceptional results that prioritize the fundamental health of the hair.",sections:[{heading:"Specializing in stunning blondes",paragraphs:["As a highly creative professional, Lorgie excels in providing specialized services including haircuts, styling, and makeup artistry. A particular focus is placed on creating stunning blondes, utilizing extensive experience as a senior colorist. The approach to blowouts and hair styles results in sophisticated looks that offer both volume and fashion-forward appeal. Each service is tailored to ensure that the final result represents exactly what the client envisions."]},{heading:"Prioritizing hair health",paragraphs:["Throughout more than seven years of training with Warren Tricomi, Lorgie has developed a comprehensive understanding of hair care. The commitment to the craft goes beyond simply creating beautiful styles, as there is a dedication to fulfilling all client desires. Every appointment in Greenwich is conducted with a priority on maintaining the health of the hair, ensuring that the sophisticated results are both stunning and structurally sound."]}]},{slug:"artist-spotlight-maddy-sag-harbor",category:"Artist Spotlight",author:"Maddy",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Maddy",excerpt:"Maddy is a makeup artist located in Sag Harbor with experience in different skin types and tones.",tags:["Makeup Artist"],image:"/manus-storage/maddy-sag-harbor_b1e1d5e1.jpg",imageAlt:"Maddy, Makeup Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"maddy-sag-harbor",artistRole:"Makeup Artist",locations:["Sag Harbor"],artistHref:"/artists/maddy-sag-harbor",lede:"Maddy is a makeup artist operating in Sag Harbor. Maddy provides special effects makeup and wedding makeup services, tailoring techniques to different skin types and tones.",sections:[{heading:"Special Effects and Wedding Makeup",paragraphs:["Maddy provides makeup services in Sag Harbor. With experience across different skin types and tones, Maddy tailors techniques to the individual client."]},{heading:"Bridal Services",paragraphs:["Maddy offers wedding makeup services designed for bridal clients. These services focus on adapting techniques to individual skin types and tones.","In addition to wedding makeup, Maddy provides special effects makeup design. This service relies on attention to detail to execute specific visual designs."]}]},{slug:"artist-spotlight-maral",category:"Artist Spotlight",author:"Maral",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Maral",excerpt:"Maral is a Makeup and Brow Artist based in NYC, specializing in eyebrow shaping and makeup application.",tags:["Makeup + Brow Artist"],image:"/manus-storage/maral_6858226f.png",imageAlt:"Maral, Makeup + Brow Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"maral",artistRole:"Makeup + Brow Artist",locations:["New York"],artistHref:"/artists/maral",lede:"Operating out of NYC, Maral is a Makeup and Brow Artist focused on eyebrow shaping and makeup application.",sections:[{heading:"Professional Background",paragraphs:["Maral is an experienced professional working in makeup application and eyebrow shaping."]},{heading:"Approach to Artistry",paragraphs:["She brings energy and a focus on her crafts to her appointments.","Maral aims to provide an uplifting experience during her makeup and brow sessions."]}]},{slug:"artist-spotlight-mariluz",category:"Artist Spotlight",author:"MariLuz",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: MariLuz",excerpt:"MariLuz is a Nail Technician in NYC with over two decades of experience in the salon industry, focusing on detailed nail design.",tags:["Nail Technician"],image:"/manus-storage/mariluz_d1a5de1f.jpg",imageAlt:"MariLuz, Nail Technician at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"mariluz",artistRole:"Nail Technician",locations:["New York"],artistHref:"/artists/mariluz",lede:"Operating out of NYC, MariLuz is a Nail Technician with over two decades of experience in the salon industry. Her work focuses on precision and detailed nail design.",sections:[{heading:"Salon Nail Care",paragraphs:["MariLuz brings extensive knowledge to her craft, providing manicures and pedicures. Her work in the salon industry over the past two decades is characterized by a focus on detail and technique."]},{heading:"Professional Practice in NYC",paragraphs:["Based in NYC, MariLuz provides nail services with an emphasis on professionalism. Her approach relies on her extensive knowledge of the craft, focusing on technique and durability.","Throughout her career, MariLuz has focused on developing her skills in nail care. She applies her experience to create structured and lasting designs."]}]},{slug:"artist-spotlight-michelle",category:"Artist Spotlight",author:"Michelle",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Michelle",excerpt:"Michelle is a seasoned stylist and colorist at the Warren Tricomi salon in Sag Harbor. Known for her warm demeanor, she caters to all ages and hair textures with her extensive experience in the beauty industry.",tags:["Stylist"],image:"/manus-storage/michelle-artist-polished-hair-bw_fc4a29ab.png",imageAlt:"Michelle, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"michelle",artistRole:"Stylist",locations:["Sag Harbor"],artistHref:"/artists/michelle",lede:"Michelle is a stylist and colorist at the Warren Tricomi luxury salon located in Sag Harbor. With years of experience in the beauty industry and additional training, she is known for her warm and friendly demeanor, skillfully catering to clients of all ages and hair textures.",sections:[{heading:"Expertise in styling and hair textures",paragraphs:["At the Warren Tricomi luxury salon in Sag Harbor, Michelle is a seasoned stylist and colorist known for her warm and friendly demeanor. Drawing on years of experience in the beauty industry and additional training, she is skilled in catering to individuals of all ages and hair textures."]},{heading:"Specializing in organic straightening treatments",paragraphs:["Beyond her general styling capabilities, Michelle specializes in an organic straightening treatment that was featured in Hamptons magazine. She looks forward to seeing clients at the Sag Harbor location soon."]}]},{slug:"artist-spotlight-monika",category:"Artist Spotlight",author:"Monika",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Monika",excerpt:"Monika is a dedicated Warren Tricomi Stylist based in NYC. Her passion for hair drives her rewarding career, where she particularly enjoys crafting effortless beach waves and creative hairstyles that bring happiness to her clients.",tags:["Stylist"],image:"/manus-storage/monika-artist-editorial-bw_4b411088.png",imageAlt:"Monika, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"monika",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/monika",lede:"Monika serves as a talented Stylist at Warren Tricomi in NYC. She has transformed a passion for working with hair into a rewarding career focused on bringing happiness to others. Monika finds great joy in helping clients express their unique individuality through their hair.",sections:[{heading:"A Passion for Hair",paragraphs:["As a dedicated Stylist, Monika brings significant passion to her work at Warren Tricomi. Her interest in hair has served as a primary motivator, allowing her to build a rewarding career focused on bringing happiness to others. This deep commitment is evident in her approach to every client who visits her in NYC."]},{heading:"Creative Hairstyles and Individuality",paragraphs:["Monika particularly enjoys crafting effortless beach waves and creative hairstyles for her clients. What truly inspires her is the opportunity to help individuals express their unique individuality through their hair."]}]},{slug:"artist-spotlight-nafisah",category:"Artist Spotlight",author:"Nafisah",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Nafisah",excerpt:"Nafisah is a Stylist Extension Expert based in New York with over twenty years of experience working with various hair textures.",tags:["Stylist Extension Expert"],image:"/manus-storage/nafisah_29c525a3.jpg",imageAlt:"Nafisah, Stylist Extension Expert at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"nafisah",artistRole:"Stylist Extension Expert",locations:["New York"],artistHref:"/artists/nafisah",lede:"Nafisah brings over twenty years of experience in hairstyling and hair extensions to her clients in New York. She has extensive training in various techniques and works with all hair textures as a Stylist Extension Expert.",sections:[{heading:"Hair extension techniques",paragraphs:["Nafisah provides a variety of hair extension services, including keratin bond extensions, tape-ins, beaded row extensions, traditional sew-ins, I-tips, and wigs. She applies her understanding of different hair textures to tailor these techniques to her clients."]},{heading:"Clientele",paragraphs:["Over her career, Nafisah has styled clients such as Michelle Williams, Debbie Allen, Abby Phillip, and Misty Copeland. Her experience spans working with individuals across the entertainment and media industries.","Nafisahâs hairstyling work has been featured in several fashion and lifestyle publications. Her portfolio includes contributions to Vogue, Elle, Harperâs Bazaar, Marie Claire, Dazed, and Essence."]}]},{slug:"artist-spotlight-naru",category:"Artist Spotlight",author:"Naru",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Naru",excerpt:"Naru is a highly experienced stylist and straightening treatments specialist with over two decades of loyal service at the Warren Tricomi luxury salon, catering to women, men, and students.",tags:["Stylist"],image:"/manus-storage/naru_0cd2f9ad.png",imageAlt:"Naru, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"naru",artistRole:"Stylist",locations:["New York","Greenwich"],artistHref:"/artists/naru",lede:"Naru is a highly experienced stylist and straightening treatments specialist with over two decades of loyal service at the Warren Tricomi luxury salon. She caters to women, men, and students and has received extensive training in Japan and the US. Her nurturing qualities and love for beauty are evident in her work.",sections:[{heading:"A Highly Experienced Stylist",paragraphs:["Naru is a highly experienced stylist and straightening treatments specialist with over two decades of loyal service at the Warren Tricomi luxury salon. She caters to women, men, and students and has received extensive training in Japan and the US. Her nurturing qualities and love for beauty are evident in her work, and she always stays up-to-date on the latest trends in the industry."]},{heading:"Sharing Knowledge and Care",paragraphs:["Naru greets clients with kindness and warmth, sharing her knowledge of the best products and tools available to ensure the youthfulness of hair. She is a skilled and caring stylist."]}]},{slug:"artist-spotlight-nate",category:"Artist Spotlight",author:"Nate",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Nate",excerpt:"Nate is a senior stylist with over two decades of experience in the industry. She began her career at the Warren Tricomi salon in NYC at the Plaza Hotel.",tags:["Stylist"],image:"/manus-storage/nate_1b4876a1.png",imageAlt:"Nate, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"nate",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/nate",lede:"Nate is a senior stylist with over two decades of experience in the industry. She began her career at the Warren Tricomi salon in NYC at the Plaza Hotel. During consultations, Nate evaluates clientsâ needs and recommends approaches for their hair type.",sections:[{heading:"Expertise and Treatments",paragraphs:["Nate is trained in hair extensions, straightening treatments, and deep conditioning treatments. She provides haircuts and blowouts for all hair textures and lengths, including curly and wavy hair. She developed her own potion, which is available at Warren Tricomi locations."]},{heading:"Collaborative Approach",paragraphs:["Nate works closely with the salonâs colorists to develop a comprehensive look for each client.","With a background spanning more than twenty years, Nate brings a wealth of knowledge to her styling services at Warren Tr
257icomi."]}]},{slug:"artist-spotlight-nina",category:"Artist Spotlight",author:"Nina",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Nina",excerpt:"Senior hair stylist Nina began her professional career over 15 years ago. She specializes in precision haircuts, flawless blow drys, and serving the distinctive style of each client at Warren Tricomi.",tags:["Stylist"],image:"/manus-storage/nina_1eb820f1.png",imageAlt:"Nina, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"nina",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/nina",lede:"Born and raised in New York City, senior hair stylist Nina began her professional career over 15 years ago. After completing school, she trained under master stylists and salon owners at The Minardiâs Salon and Warren Tricomi. Today, she applies her diverse training and mentorship to serve the distinctive, individual style of each of her clients.",sections:[{heading:"Mastering Precision Haircuts",paragraphs:["Nina has perfected the art of precision short and long haircuts, as well as dry cutting for fine to thick hair. Her training under salon owners and master stylists provided diverse mentorship that inspired her approach. Staying in front of the latest trends, she focuses on serving the distinctive style of each client and providing a wonderful upscale experience."]},{heading:"Specialized Hair Services",paragraphs:["Nina is an expert at menâs haircuts and bridal hair. Having curly hair herself, she has a special affinity for curly hair. She believes that a flawless blow dry is essential to the perfect haircut. As one of the most sought-after hair stylists in Manhattan, Nina offers fabulous cuts and blow drys at Warren Tricomi on the Upper East Side."]}]},{slug:"artist-spotlight-noel",category:"Artist Spotlight",author:"Noel",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Noel",excerpt:"Noel is a licensed beauty professional with over forty years of experience in nails and esthetics. As a dedicated manicurist in Greenwich, she focuses on delivering meticulous treatments that address the body, mind, and spirit.",tags:["Manicurist"],image:"/manus-storage/noel_e44a75f7.png",imageAlt:"Noel, Manicurist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"noel",artistRole:"Manicurist",locations:["Greenwich"],artistHref:"/artists/noel",lede:"Operating as a manicurist in Greenwich, Noel brings over forty years of experience to her role as a licensed beauty professional. Her extensive background encompasses specialized care in nails and esthetics, allowing her to deliver treatments that are carefully tailored to the preferences of her clients.",sections:[{heading:"Specializing in nails and esthetics",paragraphs:["As an accomplished nail technician, Noel is known for her meticulous attention to detail and unwavering commitment to client satisfaction. Her expertise includes manicures, pedicures, and skin and body care services such as underarm, full arm, leg, and lip waxing. By blending classic and contemporary styles, she provides personalized suggestions based on her clients' preferences."]},{heading:"Addressing the body, mind, and spirit",paragraphs:["Noel is passionate about delivering treatments that address not only the body but also the mind and spirit of her clients. With decades of experience, she ensures that her services in Greenwich maintain the highest standards of cleanliness and organization, reflecting her dedication as a licensed beauty professional."]}]},{slug:"artist-spotlight-nozomi",category:"Artist Spotlight",author:"Nozomi",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Nozomi",excerpt:"Nozomi is a highly skilled and experienced stylist at Warren Tricomi luxury salon. With over a decade of experience, she blends techniques and treatments to keep hair healthy, young, and shiny.",tags:["Stylist"],image:"/manus-storage/nozomi_157af0eb.png",imageAlt:"Nozomi, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"nozomi",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/nozomi",lede:"With over a decade of experience, Nozomi has honed her craft in Japan and New York City. As a stylist at Warren Tr
257icomi luxury salon, she is highly valued for her expertise and provides a wide range of services to keep hair looking its best.",sections:[{heading:"Expertise in comprehensive styling services",paragraphs:["Nozomi is well-rounded in many categories of services, including haircuts for all textures, extensions, updos, bridal hair, and professional hair straightening treatments. She is able to blend techniques and treatments to keep hair healthy, young, and shiny."]},{heading:"Professional product knowledge",paragraphs:["Nozomi is knowledgeable about the best professional products and tools to achieve desired looks both in the salon and at home. She provides a wide range of services and is a great choice for your hair care needs."]}]},{slug:"artist-spotlight-nyree",category:"Artist Spotlight",author:"Nyree",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Nyree",excerpt:"Nyree is a dedicated Stylist in NYC. With over two decades of experience in the luxury salon industry, she offers stunning haircuts and blowouts tailored to each client.",tags:["Stylist"],image:"/manus-storage/nyree_83417777.jpg",imageAlt:"Nyree, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"nyree",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/nyree",lede:"Operating out of the NYC location, Nyree brings over two decades of luxury salon experience to her role as a Stylist. Known for a warm and friendly approach, she provides clients with haircuts and blowouts that align with the latest trends. Her exceptional skills ensure that every salon visit results in a beautifully styled and updated look.",sections:[{heading:"Expertise in haircuts and blowouts",paragraphs:["As a Stylist with extensive tenure in the luxury salon industry, Nyree focuses on delivering haircuts and blowouts that are both stunning and contemporary. Her blowouts are specifically recognized for their long lasting effects, leaving hair shiny and perfectly styled. By carefully following the latest trends, she ensures that each client receives a fresh and modern appearance."]},{heading:"Specializing in wavy and curly textures",paragraphs:["Beyond her standard styling services, Nyree specializes in working with wavy and curly hair textures. She excels in providing hair extensions for various lengths and textures, as well as performing expert straightening treatments. Her warm and friendly demeanor makes her a delight to work with, providing a welcoming environment where clients can experience her exceptional skills firsthand."]}]},{slug:"artist-spotlight-oscar",category:"Artist Spotlight",author:"Oscar",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Oscar",excerpt:"Oscar is a stylist who has been working at the Warren Tricomi luxury salon for over 20 years. He is known for his patience and warmth with clients.",tags:["Stylist"],image:"/manus-storage/oscar_62cd4f90.png",imageAlt:"Oscar, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"oscar",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/oscar",lede:"Oscar is a stylist who has been working at the Warren Tricomi luxury salon for over 20 years. He is known for his patience and warmth, and is able to work with all types of hair textures to create beautiful, silky blowouts.",sections:[{heading:"Stylist For Silky Blowouts",paragraphs:["Oscar is a stylist who has been working at the Warren Tricomi luxury salon for over 20 years. He is known for his patience and warmth, and is able to work with all types of hair textures to create beautiful, silky blowouts."]},{heading:"Collaborating Effectively With Colorists",paragraphs:["Additionally, he is able to collaborate effectively with colorists to achieve the desired look for his clients."]}]},{slug:"artist-spotlight-oz",category:"Artist Spotlight",author:"Oz",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Oz",excerpt:"With over three and a half decades of dedicated service to the art of hairstyling, Oz is a true master of the craft who now weaves his magic in the Upper East Side of NYC.",tags:["stylist"],image:"/manus-storage/oz-artist-rested-eyes-bw_18ad36ff.png",imageAlt:"Oz, stylist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"oz",artistRole:"stylist",locations:["New York"],artistHref:"/artists/oz",lede:"With over three and a half decades of dedicated service to the art of hairstyling, Oz is a true master of the craft. He embarked on his journey in the world of hair on the sun-kissed Mediterranean shores, honing his skills and developing a deep appreciation for the artistry in Istanbul at the age of thirteen.",sections:[{heading:"Decades of Hairstyling Service",paragraphs:["Oz brings over three and a half decades of dedicated service to the art of hairstyling. He embarked on his journey in the world of hair on the sun-kissed Mediterranean shores, where he honed his skills and developed a deep appreciation for the artistry in Istanbul at the age of thirteen."]},{heading:"Upper East Side Stylist",paragraphs:["Today, Oz continues to weave his magic in the heart of the Upper East Side of New York City. Working as a stylist in this location, he draws inspiration from his soulful experiences."]}]},{slug:"artist-spotlight-rae",category:"Artist Spotlight",author:"Rae",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Rae",excerpt:"Meet Rae, a Stylist in Greenwich. Trained under Edward Tricomi, she became a Master Stylist by age 21. Rae offers hair cutting, styling, and elegant updo services.",tags:["Stylist"],image:"/manus-storage/rae_0f84313a.jpg",imageAlt:"Rae, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"rae",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/rae",lede:"Warren Tricomi proudly presents Rae, an Expert Senior Hairstylist and Master Stylist based in Greenwich. Having trained under the renowned Edward Tricomi, Rae specializes in hair cutting and styling for men, women, and children.",sections:[{heading:"Styling And Hair Care Services",paragraphs:["Rae provides a range of services, including hair cutting, Keratin treatments, hair care treatments, bridal styling, and elegant updos. Certified in tape-in extensions and extension cutting, she ensures all hair needs are met. As an Ambassador for the Kerastase product line, Rae brings knowledge to her craft. She is dedicated to teaching clients how to care for their hair at home, making maintenance enjoyable and straightforward."]},{heading:"A Distinguished Career In Greenwich",paragraphs:["Throughout her career, Rae has styled numerous celebrities and high-profile clients across Warren Tricomi locations, including East Hampton, Greenwich, and The Plaza Hotel. Beyond her initial training, she has furthered her education through classes with industry leaders. Despite her accomplishments, Rae remains approachable and friendly. She consistently gives 120% to each client, offering an exceptional experience highlighted by her expertise and warm personality."]}]},{slug:"artist-spotlight-renata-nyc",category:"Artist Spotlight",author:"Renata",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Renata",excerpt:"Renata is a stylist in NYC with seventeen years of experience in the hair industry.",tags:["Stylist"],image:"/manus-storage/renata-nyc_a276519f.jpg",imageAlt:"Renata, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"renata-nyc",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/renata-nyc",lede:"Renata is a stylist in NYC with seventeen years of experience. Her approach is built upon specialized education in hair styling and color.",sections:[{heading:"Professional Background",paragraphs:["Renata has worked as a hairstylist for seventeen years. She has completed education from Vidal Sassoon in haircutting, along with training in LâOreal and Wella coloring."]},{heading:"Hair Chromatics and Services",paragraphs:["Specializing in hair chromatics, Renata offers services that include Balayage, Ombre, Sombre, and Highlights.","Examples of Renata's work can be viewed on Instagram at @renatahairues."]}]},{slug:"artist-spotlight-ric-nyc",category:"Artist Spotlight",author:"Ric",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Ric",excerpt:"Ric is a stylist who provides menâs grooming, haircuts, and editorial styling in NYC and Sag Harbor. His background spans global fashion centers, offering expertise to an international clientele.",tags:["Menâs Grooming","Haircuts & Styling","Editorial Styling"],image:"/manus-storage/ric-nyc_499aaa88.jpg",imageAlt:"Ric, Stylist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"ric-nyc",artistRole:"Stylist",locations:["New York","Sag Harbor"],artistHref:"/artists/ric-nyc",lede:"Ric brings decades of experience to his role as a stylist. His career began in Sydney and expanded to London before establishing a presence in NYC. Today, he offers his specialized expertise in menâs grooming, haircuts, and editorial styling to clients in NYC and Sag Harbor.",sections:[{heading:"Menâs Grooming and Editorial Styling",paragraphs:["Ric developed his foundational skills training at his brotherâs Sydney salon before advancing to work in London. By the time he turned 20, he was collaborating with major publications like British Vogue. His editorial styling has since appeared on the covers and pages of Vogue, Marie Claire, Elle, Cosmopolitan, GQ, and Glamour for over 40 years."]},{heading:"Global Reach",paragraphs:["After establishing himself in NYC at the Pipino Buccheri salon, Ric opened two eponymous Manhattan salons and expanded to locations like Miami and the Bryant Park Hotel. He continues to host international pop-up events through the PIPINO POP IN series alongside hospitality and brand partners.","His clientele spans women, men, and children globally. Over the course of his career, he has provided styling services to a diverse range of clients across multiple continents."]}]},{slug:"artist-spotlight-rita",category:"Artist Spotlight",author:"Rita",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Rita",excerpt:"Rita is a dedicated Warren Tricomi makeup artist based in Sag Harbor. With many years of experience in fashion shows and print, she provides flawless looks for bridal events and stunning evening makeup.",tags:["Makeup Artist"],image:"/manus-storage/rita_9372badb.jpg",imageAlt:"Rita, Makeup Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"rita",artistRole:"Makeup Artist",locations:["Sag Harbor"],artistHref:"/artists/rita",lede:"Operating out of the Warren Tricomi salon in Sag Harbor, Rita is a dedicated makeup artist who has been a part of the fashion show and print industry for many years. She brings a warm and passionate approach to her work, delivering flawless makeup looks for bridal and special events, as well as stunning evening makeup for a night out.",sections:[{heading:"Expertise in fashion and print makeup",paragraphs:["Rita is an exceptional makeup artist who has been a part of the fashion show and print industry for many years. Her talent and expertise have graced numerous high-profile events and photo shoots. She is dedicated to delivering flawless makeup looks, resulting in impeccable pictures and an unforgettable beauty experience."]},{heading:"Bridal events and evening makeup services",paragraphs:["As a warm and passionate artist based in Sag Harbor, Rita is dedicated to delivering flawless makeup looks for bridal and special events, as well as creating stunning evening makeup for a night out. Clients can choose to visit the Warren Tricomi salon or enjoy the convenience of having Rita come to their home, trusting that her skills will result in impeccable pictures."]}]},{slug:"artist-spotlight-roque",category:"Artist Spotlight",author:"Roque",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Roque",excerpt:"Roque is a stylist based in NYC. Originally a Cuban refugee, he developed a passion for hairdressing early on. He now works in the editorial fashion industry.",tags:["Stylist"],image:"/manus-storage/roque-refined-low-glow_722f1874.png",imageAlt:"Roque, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"roque",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/roque",lede:"Operating in NYC, Roque is a stylist who has built an editorial career in the industry. He immigrated to the United States as a Cuban refugee and discovered his passion for beautifying women through his mother and sisters. Today, he works with figures such as Mariah Carey, Catherine Zeta-Jones, Hilary Duff, and Camilla Belle.",sections:[{heading:"Early influences",paragraphs:["Roque immigrated to the United States with his family. His mother and his two sisters became his muses during his childhood. Roque developed a deep passion for beautifying them. Pursuing his talent for hairdressing, he moved to NYC where he trained with Oribe, another Cuban-born hairstylist."]},{heading:"Runways and editorial work",paragraphs:["Roque has worked the runways of Milan, Paris, London, and NYC with models such as Linda Evangelista, Christy Turlington, Naomi Campbell, and Heidi Klum. His work has been featured in publications including Vogue, Elle, W, Marie Claire, and Vanity Fair.","Roque continues his career as a hairstylist, focusing on editorial work and bringing his skills to clients in New York."]}]},{slug:"artist-spotlight-rysia",category:"Artist Spotlight",author:"Rysia",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Rysia",excerpt:"Rysia is a highly experienced manicurist and Nail Artist at the Warren Tr
257icomi luxury salon in NYC. With decades of industry experience, she provides beautiful, long-lasting classical manicures and pedicures.",tags:["Nail Artist"],image:"/manus-storage/rysia_98e96f96.png",imageAlt:"Rysia, Nail Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"rysia",artistRole:"Nail Artist",locations:["New York"],artistHref:"/artists/rysia",lede:"Born and raised in Europe, Rysia brings decades of industry experience to her role as a Nail Artist at the Warren Tricomi luxury salon in NYC. For almost a decade, she has been a valued member of the team, developing a reputation for providing exceptional service and ensuring clients feel comfortable and relaxed.",sections:[{heading:"Classical manicures and exceptional service",paragraphs:["Rysia is a highly experienced and personable manicurist who has honed her skills over decades in the industry. Her classical manicures and pedicures are both beautiful and long-lasting, ensuring you leave the salon feeling pampered and polished. She consistently goes above and beyond to make sure clients feel comfortable."]},{heading:"A warm and friendly experience",paragraphs:["With a warm and friendly demeanor, Rysia makes every appointment an absolute pleasure. Originally from Europe, she has spent almost a decade as a valued member of the Warren Tricomi luxury salon team. Her focus on relaxation ensures that each visit is a welcoming experience, allowing clients to enjoy her outstanding skills."]}]},{slug:"artist-spotlight-sachi",category:"Artist Spotlight",author:"Sachi",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Sachi",excerpt:"Sachi is a colorist based in NYC with over twenty years of experience. She specializes in balayage and foil highlights, creating custom color profiles for her clients.",tags:["Colorist"],image:"/manus-storage/sachi_8261c211.png",imageAlt:"Sachi, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"sachi",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/sachi",lede:"Operating in NYC, Sachi brings over twenty years of experience to her work as a colorist. She applies her understanding of color theory to create custom looks, specializing in balayage and foil highlights for both subtle tones and dramatic color transformations.",sections:[{heading:"Balayage and foil highlights",paragraphs:["Sachi specializes in balayage and foil highlights, applying her knowledge of color theory to each service. She develops custom color profiles that range from subtle, natural tones to bold, dramatic colors, tailoring her approach to the individual client."]},{heading:"Color theory application",paragraphs:["With over twenty years of experience in the industry, Sachi utilizes a structured approach to color theory. She evaluates individual hair characteristics to formulate precise color applications, ensuring consistent execution across different techniques.","In addition to color application, Sachi provides structured guidance on hair care and color maintenance. She assesses individual needs to recommend specific maintenance routines, helping clients manage their color between salon visits."]}]},{slug:"artist-spotlight-saundra",category:"Artist Spotlight",author:"Saundra",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Saundra",excerpt:"Saundra is a colorist and stylist based in Sag Harbor. With over fifteen years of industry experience, she provides hair color, balayage, and styling services while prioritizing the health of the hair.",tags:["Hair Color","Highlights & Balayage","Haircuts & Styling"],image:"/manus-storage/saundra_30c83f3b.jpg",imageAlt:"Saundra, Colorist & Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"saundra",artistRole:"Colorist & Stylist",locations:["Sag Harbor"],artistHref:"/artists/saundra",lede:"With over fifteen years of industry experience, Saundra is a colorist and stylist currently working at the Warren Tricomi salon in Sag Harbor. Having trained in NYC, she remains dedicated to her craft and delivering results that prioritize the health and vitality of the hair.",sections:[{heading:"Expertise in hair color and styling techniques",paragraphs:["Saundra focuses on hair color, highlights, balayage, and haircuts. She stays current with trends and innovations in the industry to ensure her clients receive quality service. By utilizing her training and understanding of hair products, she prioritizes the integrity of the hair during enhancements and transformations."]},{heading:"Training in NYC",paragraphs:["Her professional journey began with training at the Warren Tr
257icomi salon in NYC. Today, as a member of the Sag Harbor team, Saundra brings her attention to detail and artistic approach to her appointments. Her demeanor creates a comfortable experience for her clients.","A core principle of her practice is maintaining the integrity and health of the hair. Whether performing a subtle enhancement or a complete color transformation, Saundra applies her knowledge of products and techniques to support hair vitality."]}]},{slug:"artist-spotlight-sei",category:"Artist Spotlight",author:"Sei",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Sei",excerpt:"Sei is a master stylist with extensive training in Japan and decades of experience at Warren Tricomi in NYC. He is a true expert in short haircuts, styling, and Japanese hair straightening techniques.",tags:["Stylist"],image:"/manus-storage/sei_b37c256e.png",imageAlt:"Sei, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"sei",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/sei",lede:"Sei brings decades of experience and extensive Japanese training to the Warren Tricomi salon in NYC. As a master stylist, he is known for his versatility, creating stunning looks for clients of all ages and hair types. Sei is exceptionally skilled in Japanese hair straightening techniques and conditioning treatments.",sections:[{heading:"Master Stylist And Hair Straightening Expert",paragraphs:["Sei is a master stylist in the industry with extensive training in Japan and decades of experience in NYC at the Warren Tricomi luxury brand salon. He is a true expert in short haircuts and styling for socialites. Sei is known for his versatility and ability to create stunning looks for clients of all ages and all hair types, for both women and men. He stays on top of the latest beauty trends and techniques."]},{heading:"Conditioning Treatments And Healthy Hair",paragraphs:["Exceptionally skilled in using Japanese hair straightening techniques, Sei creates sleek and smooth styles that last. In addition to his styling expertise, he is a master of conditioning treatments for both women and men. Sei understands the importance of healthy, nourished hair and uses only the best products, tools, and techniques to ensure that clientsâ hair looks and feels its best."]}]},{slug:"artist-spotlight-selena",category:"Artist Spotlight",author:"Selena",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Selena",excerpt:"Selena is a Makeup Artist & Stylist in Sag Harbor, offering polished makeup, blowouts, bridal beauty, treatments, extensions supp
257ort, and occasion-ready finishing.",tags:["Makeup Artistry","Blowouts & Styling","Bridal Beauty"],image:"/manus-storage/selena-sag-harbor-editorial-bw_5c376012.webp",imageAlt:"Selena, Makeup Artist & Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"selena",artistRole:"Makeup Artist & Stylist",locations:["Sag Harbor"],artistHref:"/artists/selena",lede:"Serving clients in Sag Harbor, Selena is a Makeup Artist & Stylist specializing in makeup artistry, blowouts, bridal beauty, and polished finishing. Her current salon availability also includes select kids and student services, conditioning treatments, and hair-extension services.",sections:[{heading:"Expertise in makeup and blowouts",paragraphs:["With years of experience in the beauty industry, Selena has honed her craft to perfection. She specializes in makeup artistry and blowouts, creating stunning looks that enhance natural beauty. Her expertise in makeup application and blowout techniques ensures that clients leave her chair feeling confident and beautiful."]},{heading:"Stylist for any occasion",paragraphs:["Operating out of Sag Harbor, Selena is a stylist for any occasion. Whether it is a glamorous red carpet event or a casual night out, her passion for creativity and attention to detail are central to her work. By focusing on special occasion beauty, she ensures clients feel confident."]}]},{slug:"artist-spotlight-silvie",category:"Artist Spotlight",author:"Silvie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Silvie",excerpt:"Silvie is a skilled colorist at the Greenwich salon specializing in highlights, balayage, and Brazilian blowouts. Her dedication to ongoing education ensures clients receive current and creative transformations tailored to their individual hair visions.",tags:["Colorist"],image:"/manus-storage/silvie-artist-editorial-bw-clear-background_136d08f4.png",imageAlt:"Silvie, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"silvie",artistRole:"Colorist",locations:["Greenwich"],artistHref:"/artists/silvie",lede:"Operating at the Greenwich location, Silvie is a dedicated colorist known for delivering personalized and artistic hair experiences. She specializes in highlights, balayage, and Brazilian blowouts, transforming her clients with care. By consistently attending classes and workshops, she maintains a strong grasp of the latest hair trends and techniques.",sections:[{heading:"Expertise In Creative
257Color",paragraphs:["Silvie focuses her technical skills on providing highlights, balayage, and Brazilian blowouts. As a dedicated colorist, she takes pride in working directly with each client to bring their specific hair vision to life. Her passion for her craft is evident during every appointment, ensuring that those who sit in her chair leave feeling transformed by her artistic approach to hair coloring."]},{heading:"Ongoing Education In Greenwich",paragraphs:["To consistently offer the most current options, Silvie regularly attends classes and workshops. This commitment to ongoing education allows her to stay on top of the latest hair trends and techniques. She provides a personalized hair experience that leverages her updated knowledge and enthusiasm for the coloring craft."]}]},{slug:"artist-spotlight-simo",category:"Artist Spotlight",author:"Simo",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Simo",excerpt:"Simo is a Stylist serving clients in NYC. With training from Europe and Africa, Simo brings a unique perspective to hair cutting and coloring, aiming to make every client feel confident and beautiful.",tags:["Stylist - Man Haircuts"],image:"/manus-storage/simo_3ca0a8d2.png",imageAlt:"Simo, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"simo",artistRole:"Stylist",locations:["New York"],artistHref:"/artists/simo",lede:"Simo is a Stylist based in NYC, offering services to both women and men. With training from Europe and Africa, Simo possesses a deep understanding of the art and science of hair cutting and coloring. Always seeking new techniques, Simo delivers everything from classic cuts to bold, trendy colors while fostering a welcoming environment.",sections:[{heading:"Stylist For Men And Women",paragraphs:["Bringing a unique perspective to the beauty industry, Simo leverages a diverse training background from Europe and Africa. This foundation contributes to a deep understanding of hair cutting and coloring techniques. By seeking out new trends and methods, Simo is equipped to deliver everything from classic cuts to bold and trendy colors. The goal is always to make clients feel confident and beautiful with every service rendered."]},{heading:"A Warm And Personalized Experience",paragraphs:["What truly sets Simo apart is a warm, friendly, and happy personality that fosters a comfortable environment for clients. Taking the time to know each client individually allows for careful attention to specific needs and preferences, providing personalized recommendations to suit each unique style. Simo is committed to maintaining hair health and vibrancy by employing only the highest-quality products and techniques, ensuring that hair remains lustrous even after multiple treatments."]}]},{slug:"artist-spotlight-sonia",category:"Artist Spotlight",author:"Sonia",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Sonia",excerpt:"Sonia is a Stylist at the Greenwich Warren Tricomi salon. With over two decades of experience, she provides expert dry and wet haircuts, blowout styles, updos, and keratin treatments for both men and women.",tags:["Stylist"],image:"/manus-storage/sonia_fda4ee29.jpg",imageAlt:"Sonia, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"sonia",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/sonia",lede:"Operating out of the Greenwich Warren Tricomi salon, Sonia brings over two decades of experience to her role as a Stylist. She is highly skilled in delivering trendy haircuts for both men and women, alongside blowout styles, updos, and keratin treatments to help clients achieve a fantastic hair style.",sections:[{heading:"Expert styling and trendy haircuts",paragraphs:["As an expert in her craft, Sonia has over two decades of experience at the luxury Warren Tricomi salon. She is highly skilled in providing dry and wet haircuts for both men and women. Her expertise also includes creating updos, delivering blowout styles, and applying keratin treatments."]},{heading:"An artistic approach in Greenwich",paragraphs:["Currently located at the Greenwich s
257alon, Sonia draws from her true passion for art and all its facets. This appreciation is directly reflected in her unique and artistic approach to hairstyling. She applies this creative vision to deliver trendy haircuts for her clients."]}]},{slug:"artist-spotlight-sophia",category:"Artist Spotlight",author:"Sophia",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Sophia",excerpt:"Sophia is a highly skilled manicurist and pedicurist with over a decade of experience. She offers classical manicures and pedicures in New York City, bringing a professional and warm demeanor to her work.",tags:["Nail Artist"],image:"/manus-storage/sophia_8ea90e6a.png",imageAlt:"Sophia, Nail Artist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"sophia",artistRole:"Nail Artist",locations:["New York"],artistHref:"/artists/sophia",lede:"Meet Sophia, a highly skilled manicurist and pedicurist with over a decade of experience. She learned her skills in Europe at an early age before moving to New York City to work at the prestigious Warren Tricomi luxury salon. Sophia specializes in classical manicures and pedicures, delivering work of the highest quality.",sections:[{heading:"Classical Manicures and Pedicures",paragraphs:["Sophia specializes in classical manicures and pedicures, drawing on over a decade of experience. Having learned her skills in Europe at an early age, she moved to New York City to join the prestigious Warren Tricomi luxury salon, where her work is always of the highest quality."]},{heading:"Professional and Warm Demeanor",paragraphs:["Sophia is a favorite among clients due to her professional and warm demeanor, as well as her eye for detail. Her exceptional service at the prestigious Warren Tricomi luxury salon ensures that clients receive top-tier care during every visit."]}]},{slug:"artist-spotlight-stephanie",category:"Artist Spotlight",author:"Stephanie",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Stephanie",excerpt:"Stephanie is a stylist based in Greenwich with over twenty years of experience. She specializes in personalized cuts, modern styling techniques, hair extensions, and smoothing treatments.",tags:["Stylist /Hair Extensions"],image:"/manus-storage/stephanie_e915b93a.jpg",imageAlt:"Stephanie, Stylist /Hair Extensions at Warren Tricomi",kind:"artist-spotlight",artistSlug:"stephanie",artistRole:"Stylist /Hair Extensions",locations:["Greenwich"],artistHref:"/artists/stephanie",lede:"With over twenty years of experience, Stephanie provides styling services in Greenwich. She focuses on personalized cuts, styling, and hair extensions. Her knowledge of classic and modern techniques supports tailored services for healthy hair.",sections:[{heading:"Styling and Hair Extensions",paragraphs:["Stephanie creates personalized looks using both classic cuts and modern styling techniques. She works with clients of all ages and hair types. Her experience with hair extensions provides options for adding volume and length to hair."]},{heading:"Smoothing Treatments",paragraphs:["As a specialist in smoothing treatments, Stephanie works to create sleek looks while managing frizz. She applies her knowledge of current techniques and products to customize treatments to individual hair needs.","Stephanie focuses on understanding individual preferences and goals. She offers advice and recommendations to help clients achieve their desired image through dedicated service."]}]},{slug:"artist-spotlight-theani",category:"Artist Spotlight",author:"Theani",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Theani",excerpt:"Theani is a Wax and Nail Tech Technician with over two decades of experience in the salon industry. Operating in NYC, she provides nail designs and waxing services.",tags:["Wax and Nail Tech Technician"],image:"/manus-storage/theani_59e0f7a5.jpg",imageAlt:"Theani, Wax and Nail Tech Technician at Warren Tricomi",kind:"artist-spotlight",artistSlug:"theani",artistRole:"Wax and Nail Tech Technician",locations:["New York"],artistHref:"/artists/theani",lede:"With training under the J. Sisters in NYC, Theani has worked for over two decades in the salon industry. Operating as a Wax and Nail Tech Technician, she provides nail designs and comprehensive waxing services.",sections:[{heading:"Nail Services",paragraphs:["Theani brings over two decades of experience to her work in the salon industry. Having trained under the J. Sisters in NYC, she provides manicures and pedicures, as well as nail designs, with a focus on care and professionalism during each appointment."]},{heading:"Waxing Services",paragraphs:["In addition to nail services, Theani is trained in waxing techniques for Brazilian and full-body services. Her approach focuses on maintaining professionalism and dedication to provide thorough waxing services in NYC.","Theani is an experienced technician in NYC who applies her extensive training and two decades of industry background to deliver precise and professional care in both nail and waxing treatments."]}]},{slug:"artist-spotlight-tonya",category:"Artist Spotlight",author:"Tonya",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Tonya",excerpt:"Tonya is an accomplished Colorist at Warren Tr
257icomi in Greenwich. As an educator and LâOréal Professional Artist licensed in New York and Connecticut, she provides personalized hair color, styling, and treatments to achieve healthy, modern looks.",tags:["Hair Color","Highlights & Balayage","Haircuts & Styling"],image:"/manus-storage/tonya_060fb8ee.jpg",imageAlt:"Tonya, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"tonya",artistRole:"Colorist",locations:["Greenwich"],artistHref:"/artists/tonya",lede:"Meet Tonya, an accomplished Colorist and educator available at the Greenwich salon. Recognized as a LâOréal Professional Artist, she is a licensed professional in both New York and Connecticut. Tonya brings extensive technical expertise to Warren Tricomi, offering a comprehensive approach to hair care that encompasses cutting, styling, coloring, and treatment to ensure clients receive exceptional service and individual attention.",sections:[{heading:"Expertise in color and styling",paragraphs:["Tonya stays current with the latest trends in products and services to help clients achieve their desired look. Her technical skills include hair color, highlights, balayage, and styling. As a LâOréal Professional Artist, her outstanding talent and commitment to excellence are evident in her work. She uses only the highest quality hair color, treatments, and home care products to ensure that every client leaves with hair that is not only beautiful but also healthy and strong."]},{heading:"Personalized service in Greenwich",paragraphs:["At the Greenwich location, Tonyaâs approach to styling is centered around personalization. From the initial consultation to the final touches, she takes the time to get to know each individual and understand their specific needs and preferences. This careful process allows her to create a look that feels uniquely modern. Whether she is working with long-standing clients or welcoming new customers, Tonya remains dedicated to providing exceptional service, solidifying her reputation as a highly sought-after Colorist at Warren Tricomi."]}]},{slug:"artist-spotlight-victoria",category:"Artist Spotlight",author:"Victoria",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Victoria",excerpt:"Victoria is a colorist with over two decades of experience at Warren Tricomi. She maintains knowledge of current trends and professional color products.",tags:["Colorist"],image:"/manus-storage/victoria_b82466e7.png",imageAlt:"Victoria, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"victoria",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/victoria",lede:"Victoria brings over two decades of experience to her role as a colorist at Warren Tricomi. She shares her knowledge of hair with clients and stays current on industry trends and professional color products.",sections:[{heading:"Professional Color Products",paragraphs:["Victoria focuses on using professional color products to achieve client requests. She stays current on industry trends and combines her knowledge of hair with an accommodating approach."]},{heading:"Client Service",paragraphs:["Victoria assists clients by matching them with stylists suited to their specific hair texture and style requirements. She draws upon over two decades of experience as a colorist.","With over two decades of experience, Victoria provides professional color services at Warren Tricomi."]}]},{slug:"artist-spotlight-william",category:"Artist Spotlight",author:"William",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: William",excerpt:"William is a Colorist in New York specializing in hair color, highlights, balayage, and styling.",tags:["Hair Color","Highlights & Balayage","Blowouts & Styling"],image:"/manus-storage/william_b336f37d.png",imageAlt:"William, Colorist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"william",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/william",lede:"William is a Colorist based in New York. His practice focuses on hair color, cutting, and styling techniques, adapting approaches to individual hair types and personal styles.",sections:[{heading:"Color and Styling Focus",paragraphs:["William's practice encompasses color applications and cutting techniques. His work ranges from classic haircuts to bold color treatments, utilizing established products and methods."]},{heading:"Client Approach",paragraphs:["In his New York practice, William considers individual factors such as face shape and personal style during consultations. He focuses on delivering a structured service environment.","William monitors developments in hair trends to inform his practice and service offerings."]}]},{slug:"artist-spotlight-yuko",category:"Artist Spotlight",author:"Yuko",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Yuko",excerpt:"Yuko is a highly skilled colorist with many years of training in Japan and NYC. She is known for her perfectionism and attention to detail when it comes to color applications.",tags:["Colorist"],image:"/manus-storage/yuko_a9466580.png",imageAlt:"Yuko, Colorist at Warren Tr
257icomi",kind:"artist-spotlight",artistSlug:"yuko",artistRole:"Colorist",locations:["New York"],artistHref:"/artists/yuko",lede:"Yuko is a highly skilled and experienced colorist with many years of training in Japan and NYC. She is known for her perfectionism and attention to detail when it comes to color applications. Yuko is highly knowledgeable about the most efficient professional products in the salon to ensure long-lasting results at home.",sections:[{heading:"Consultations And Color Plans",paragraphs:["During consultations, she takes the time to listen to her clients preferences then creates a color plan ensuring that they understand and are comfortable and informed about the next steps. Yuko is committed to ensuring that her clients leave the salon feeling beautiful and satisfied with their results."]},{heading:"Recommending Other Stylists",paragraphs:["Additionally, she is an excellent resource for recommending other stylists who can provide the best haircut or blowout for your hair. If you are looking for a skilled and knowledgeable stylist who can help you achieve your desired look, Yuko is an excellent choice for you."]}]},{slug:"artist-spotlight-aleah",category:"Artist Spotlight",author:"Aleah",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Aleah",excerpt:"Aleah is a Stylist based in Greenwich, offering specific professional services. The stylist focuses primarily on Haircuts & Styling, Blowouts, and Editorial Styling, bringing these specialized techniques to the Greenwich location.",tags:["Haircuts & Styling","Blowouts","Editorial Styling"],image:"/manus-storage/aleah-greenwich-black-white-smile_ab39bd03.png",imageAlt:"Aleah, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"aleah",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/aleah",lede:"Aleah serves as a Stylist operating out of the Greenwich location. The professional focus of the stylist includes specific areas of expertise within the field. By specializing in Haircuts & Styling, Blowouts, and Editorial Styling, Aleah provides these exact core services to clients seeking this particular set of techniques.",sections:[{heading:"Haircuts and styling services",paragraphs:["As a Stylist, Aleah delivers specific services in the Greenwich location. The primary professional focus includes Haircuts & Styling alongside Blowouts. By concentrating on these core offerings, the stylist provides these exact techniques to clients, ensuring the delivery of these distinct services during their visit."]},{heading:"Editorial styling in Greenwich",paragraphs:["In addition to other core offerings, Aleah also provides Editorial Styling services. Operating out of the Greenwich location, the stylist maintains a focus on these specific techniques. This specialization allows the professional to offer a distinct set of services to clients in the area."]}]},{slug:"artist-spotlight-hailey",category:"Artist Spotlight",author:"Haley",date:"September 8, 2026",dateISO:"2026-09-08",title:"Artist Spotlight: Haley",excerpt:"Haley is a Stylist available in Greenwich. Focusing on Haircuts & Styling, Blowouts, and Editorial Styling, she offers tailored services to meet individual client needs.",tags:["Haircuts & Styling","Blowouts","Editorial Styling"],image:"/manus-storage/hailey-greenwich-black-white_edf1428f.png",imageAlt:"Haley, Stylist at Warren Tricomi",kind:"artist-spotlight",artistSlug:"hailey",artistRole:"Stylist",locations:["Greenwich"],artistHref:"/artists/hailey",lede:"In Greenwich, Haley serves as a dedicated Stylist offering a focused range of professional services. By concentrating on Haircuts & Styling, Blowouts, and Editorial Styling, she provides clients with precise execution. Her approach emphasizes individualized attention and the value of specialized styling expertise.",sections:[{heading:"Styling and haircuts",paragraphs:["As a Stylist, Haley provides services including Haircuts & Styling and Blowouts. This focused attention allows for a precise approach to foundational hair care and everyday styling maintenance."]},{heading:"Editorial styling in Greenwich",paragraphs:["Operating out of the Greenwich location, Haley expands her service offerings to include Editorial Styling. Clients benefit from her specialized skill set in a professional environment."]}]}],kO={adele:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=48a80cf1-839c-4d66-bd3f-261764e263f9"},"alan david":{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=6419fd48-78b6-43b1-b961-96958af285a2"},alathif:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=35d64f2f-254a-4fc9-93d1-625be3a542bf"},aleah:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=0f2292e2-d99c-45df-8643-5116a02c3070"},amy:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=7a7efd4a-8820-4df4-b3ca-c1331487691b"},angela:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=83488d07-4858-4b34-982d-1e53eb8f8d5a"},angelique:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=fd5aa924-8740-4491-bc4a-4b546d858f82"},artem:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=8eca4e72-aca1-4fe8-81b0-bc20c08ffada"}
257,beatrize:{"Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=2c5f5be8-a130-46a3-9d93-688f7f686f8d"},beth:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=8d75c909-fdbc-4558-9aaa-ba13e0bcef89"},betty:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=7d75e93f-51aa-4ea3-b0f8-596d4a2a08f1"},carlos:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=bfd24c32-18bd-47fe-aba0-777de510f00a"},casey:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=2f6f5081-4df1-4a20-be34-47a07f8b2daa"},catalina:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=3f32b4d8-3ee8-4c7c-9bd5-93e34c8c2f12"},cecilia:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=15b28f99-bb93-4eec-b00f-001d8df4b085"},chris:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=6ecc78f6-1d26-487f-b829-a8e089099cab"},christine:{"Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=696403ab-5704-4ee2-92aa-6d0ada32d400"},claudio:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=1f69f412-1fcd-49a2-bc92-6d85f277493e"},cristina:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=4b040fd1-0339-4517-ad9f-95a497724255","Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=02c27c00-20b8-4448-9ab5-40b6f4c1e889"},debbie:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=c0f5f22b-0df3-4f95-9a14-be1291c1152b"},demi:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=c269b44b-fda7-4a57-a389-99d59ed7e136"},didi:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=e17c069a-b7cd-42cd-b708-831cb0d94b3c"},dimitri:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=79a87b30-5420-4182-b4b9-6a72df3edbc2"},dion:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=954c5d62-148d-4ebc-8197-ee337a84311b","Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=954c5d62-148d-4ebc-8197-ee337a84311b"},edward:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=7a7be193-7710-43d8-b1ed-930365acf153",Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=7a7be193-7710-43d8-b1ed-930365acf153"},"elias asmar":{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=ddd0896b-4be0-4e2d-a8c4-aff7872e8c77"},elie:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=2f16c244-f928-4467-83fa-ab5b5a6aa37c"},ericka:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=20338790-b47b-40cd-bd77-b02c2537964e"},eva:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=5163bde1-dd2c-476f-bff7-1e7246fa0507"},feven:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=679231a2-ebdc-419e-86a9-45fefdfb8024"},gigi:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=51aeeed8-a101-4117-996b-e7f4da44e945"},haley:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=3dd44885-3237-4f37-be85-10553819e3b3"},hiedi:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=10dd6563-69de-416e-ab30-f47f55bb9078"},hiro:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=fc9a7d1a-cd88-45d4-9f2c-5c519ccf4257"},jackie:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=c3065be7-431d-4b28-87a5-178512bd1845"},janina:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=e0433226-6621-43a3-913e-1aa14c2930c3"},jari:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=3a32f4f2-a504-46d0-88f1-a8f05ee5cd1a"},jayne:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=2a34ffda-1955-4829-b39d-7934342a59c3"},jennifer:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=ca15c34f-3bc9-40df-9f7b-aa8466b63908"},joey:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=3c566cee-b4f5-4ac2-bf57-0cb373bebfee","Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=3c566cee-b4f5-4ac2-bf57-0cb373bebfee"},jolanta:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=459b938d-1557-452e-8851-0b375884d3ee"},joni:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=a00ccc8f-a176-4b93-9079-ae33900192fd"},julia:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=9ac745d5-c59b-4737-8202-c953a67ef528"},julie:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=970e611f-b4de-4c86-86c8-9fc320fa6441"},junida:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=77ad7a9b-6a30-48e7-9727-1a151311b5e8"},katie:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=22332cf1-0e56-4fbc-99c8-d9d2464918ba"}
257,kazue:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=f5ba0c41-23ad-4778-95a9-63a62c111b22"},kena:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=052cf261-8598-465e-90d4-e1f7ca17b4db"},kenneth:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=fcc75dd2-56eb-4a91-985d-10b5cf1f272c",Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=fcc75dd2-56eb-4a91-985d-10b5cf1f272c"},laara:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=3669effb-5211-4bf8-a691-ca1eb5c12d26"},lira:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=ba79b343-ca16-4103-8c8c-24717b77335e"},lorgie:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=3232a3db-adbc-49b2-966c-c8e3ba11ff0c"},malena:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=4f6ad903-0ed0-471a-b10d-f70abedf3fc0"},maral:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=a00016d0-a884-4433-9119-b1db206b39fd"},mariluz:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=714d2ff3-6651-443a-bef4-064c842a614b"},marjeta:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=e4f4de96-3855-44d2-b810-dd2c098f726b"},marja:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=5c284ba7-ad93-4335-8d64-a8d3dbd526c3"},mary:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=04c8889a-00a5-4d40-994d-b8b94f85a296"},michelle:{"Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=5afe2380-dc6e-49af-986f-eb8702e184a4"},"michelle a":{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=17863e
2570b-d41a-4f8a-bfa1-3daf64f632ec","Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=17863e0b-d41a-4f8a-bfa1-3daf64f632ec"},monaco:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=df41f84b-2681-407b-aeff-c7f2e643a925"},monika:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=7e539e64-a9b2-42ab-93eb-659c5b565ac7"},nafisah:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=d2c81ac6-b0bc-461a-b844-2ea5868f58da"},naru:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=23179738-6c9b-4ffb-807c-4c01ad689c20",Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=23179738-6c9b-4ffb-807c-4c01ad689c20"},nate:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=a5fc2e1f-3d89-4754-acfe-37b45ad817a6"},nicole:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=56b49170-6cbc-40f1-ae15-2de4013f9c5e","Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=56b49170-6cbc-40f1-ae15-2de4013f9c5e"},nina:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=eda04412-6b85-4260-bf50-ac07ef28210e"},noel:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=c63774ea-bf49-4c98-8479-561280f6be8a"},nozomi:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=937a3146-1845-4ca0-adbf-68b6fcee606a"},nyree:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=7206eccf-8598-4071-8b28-cb1569fa0d16"},oscar:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=c8fd17e6-ec10-4b0f-a874-fe04c0e59bda"},oz:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=42587c3d-136b-4c42-aaa5-b56cba5533b1"},rachael:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=87f8bc43-26aa-412e-9d4d-e086995adb12"},renata:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=6ecf6e5f-5254-40d7-ae28-92b954db1d3a"},ric:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=1c7df47e-9922-48cc-92b1-149f3f2e0fb9"},ridvana:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=ccbc060e-e351-44bb-9929-8e27358768c8"},rita:{"Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=c696998d-8361-4672-b11f-232d8c78272b"},roque:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=c383e9ab-3218-4ab1-88d7-614fda5f0792"},rysia:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=bcf367bc-8ee6-436d-af5d-639146fd0b3d"},sachi:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=0c3d26a0-94b7-4ad9-b9e8-cd9ca143e4af"},saundra:{"Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=3237eaa4-4790-4cf7-8bad-1daf21e394b8"},sei:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=fffbba51-64ad-4bfa-8a6a-fd5da2bbdfad"},selena:{"Sag Harbor":"https://warrentricomi.zenoti.com/webstoreNew/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452?therapistid=ff8c1b05-7b40-420f-a4f7-31058c7488b1"},silvie:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=75ea5c3e-6563-4a71-ae39-0010e1017816"},simo:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=1dac7855-0118-4363-a5ae-d15405456077"},sofia:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=70f1075c-3012-47b0-9fbe-5a106af15921"},sophia:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=70f1075c-3012-47b0-9fbe-5a106af15921"},sonia:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=01e60519-b220-4f9f-8e69-5367fd43e62d"},stephanie:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=53da0507-b286-4feb-a402-b36555cd90fc"},theani:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=e2593ccd-81d1-4dd5-bd68-bb2dd8281bfe"},tonya:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=12df0279-0d65-40
257de-8b2c-a5bde972a174"},victoria:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=5b0df3ca-8e7f-4f52-af01-a17bdd35f558"},william:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=f80bcabe-7231-4ac3-8dfc-15070d7b31b0"},yuki:{Greenwich:"https://warrentricomi.zenoti.com/webstoreNew/d851257d-416b-4bd3-8409-bd7048d96c18?therapistid=55f1947b-28de-400e-9cee-d4b6f77abd24"},yuko:{"New York":"https://warrentricomi.zenoti.com/webstoreNew/c600bf53-3c0b-44f4-9645-7d57f4b7e374?therapistid=a7b4151b-5f88-4daa-b798-9fd1cd036cf2"}},OO={asmar:"elias asmar",beatrice:"beatrize",beatriz:"beatrize",christopher:"chris",debbie:"debbie",debby:"debbie",hailey:"haley","junida vasiu":"junida","michelle anahi":"michelle a","rachael rae":"rachael",rae:"rachael",sofias:"sofia",trevy:"monaco"};function TO(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").trim()}function ES(e,a){const r=TO(e),s=OO[r]??r;return kO[s]?.[a]}const fa="https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374",iv="https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18",zp="https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452",Dp={"New York":fa,Greenwich:iv,Connecticut:iv,"Sag Harbor":zp,Hamptons:zp};function NS(e){if(e==="New York")return"New York";if(e==="Greenwich"||e==="Connecticut")return"Greenwich";if(e==="Sag Harbor"||e==="Hamptons")return"Sag Harbor"}const Re=(...e)=>e,CO=new Set(["connie","david-oshell","eliza","eric","jackie","jessica","kazuya","luba","mary","michelle-anahi","michelle-anahi-nyc","sandra"]),RO=new Map(AS.map(e=>[e.artistSlug,e.slug])),jO={adele:{role:"Stylist",expertMatchCategoriesByLocation:{Greenwich:Re("Stylist")}},alathif:{role:"Colorist",specialties:["Hair Color","Highlights & Balayage","Makeup Artistry"],expertMatchCategoriesByLocation:{Greenwich:Re("Colorist")}},aleah:{role:"Stylist",expertMatchCategoriesByLocation:{Greenwich:Re("Stylist")}},artem:{role:"Colorist",specialties:["Hair Color","Highlights & Balayage","Blowouts & Styling"],expertMatchCategoriesByLocation:{"New York":Re("Colorist")}},beatriz:{role:"Colorist & Stylist",specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{"Sag Harbor":Re("Colorist","Stylist")}},claudio:{role:"Colorist",specialties:["Hair Color","Highlights & Balayage","Blowouts & Styling"],expertMatchCategoriesByLocation:{"New York":Re("Colorist")}},dion:{locations:["New York","Sag Harbor"],specialties:["Menâs Grooming","Haircuts & Styling","Hair Color","Textured Hair"],expertMatchCategoriesByLocation:{"New York":Re("Stylist"),"Sag Harbor":Re("Stylist","Colorist")}},edward:{locations:["New York","Greenwich"],expertMatchCategoriesByLocation:{"New York":Re("Stylist"),Greenwich:Re("Stylist")}},joey:{locations:["New York","Sag Harbor"],specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{"New York":Re("Colorist"),"Sag Harbor":Re("Colorist","Stylist")}},katie:{role:"Colorist",specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{Greenwich:Re("Colorist")}},kenneth:{locations:["New York","Sag Harbor"],specialties:["Menâs Grooming","Haircuts & Styling","Extensions & Hair Replacement"],expertMatchCategoriesByLocation:{"New York":Re("Stylist"),"Sag Harbor":Re("Stylist")}},lira:{role:"Colorist",expertMatchCategoriesByLocation:{Greenwich:Re("Colorist")}},lorgie:{role:"Stylist",specialties:["Haircuts & Styling","Blowouts","Makeup Artistry"],expertMatchCategoriesByLocation:{Greenwich:Re("Stylist")}},naru:{locations:["New York","Greenwich"],expertMatchCategoriesByLocation:{"New York":Re("Stylist"),Greenwich:Re("Stylist")}},"ric-nyc":{locations:["New York","Sag Harbor"],specialties:["Menâs Grooming","Haircuts & Styling","Editorial Styling"],expertMatchCategoriesByLocation:{"New York":Re("Stylist"),"Sag Harbor":Re("Stylist")}},saundra:{role:"Colorist & Stylist",specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{"Sag Harbor":Re("Colorist","Stylist")}},selena:{role:"Makeup Artist & Stylist",locations:["Sag Harbor"],locationCount:1,specialties:["Makeup Artistry","Blowouts & Styling","Bridal Beauty"],image:"/manus-storage/selena-sag-harbor-editorial-bw_5c376012.webp",bio:["Selena is a Sag Harbor makeup artist and stylist specializing in polished makeup, blowouts, bridal beauty, and occasion-ready finishing.","At Sag Harbor, she is available across Blowout & Styling, select Kids & Students, Hair Conditioning Treatments, Hair Extensions, Bridal, and Makeup services."],expertMatchCategoriesByLocation:{"Sag Harbor":Re("Makeup & Beauty","Stylist")}},simo:{role:"Stylist",expertMatchCategoriesByLocation:{"New York":Re("Stylist")}},tonya:{role:"Colorist",specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{Greenwich:Re("Colorist")}},william:{role:"Colorist",specialties:["Hair Color","Highlights & Balayage","Blowouts & Styling"],expertMatchCategoriesByLocation:{"New York":Re("Colorist")}}},PO=[{slug:"malena",name:"Malena",role:"Colorist",location:"New York",specialties:["Hair Color","Highlights","Balayage & Lived-In Color"],expertMatchCategoriesByLocation:{"New York":Re("Colorist")},image:"/manus-storage/malena-artist-editorial-bw_fcb5a7c7.png",bio:[],bookingUrl:fa},{slug:"ridvana",name:"Ridvana",role:"Colorist",location:"New York",specialties:["Hair Color","Highlights","Balayage & Lived-In Color"],expertMatchCategoriesByLocation:{"New York":Re("Colorist")},image:"/manus-storage/ridvana-artist-editorial-bw_11419c9f.png",bio:[],bookingUrl:fa},{slug:"marja",name:"Marja",role:"Makeup Artist",location:"New York",specialties:["Makeup Artistry","Special Occasion Beauty","Bridal Beauty"],expertMatchCategoriesByLocation:{"New York":Re("Makeup & Beauty")},image:"/manus-storage/marja-artist-editorial-bw_27337d8a.png",bio:[],bookingUrl:fa},{slug:"carlos",name:"Carlos",role:"Stylist",location:"New York",specialties:["Haircuts & Styling","Blowouts","Editorial Styling"],expertMatchCategoriesByLocation:{"New York":Re("Stylist")},bio:[],bookingUrl:fa},{slug:"debbie",name:"Debbie",role:"Stylist",location:"New York",specialties:["Haircuts & Styling","Blowouts","Editorial Styling"],expertMatchCategoriesByLocation:{"New York":Re("Stylist")},bio:[],bookingUrl:fa},{slug:"casey",name:"Casey",role:"Colorist",location:"Greenwich",specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{Greenwich:Re("Colorist")},image:"/manus-storage/casey-artist-editorial-bw_5be6265f.png",bio:[],bookingUrl:fa},{slug:"aleah",name:"Aleah",role:"Stylist",location:"Greenwich",specialties:["Haircuts & Styling","Blowouts","Editorial Styling"],expertMatchCategoriesByLocation:{Greenwich:Re("Stylist")},image:"/manus-storage/aleah-greenwich-black-white-smile_ab39bd03.png",bio:[],bookingUrl:fa},{slug:"hailey",name:"Haley",role:"Stylist",location:"Greenwich",specialties:["Haircuts & Styling","Blowouts","Editorial Styling"],expertMatchCategoriesByLocation:{Greenwich:Re("Stylist")},image:"/manus-storage/hailey-greenwich-black-white_edf1428f.png",bio:[],bookingUrl:fa},{slug:"rosetta",name:"Rosetta",role:"Colorist",location:"Greenwich",specialties:["Hair Color","Highlights","Balayage & Lived-In Color"],expertMatchCategoriesByLocation:{Greenwich:Re("Colorist")},bio:[],bookingUrl:fa},{slug:"nicole",name:"Nicole",role:"Stylist",location:"Greenwich",locations:["Greenwich","Sag Harbor"],specialties:["Haircuts & Styling","Hair Color","Highlights & Balayage"],expertMatchCategoriesByLocation:{Greenwich:Re("Stylist"),"Sag Harbor":Re("Stylist","Colorist")},image:"/manus-storage/nicole-artist-editorial-bw_ae40501e.png",bio:[],bookingUrl:fa},{slug:"jean-marc",name:"Jean Marc",role:"Colorist & Stylist",location:"Sag Harbor",specialties:["Hair Color","Highlights & Balayage","Haircuts & Styling"],expertMatchCategoriesByLocation:{"Sag Harbor":Re("Colorist","Stylist")},image:"/manus-storage/jean-marc-artist-editorial-bw_278feaba.png",bio:[],bookingUrl:zp}];function rv(e){const a={...e,...jO[e.slug]??{}},r=a.locations?.length?a.locations:[a.location],s=Object.fromEntries(r.map(l=>{const d=NS(l),u=d?ES(a.name,d):void 0;return[l,u??Dp[l]??a.bookingUrl??fa]}));return{...a,locations:r,locationCount:r.length,bookingUrl:s[a.location]??a.bookingUrl,bookingUrlsByLocation:{...s,...a.bookingUrlsByLocation},journalSlug:RO.get(a.slug)??a.journalSlug}}const IO=[...NO.filter(e=>!CO.has(e.slug)).map(rv),...PO.map(rv)];function Hf(e){return e.locations?.length?e.locations:[e.location]}function Bp(e,a){return Hf(e).includes(a)}function qc(e){return e==="New York"?"NYC":e}function hd(e){return Hf(e).map(qc).join(" · ")}const MO={aleah:"Aleah brings approximately eight years of experience to Greenwich, pairing thoughtful consultations with a focus on hair health. Her work centers on tailored haircuts, polished blowouts, and editorial styling designed around each clientâs natural beauty and lifestyle."};
257function LO(e,a){const r=e.trim().split(/\s+/).filter(Boolean);return r.length<=a?e.trim():`${r.slice(0,a).join(" ").replace(/[,:;ââ-]+$/,"")}.`}function _O(e){const a=MO[e.slug];if(a)return a;const r=e.bio.join(" ").replace(/\s+/g," ").trim();if(r){const u=(r.match(/[^.!?]+[.!?]+|[^.!?]+$/g)?.map(p=>p.trim())??[]).slice(0,2).join(" ")||r;return LO(u,70)}const s=hd(e),l=e.specialties.slice(0,2).join(" and ");return`${e.name} is a Warren Tricomi ${e.role.toLowerCase()} serving clients in ${s}${l?`, with a focus on ${l}`:""}.`}function kS(e,a=e.location){const r=NS(a),s=r??a;return e.bookingUrlsByLocation?.[s]??(r?ES(e.name,r):void 0)??Dp[a]??Dp[s]??e.bookingUrl??fa}function HO(e){return Hf(e).map(a=>({location:a,href:kS(e,a)}))}function zO(e){const a=e.role.toLowerCase();return a.includes("colorist")?["Colorist"]:a.includes("makeup")||a.includes("make-up")?["Makeup & Beauty"]:/nail|manicur|brow|eyebrow|wax|esthetic/.test(a)?["Nails & Brows"]:["Stylist"]}function zf(e,a){return e.expertMatchCategoriesByLocation?.[a]??zO(e)}const DO={"alan-david":{excerpt:"Alan-David is a stylist based in NYC prioritizing individualism, personalized artistry, and tailored client relations. He is known for dry cutting, precision haircutting, and hairstyling.",lede:"Alan-David is a stylist based in NYC prioritizing individualism, personalized artistry, and tailored client relations. He is known for dry cutting, precision haircutting, and hairstyling. Whether a client is considering long layers, a mullet, a bob, a pixie, or a barber cut, he shapes the result around their personality and style."},alathif:{excerpt:"Alathif is a colorist and stylist at Warren Tricomi whose approach combines technical detail with a belief that hair should feel personal and authentic.",lede:"Alathif approaches color and styling as an expression of identity. With a decade of professional experience rooted in hands-on learning from an early age, he focuses on lived-in color placement, dimensional results, and precision cutting that work with each clientâs texture, skin tone, and lifestyle."},aleah:{excerpt:"Aleah is a Stylist based in Greenwich with approximately eight years of experience behind the chair. She prioritizes hair health and customizes every look around each clientâs natural beauty and lifestyle.",lede:"Aleah serves as a Stylist in Greenwich, bringing approximately eight years of professional experience to her work. She emphasizes hair integrity and begins with a thorough consultation covering hair history, maintenance preferences, and long-term goals before creating a plan designed to feel personal and grow out beautifully."},amy:{excerpt:"Amy is a Stylist in Greenwich with 30 years of experience. She is known for precision bobs, thoughtful work with fine hair, and blowouts designed to retain movement.",lede:"Serving clients in Greenwich, Amy brings 30 years behind the chair and 25 years at Warren Tricomi. Her approach begins with natural texture, lifestyle, and the time a client wants to spend styling at home, creating shapes that can look considered whether blown out or air-dried."},angela:{excerpt:"Angela is an Eyebrow Artist in NYC with 18 years of experience. She customizes each brow around facial features, eye shape, skin type, and personal style.",lede:"Angela brings 18 years of brow-shaping experience to NYC. She begins every appointment with a consultation, then considers facial features, eye shape, skin type, and personal style to create brows that feel natural, balanced, and individual to each client."},artem:{excerpt:"Artem is a Colorist in NYC with 21 years devoted to the craft of hair. His approach combines precise technique with a calm, tailored client experience.",lede:"Based in NYC, Artem brings 21 years of experience to his work as a Colorist. His technique draws on both French styling and English precision methods, while his consultations center on trust, realistic expectations, and creating a result that feels distinct to the person wearing it."},"elias-asmar":{excerpt:"Elias Asmar is a Stylist in Greenwich with 19 years behind the chair. He combines haircuts, styling, bridal work, and updos with an emphasis on hair health and consistency.",lede:"Elias brings 19 years of experience to Greenwich. He views hair as a form of expression while keeping strength, moisture balance, scalp care, and realistic maintenance central to the plan. First visits begin with hair history and daily routine so the finished style can work beyond the salon."},elie:{excerpt:"Elie is a Greenwich Stylist with 30 years of experience, specializing in classic and razor cutting as well as hair extensions.",lede:"Elie brings 30 years of experience to his work in Greenwich. Originally trained in Paris, he combines classic cutting, razor techniques, and hair-extension knowledge with a consultation-first approach that begins by understanding the clientâs needs before deciding on a direction."},feven:{excerpt:"Feven is a senior Colorist in NYC with 20 years of experience. She focuses on balayage, lived-in color, and dimensional brunettes that retain softness and grow out seamlessly.",lede:"Feven brings 20 years of experience to her work as a
257senior Colorist in NYC. She begins with an honest, detailed consultation and focuses on soft, blended color that supports hair health, natural movement, and a realistic maintenance plan."},hiedi:{excerpt:"Hiedi is an NYC Stylist with 20 years of experience. Her work emphasizes precision cutting, considered fullness, and styles designed around natural texture, face shape, and daily life.",lede:"Hiedi brings 20 years behind the chair to NYC. Her consultation considers the clientâs hair, lifestyle, and goals before she recommends precision cutting, seamless fullness, extensions, or event styling. She particularly enjoys working with fine to medium hair and creating results that maintain their shape beyond the appointment."},hiro:{excerpt:"Hiro is an NYC-based senior Stylist with more than 28 years of experience. He is known for precision cutting that considers natural bone structure, texture, movement, and how the shape will grow out.",lede:"Hiro brings more than 28 years behind the chair to NYC. He is particularly drawn to precision haircuts for long hair, bobs, and menâs grooming, creating shapes that enhance natural movement. His consultations prioritize hair health and realistic plans designed for long-term results rather than quick fixes."},jari:{excerpt:"Jari is a Stylist in Greenwich with 27 years in the beauty industry. She begins by listening, then considers face shape, texture, growth pattern, and maintenance before recommending a direction.",lede:"Operating in Greenwich, Jari brings 27 years of experience to her work as a Stylist. Her consultations begin with the clientâs goals, lifestyle, and maintenance concerns, followed by an assessment of face shape, texture, and natural growth so the final haircut can feel both personal and practical."},jayne:{excerpt:"Jayne is a Colorist whose art-school background and understanding of color theory inform personalized shades, luxury blonding, dimensional lived-in color, and foilyage.",lede:"Jayne draws on an art-school foundation and an early pursuit of painting in her work as a Colorist. Her understanding of color theory supports thoughtful formulation, while her consultations consider hair history, maintenance, skin tone, and lifestyle before establishing a personalized plan."},jennifer:{excerpt:"Jennifer is a licensed medical esthetician, Makeup Artist, and brow specialist in Greenwich with 27 years of experience. Her work includes brow design, tinting, personalized skincare, and airbrushing.",lede:"Jennifer brings 27 years of experience to Greenwich as a licensed medical esthetician, Makeup Artist, and brow specialist. Training in skincare and makeup informs her approach to brow design, lash and brow tinting, airbrushing, and services intended to enhance rather than obscure a clientâs natural features."},jolanta:{excerpt:"Jolanta is a Colorist with more than 30 years of experience, including over 20 years at Warren Tricomi. Her consultations are patient, detailed, and centered on sophisticated, healthy color.",lede:"Jolanta brings more than 30 years of color experience to her work, including over two decades at Warren Tricomi. She is known for a patient consultation style and for creating refined color plans that support hair health, consistency, and a classic result tailored to the client."},katie:{excerpt:"Katie is a Colorist in Greenwich with 25 years behind the chair. She focuses on highlights, multi-dimensional color, balayage, styling, and maintaining hair health throughout the process.",lede:"Katie brings 25 years of experience to Greenwich. Her work spans highlights, multi-dimensional color, balayage, and event styling, with every service beginning in a thorough consultation. She considers condition, maintenance, and the clientâs goals before determining the most appropriate path."},kenneth:{excerpt:"Kenneth is a Stylist in NYC and Sag Harbor with nearly 30 years of experience. He works across hair textures with a calm, attentive approach to precision cutting, color, and long-term hair health.",lede:"With nearly 30 years behind the chair, Kenneth serves clients in NYC and Sag Harbor. His consultations are calm and detailed, and his work spans precision cuts and color across hair textures. He also emp
257hasizes healthy-hair routines and practical at-home care so results remain considered between appointments."},"laara-raynier":{excerpt:"British-born Laara is a Hair Cutter in NYC with 40 years of experience. She is known for precision bobs, short cuts, layers, and menâs grooming tailored to bone structure and natural movement.",lede:"Laara brings 40 years of experience to her work as a Hair Cutter in NYC. She considers bone structure, texture, growth patterns, and the way hair naturally moves before creating precision bobs, short shapes, layered cuts, or menâs grooming designed to retain their structure as they grow."},"lira-gw":{excerpt:"Lira is a Colorist in Greenwich with a 24-year career. She focuses on intentional, wearable color that complements each clientâs hair, personal style, and daily life.",lede:"Lira brings 24 years of experience to her work as a Colorist in Greenwich. She begins by understanding the clientâs hair and goals, then offers an honest perspective on what is possible and appropriate. Her approach is collaborative, with the finished color designed to feel flattering, wearable, and personal."},lorgie:{excerpt:"Lorgie is a Stylist in Greenwich with a decade of professional experience. His work spans blonding, color correction, styling, and makeup with hair health as the starting point.",lede:"Based in Greenwich, Lorgie brings ten years of professional experience across color, styling, and makeup. He is particularly drawn to blonding and color correction, but begins by considering the condition of the hair and the clientâs goals so the result can feel current without compromising health."},michelle:{excerpt:"Michelle is a Stylist in Sag Harbor who enjoys creating layered haircuts with movement and volume. Her work begins with a thorough consultation and a realistic plan centered on hair health.",lede:"Michelle works with all hair types in Sag Harbor and particularly enjoys fine to medium hair and straight to wavy textures. She begins with the clientâs goals and hair history, then develops a customized approach that considers face shape, movement, fullness, maintenance, and how the result will grow out."},monika:{excerpt:"Monika is a Stylist in NYC whose work centers on precision haircuts and voluminous blowouts. She aims for soft, timeless results that feel natural and manageable.",lede:"Monika approaches each appointment with a detailed consultation intended to make first-time clients feel comfortable and understood. She particularly enjoys fine to medium hair, customizing haircuts and blowouts around face shape, lifestyle, natural texture, and the clientâs own sense of individuality."},nafisah:{excerpt:"Nafisah is a Stylist and Extension Expert in NYC with more than 20 years of experience. She works across textures with an emphasis on natural-looking fullness and protecting hair integrity.",lede:"Nafisah brings more than 20 years of styling and extension experience to NYC. Her training spans multiple extension methods, and she selects techniques according to texture, desired fullness, and the health of the natural hair. The goal is a seamless result that still feels like the client."},naru:{excerpt:"Naru is a Stylist serving NYC and Greenwich with more than two decades at Warren Tricomi. Her work draws on training in Japan and the United States and a close reading of each clientâs natural features.",lede:"Naru brings more than two decades at Warren Tricomi to clients in NYC and Greenwich. Training in Japan and the United States informs a considered approach to haircuts and styling for women, men, and students, with each look designed to enhance the clientâs natural beauty and individual presence."},nate:{excerpt:"Nate is a senior Stylist in NYC with more than two decades in the industry. Her consultations focus on understanding the clientâs needs and creating current, polished shapes that complement their features.",lede:"Nate brings more than 20 years of experience to her work as a senior Stylist in NYC. She began her Warren Tricomi career at the Plaza Hotel salon and continues to build each appointment around careful consultation, feature-aware shaping, and a result that feels current without becoming difficult to maintain."},nina:{excerpt:"NYC-born senior Stylist Nina brings 18 years behind the chair to precision haircuts, barber cuts, and shapes designed to honor each clientâs individual style.",lede:"Born and raised in NYC, Nina has spent 18 years behind the chair. Training under established stylists and salon owners helped shape an approach centered on precision, individuality, and haircuts that continue to work in their natural state as they grow."},nozomi:{excerpt:"Nozomi is a Stylist in NYC with 18 years of professional experience. She combines efficie
257nt technique with close attention to the health, condition, and natural quality of the hair.",lede:"Nozomi brings 18 years of experience to her work as a Stylist in NYC. Her approach balances technical efficiency with treatments and styling choices intended to keep hair healthy, youthful, and polished. Each service begins with the condition of the hair rather than a one-size-fits-all result."},oz:{excerpt:"Oz is an NYC Stylist with four decades devoted to hairstyling. He is known for precision dry cutting and for working with natural texture to create shapes that grow out with intention.",lede:"Oz began learning the craft in Istanbul at age thirteen and has now spent four decades behind the chair. In NYC, he focuses on precision dry cutting, natural texture, and a consultation process that considers lifestyle and maintenance before the first cut is made."},rae:{excerpt:"Rae is a Stylist in Greenwich who focuses on precision cutting and styling. Every appointment begins with a detailed consultation and a realistic, easy-to-maintain plan.",lede:"Rae provides haircuts and styling for women, men, and children in Greenwich. She begins by learning how the client wears and maintains their hair, then creates a plan that supports health, thickness, and a shape that can be managed confidently between salon visits."},"renata-nyc":{excerpt:"Renata is a Stylist in NYC with nearly 20 years in the industry, including almost 15 years on the Upper East Side. Her work is tailored to texture, lifestyle, and individual maintenance needs.",lede:"Renata brings nearly 20 years of experience to NYC, including almost 15 years on the Upper East Side. Education in styling and color informs a consultation-led approach that considers texture, lifestyle, and the degree of maintenance a client prefers before defining the finished shape."},"ric-nyc":{excerpt:"Ric is a Stylist in NYC and Sag Harbor with more than 40 years of experience. He specializes in menâs grooming, haircuts, editorial styling, and creating fullness in fine hair.",lede:"Ricâs career spans more than 40 years, beginning in Sydney and continuing through London before NYC. Today he serves clients in NYC and Sag Harbor, with work that includes menâs grooming, long layers, editorial styling, and haircuts designed to grow out with balance and make fine hair appear fuller."},sachi:{excerpt:"Sachi is a Colorist in NYC with more than 24 years of experience. She specializes in balayage, foil highlights, and single-process color designed as subtle enhancements of the clientâs natural features.",lede:"Sachi brings more than 24 years behind the chair to her work as a Colorist in NYC. Her focus includes balayage, foil highlights, and single-process color, with consultations built around seamless results, hair health, and efficient service for clients who value considered maintenance."},silvie:{excerpt:"Silvie is a Colorist in Greenwich with nearly two decades of experience. She specializes in highlights, balayage, and Brazilian blowouts selected according to each clientâs hair and desired result.",lede:"Silvie brings nearly two decades of experience to Greenwich. Her work spans highlights, balayage, and Brazilian blowouts, with each technique chosen according to the clientâs starting point and vision. She values honest consultation, close listening, and a creative approach that keeps the result personal."},sonia:{excerpt:"Sonia is a Stylist in Greenwich with 20 years in the hair industry. She listens closely and creates low-maintenance or classic shapes that reflect the clientâs individual character.",lede:"Sonia brings 20 years of experience to her work as a Stylist in Greenwich. Her consultation begins with listening and practical guidance, whether the client wants a low-maintenance shape for a busy schedule or a classic cut that reflects their own style and natural essence."},stephanie:{excerpt:"Stephanie is a Stylist in Greenwich with more than 30 years of experience. Her work includes personalized cutting, modern styling, hair extensions, and smoothing treatments.",lede:"Stephanie brings more than 30 years behind the chair to Greenwich. She focuses on personalized cuts, styling, extensions, and smoothing treatments, adapting technique to texture, lifestyle, and what a client can comfortably maintain. The result is
257intended to feel polished without becoming overworked."},tonya:{excerpt:"Tonya is a Colorist in Greenwich with more than 35 years of industry experience. Her approach combines personalized color, styling knowledge, treatments, and close attention to hair health.",lede:"Tonya brings more than 35 years of experience to Greenwich. Her background spans color, cutting, styling, and treatment knowledge, which she uses to consider the complete condition of the hair before recommending a direction. Consultations are individualized, with technique selected around the client rather than a fixed formula."},trevy:{excerpt:"Trevy is a Colorist with 18 years behind the chair. She focuses on personalized hair color, dimensional blonding, and advanced color correction.",lede:"Trevy brings 18 years of experience to color formulation, dimensional blonding, and advanced color correction. She begins with a detailed consultation covering hair, lifestyle, and long-term goals, then creates a plan that prioritizes softness, blend, longevity, and the integrity of the hair."}},_t={homeHero:"/manus-storage/wt-home-hero-bright-even-lower-wave_22748b1c.webp",homeHeroMobile:"/manus-storage/wt-home-hero-mobile-bright-exact_ef4d1299.webp",generatedInterior:"/manus-storage/wt-location-madison-ave_cb5cee62.webp",serviceCut:"/manus-storage/wt-service-fallback_b96ef4e7.jpg",suppliedHaircuts:"/manus-storage/wt-supplied-haircuts-styling_0885efdb.jpg",suppliedMens:"/manus-storage/wt-supplied-mens-grooming_57c30c3b.jpg",suppliedBeauty:"/manus-storage/wt-supplied-beauty_803c6f0f.jpg",suppliedBridal:"/manus-storage/wt-supplied-bridal_b30a895c.jpg",atHome:"/manus-storage/wt-athome-fallback_06232fc9.jpg",nyc:"/manus-storage/wt-location-madison-ave_cb5cee62.webp",sagHarbor:"/manus-storage/wt-location-sag-harbor_261ec60f.png",greenwich:"/manus-storage/wt-location-greenwich-upscale-wide_854ecd06.png",about:"/manus-storage/wt-about-salon_b3da055b.jpg",bridal:"/manus-storage/bridal-editorial_3bf5ee00.jpg",frizzJournal:"/manus-storage/frizz-journal_ed498cb3.png",ammoniaJournal:"/manus-storage/ammonia-journal_54ca0a61.jpg",giftCard:"/manus-storage/warren-tricomi-silver-gift-card_41b259ba.png"},BO="https://warrentricomi.zenoti.com/webstoreNew/giftcards",Fr=[{slug:"new-york",name:"Madison Ave, NYC",shortName:"NYC",eyebrow:"Warren Tricomi Flagship",address:"969 Madison Avenue, 4th Floor, New York, NY 10021",mapCoordinates:{lat:40.7741013,lng:-73.9630797},googleMapsPlaceId:"ChIJSSV9j8JZwokR9LQZgXrrqH8",phone:"212-262-8899",email:"[email protected]",hours:["Monday · 8AMâ6PM","TuesdayâFriday · 8AMâ8PM","Saturday · 8AMâ6PM","Sunday · Closed"],description:"Spanning an entire floor on Madison Avenue, our luxurious 6,000+ square-foot flagship pairs award-winning design and exceptional comfort with the energy of the ultimate NYC salon experience. World-class talent translates editorial hair trends into beautiful, individual looks in a destination where generations of families return to Warren Tricomi.",image:_t.nyc,bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/c600bf53-3c0b-44f4-9645-7d57f4b7e374"},{slug:"greenwich",name:"Greenwich, Connecticut",shortName:"Greenwich",eyebrow:"Warren Tricomi Connecticut",address:"1 East Putnam Avenue, Greenwich, CT 06830",mapCoordinates:{lat:41.0316421,lng:-73.6268993},googleMapsPlaceId:"ChIJ8Q37_kaYwokRbhfplDngDwY",phone:"203-863-9300",email:"[email protected]",hours:["MondayâSaturday · 8AMâ6PM","Sunday · Closed"],description:"Since 2000, Warren Tricomi has brought NYC editorial artistry, expertly trained talent, and award-winning salon design to Greenwich in an exceptional 7,000+ square-foot setting with convenient client parking. Renowned for trendsetting color, precision haircuts, and beautiful styling for every hair type, it is a singular luxury destination where families gather and return generation after generation.",image:_t.greenwich,bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/d851257d-416b-4bd3-8409-bd7048d96c18"},{slug:"sag-harbor",name:"Sag Harbor, Long Island",shortName:"Sag Harbor",eyebrow:"Warren Tr
257icomi Hamptons",address:"23 Bridge Street, Ground Floor, Sag Harbor, NY 11963",mapCoordinates:{lat:41.0004626,lng:-72.2971142},googleMapsPlaceId:"ChIJK4TQFzu96IkRmcZFpVFeHjo",phone:"631-324-3036",email:"[email protected]",hours:["MondayâSaturday · 9AMâ6PM","Sunday · Closed"],description:"Relaxed Hamptons refinement meets award-winning craft and NYC talent in a calm coastal salon open year-round, with select artists available in Sag Harbor or NYC for your convenience.",image:_t.sagHarbor,bookingUrl:"https://warrentricomi.zenoti.com/webstoreNew/services/350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452"}],Gc=[{slug:"new-york",href:"/locations/new-york",desktopLabel:"Madison Ave, NYC",mobileLabel:"NYC"},{slug:"greenwich",href:"/locations/greenwich",desktopLabel:"Greenwich, CT",mobileLabel:"Connecticut"},{slug:"sag-harbor",href:"/locations/sag-harbor",desktopLabel:"Sag Harbor",mobileLabel:"Hamptons"}],UO={href:"/press"},at={label:"At-Home",formalName:"At-Home",areaLabel:"NYC · Greenwich & Nearby · SouthamptonâMontauk",availabilityCopy:"At-Home services are available by request in NYC, Greenwich and select nearby Connecticut towns, and the Hamptons from Southampton to Montauk.",offerings:[{eyebrow:"For You",title:"Cutting & styling",description:"Haircuts, grooming, and polished styling arranged around your schedule."},{eyebrow:"For Occasions",title:"Makeup & event styling",description:"Considered looks for dinners, celebrations, editorial moments, and full-day schedules."},{eyebrow:"For Groups",title:"Bridal and bridal party",description:"Coordinated artists and timing for brides and bridal parties at residences, hotels, suites, and venues."}],href:"/at-home",inquiryHref:"/at-home/inquiry",legacyHref:"/on-location",legacyInquiryHref:"/on-location/inquiry",privateServicesHref:"/private-services",privateServicesInquiryHref:"/private-services/inquiry"},OS=[{slug:"palm-beach",name:"Palm Beach",eyebrow:"Warren Tricomi â Coming Soon",description:"A new chapter is taking shape in Palm Beach."},{slug:"miami",name:"Miami",eyebrow:"Warren Tricomi â Coming Soon",description:"A new chapter is taking shape in Miami."}],Co=IO,TS=[{slug:"haircuts-styling",title:"Haircuts & Styling",eyebrow:"Shape, movement, finish",description:"Precision cutting and polished styling shaped around your features, texture, and daily rhythm.",introduction:"Every appointment begins with a considered consultation. Your artist balances proportion, texture, movement, and maintenance to create a result that feels personal from the first day through every stage of growth.",image:_t.suppliedHaircuts,items:["Womenâs Haircuts","Blowouts","Updos","Editorial Styling"],href:"/services/haircuts-styling"},{slug:"mens-grooming",title:"Menâs Grooming",eyebrow:"Modern, precise, personal",description:"Contemporary cuts and grooming with clean structure, natural movement, and effortless upkeep.",introduction:"From refined scissor work to modern barbering, each service is designed around face shape, hair density, personal style, and how the cut should perform between appointments.",image:_t.suppliedMens,items:["Menâs Haircuts","Barber Cuts","Scissor Styling","Neck & Detail Work","Finish & Product Guidance"],href:"/services/mens-grooming"},{slug:"hair-color-balayage",title:"Hair Color & Balayage",eyebrow:"Dimension, tone, light",description:"Custom color and dimensional balayage formulated for luminosity, condition, and graceful growth.",introduction:"Our colorists consider skin tone, natural depth, hair condition, lifestyle, and long-term goals before creating a tailored formula and placement plan.",image:"/manus-storage/wt-service-color-balayage-natural-turn_40f8534d.png",items:["Single Process","Balayage","Highlights","Ombré","Corrective Color"],href:"/services/hair-color-balayage"},{slug:"brows-nails-makeup",title:"Brows, Nails & Makeup",eyebrow:"The finishing suite",description:"Refined beauty services that complete the look with equal precision, restraint, and ease.",introduction:"Our beauty artists refine brows, nails, and makeup to complement your features and occasionâwhether the brief is natural polish, camera-ready definition, or an evening transformation.",image:_t.suppliedBeauty,items:["Brow Shaping","Soft Glam Makeup","Wedding Makeup","Nails","Waxing"],href:"/services/brows-nails-makeup"},{slug:"kids-students",title:"Kids & Students",eyebrow:"Considered at every age",description:"Age-appropriate cuts and styling delivered with patience, comfort, and the same exacting craft.",introduction:"A calm consultation and thoughtful technique help younger clients feel comfortable while giving families a polished, wearable result that is simple to maintain.",image:"/manus-storage/kids-students-face-clean-v2_750291b1.png",items:["Childrenâs Haircuts","Student Haircuts","First Haircuts","Event Styling","Care Guidance"],href:"/services/kids-students"},{slug:"bridal",title:"Bridal",eyebrow:"Your day, considered",description:"Editorially refined hair and makeup created around your features, wardrobe, and celebration.",introduction:"From the first trial through the final touch, our bridal team coordinates hair and makeup with your setting, schedule, wardrobe, and personal point of view.",image:_t.suppliedBridal,items:["Bridal Hair","Bridal Makeup","Trials","Wedding Party Styling","At-Home Services"],href:"/bridal"}],qO=[{slug:"frizz-free-hair",category:"Hair Notes",author:"Warren Tr
257icomi",date:"May 15, 2026",title:"The Secret to Frizz-Free Hair",excerpt:"Expert techniques and a considered maintenance plan for smoother, more polished hair through changing weather.",tags:["Hair Health","Treatments","Styling"],image:_t.frizzJournal,imageAlt:"Smooth polished hair in a Warren Tricomi editorial",kind:"editorial",lede:"Frizz management begins with understanding how texture, condition, climate, and daily styling interact. A thoughtful salon plan can support a smoother finish while respecting the movement and character of the hair.",sections:[{heading:"Start with the hair itself",paragraphs:["Texture and condition shape every smoothing decision. The right approach considers cleansing, hydration, heat, and styling habits together rather than treating frizz as a single isolated concern."]},{heading:"Build a considered routine",paragraphs:["A consistent maintenance plan can help preserve polish between salon visits. Product selection, measured heat, and techniques suited to the individual all contribute to a composed finish through changing weather."]}]},{slug:"professional-color",category:"Color Education",author:"Warren Tricomi",date:"May 8, 2026",title:"How a Colorist Chooses the Right Professional Formula",excerpt:"A clear look at how expert colorists balance condition, tone, longevity, and creative intention.",tags:["Color","Consultation","Expertise"],image:_t.ammoniaJournal,imageAlt:"Professional hair color formulation in the Warren Tricomi Journal",kind:"editorial",lede:"Professional hair color begins with observation. Tone, condition, maintenance, and the desired degree of change all influence how a colorist approaches the formula and placement.",sections:[{heading:"A formula with context",paragraphs:["Color decisions are made in relation to the existing hair, the intended result, and the way the client plans to maintain it. The consultation establishes those priorities before the service begins."]},{heading:"Designed beyond one visit",paragraphs:["A considered color plan also accounts for growth and future appointments. The objective is a result that feels coherent on the day of service and remains manageable as the hair evolves."]}]}],CS=AS.map(e=>{const a=e.artistSlug?DO[e.artistSlug]:void 0;return a?{...e,...a}:e}),nv=CS.find(e=>e.artistSlug==="trevy"),pr=[...CS.filter(e=>e.artistSlug!=="trevy"),...nv?[nv]:[]],os=[...pr,...qO],Df="https://warrentricomi.zenoti.com/webstoreNew/services/",Up="wt:open-accessibility",Jh=[["Services","/services"],["Artists","/artists"],["Press","/press"],[at.label,at.href],["Careers","/careers"],["Journal","/journal"],["About","/about"]];function qp({light:e=!1}){return o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:24",href:"/",className:`wordmark ${e?"wordmark--light":""}`,"aria-label":"Warren Tricomi home",children:o.jsxs("span",{"data-loc":"client/src/components/SiteLayout.tsx:25",children:["WARREN ",o.jsx("b",{"data-loc":"client/src/components/SiteLayout.tsx:25",children:"â¢"})," TRICOMI"]})})}function GO(){const[e]=Vo(),[a,r]=w.useState(!1),[s,l]=w.useState(!1),[d,u]=w.useState(!1),[p,m]=w.useState(!1),[g,v]=w.useState(!1),y=e==="/",S=e.startsWith("/locations/");w.useEffect(()=>{r(!1),l(!1),u(!1),m(!1),window.scrollTo({top:0,behavior:"instant"})},[e]),w.useEffect(()=>{const N=()=>v(window.scrollY>40);return N(),window.addEventListener("scroll",N,{passive:!0}),()=>window.removeEventListener("scroll",N)},[]);const E=y&&!g&&!a;return o.jsxs(o.Fragment,{children:[o.jsx("header",{"data-loc":"client/src/components/SiteLayout.tsx:59",className:`site-header ${E?"site-header--overlay":"site-header--solid"} ${S?"site-header--location-detail":""} ${S&&!g&&!a?"is-at-top":""}`,children:o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:60",className:"site-header__inner",children:[o.jsx(qp,{"data-loc":"client/src/components/SiteLayout.tsx:61",light:E}),o.jsxs("nav",{"data-loc":"client/src/components/SiteLayout.tsx:62",className:"desktop-nav","aria-label":"Primary navigation",children:[o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:63",className:`nav-dropdown ${s?"is-open":""}`,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onBlur:N=>{N.currentTarget.contains(N.relatedTarget)||l(!1)},onKeyDown:N=>
257{N.key==="Escape"&&l(!1)},children:[o.jsxs("button",{"data-loc":"client/src/components/SiteLayout.tsx:64",type:"button",className:e.startsWith("/locations")?"active":"","aria-expanded":s,"aria-haspopup":"true","aria-controls":"desktop-location-menu",onClick:()=>l(N=>!N),children:["Locations ",o.jsx(Uc,{"data-loc":"client/src/components/SiteLayout.tsx:64",size:13})]}),o.jsx("div",{"data-loc":"client/src/components/SiteLayout.tsx:65",id:"desktop-location-menu",className:"location-menu",children:Gc.map(N=>o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:66",href:N.href,children:N.desktopLabel},N.slug))})]}),Jh.map(([N,x])=>o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:70",href:x,className:e.startsWith(x)?"active":"",children:N},x))]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:75",className:"header-actions",children:[o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:76",className:"icon-button",onClick:()=>m(!0),"aria-label":"Search",children:o.jsx(gs,{"data-loc":"client/src/components/SiteLayout.tsx:77",size:22,strokeWidth:1.5})}),o.jsx("a",{"data-loc":"client/src/components/SiteLayout.tsx:79",className:"header-book",href:Df,target:"_blank",rel:"noreferrer",children:"Book Now"}),o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:82",className:"icon-button menu-button",onClick:()=>r(!0),"aria-label":"Open menu",children:o.jsx(bO,{"data-loc":"client/src/components/SiteLayout.tsx:83",size:27,strokeWidth:1.35})})]})]})}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:89",className:`mobile-drawer ${a?"is-open":""}`,"aria-hidden":!a,children:[o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:90",className:"drawer-backdrop",onClick:()=>r(!1),"aria-label":"Close menu"}),o.jsxs("aside",{"data-loc":"client/src/components/SiteLayout.tsx:91",className:"drawer-panel","aria-label":"Mobile navigation",children:[o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:92",className:"drawer-head",children:[o.jsx(qp,{"data-loc":"client/src/components/SiteLayout.tsx:93"}),o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:94",className:"icon-button",onClick:()=>r(!1),"aria-label":"Close menu",children:o.jsx(Qr,{"data-loc":"client/src/components/SiteLayout.tsx:94"})})]}),o.jsxs("nav",{"data-loc":"client/src/components/SiteLayout.tsx:96",children:[o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:97",className:`drawer-location-group ${d?"is-open":""}`,children:[o.jsxs("button",{"data-loc":"client/src/components/SiteLayout.tsx:98",type:"button",className:"drawer-location-toggle","aria-expanded":d,"aria-controls":"mobile-location-menu",onClick:()=>u(N=>!N),children:["Locations ",o.jsx(Uc,{"data-loc":"client/src/components/SiteLayout.tsx:98",size:20})]}),o.jsx("div",{"data-loc":"client/src/components/SiteLayout.tsx:99",id:"mobile-location-menu",className:"drawer-location-menu",children:Gc.map(N=>o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:100",href:N.href,children:N.mobileLabel},N.slug))})]}),Jh.slice(0,4).map(([N,x])=>o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:104",href:x,children:N},x)),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:106",className:"drawer-secondary","aria-label":"Additional navigation",children:[Jh.slice(4).map(([N,x])=>o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:108",href:x,children:N},x)),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:110",href:"/gift-card",children:"Gift Card"})]})]})]})]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:116",className:`search-layer ${p?"is-open":""}`,"aria-hidden":!p,children:[o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:117",className:"search-layer__close",onClick:()=>m(!1),"aria-label":"Close search",children:o.jsx(Qr,{"data-loc":"client/src/components/SiteLayout.tsx:117"})}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:118",className:"search-layer__content",children:[o.jsx("span",{"data-loc":"client/src/components/SiteLayout.tsx:119",className:"eyebrow",children:"Search Warren Tr
257icomi"}),o.jsx("label",{"data-loc":"client/src/components/SiteLayout.tsx:120",htmlFor:"site-search",children:"What are you looking for?"}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:121",className:"search-field",children:[o.jsx(gs,{"data-loc":"client/src/components/SiteLayout.tsx:121"}),o.jsx("input",{"data-loc":"client/src/components/SiteLayout.tsx:121",id:"site-search",autoFocus:p,placeholder:"Artist, service, locationâ¦"})]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:122",className:"search-links",children:[o.jsxs(xe,{"data-loc":"client/src/components/SiteLayout.tsx:123",href:"/artists",children:["Find an artist ",o.jsx(st,{"data-loc":"client/src/components/SiteLayout.tsx:123"})]}),o.jsxs(xe,{"data-loc":"client/src/components/SiteLayout.tsx:124",href:"/services",children:["Explore services ",o.jsx(st,{"data-loc":"client/src/components/SiteLayout.tsx:124"})]}),o.jsxs(xe,{"data-loc":"client/src/components/SiteLayout.tsx:125",href:"/locations",children:["Choose a location ",o.jsx(st,{"data-loc":"client/src/components/SiteLayout.tsx:125"})]})]})]})]})]})}function WO(){return o.jsx("a",{"data-loc":"client/src/components/SiteLayout.tsx:134",className:"booking-bar",href:Df,target:"_blank",rel:"noreferrer","aria-label":"Book an appointment",children:"Book Now"})}const ep={textSize:0,contrast:!1,reducedMotion:!1};function YO(){const[e,a]=w.useState(!1),[r,s]=w.useState(ep),l=w.useRef(null),d=p=>{s(p);const m=document.documentElement;m.classList.toggle("a11y-text-lg",p.textSize===1),m.classList.toggle("a11y-text-xl",p.textSize===2),m.classList.toggle("a11y-contrast",p.contrast),m.classList.toggle("a11y-reduced-motion",p.reducedMotion);try{window.localStorage.setItem("wt-accessibility",JSON.stringify(p))}catch{}};w.useEffect(()=>{try{const p=window.localStorage.getItem("wt-accessibility");p&&d({...ep,...JSON.parse(p)})}catch{}},[]),w.useEffect(()=>{const p=()=>{a(!0),requestAnimationFrame(()=>l.current?.focus())};return window.addEventListener(Up,p),()=>window.removeEventListener(Up,p)},[]);const u=p=>d({...r,textSize:p});return o.jsx("div",{"data-loc":"client/src/components/SiteLayout.tsx:178",className:`accessibility-panel-host ${e?"is-open":""}`,children:o.jsxs("section",{"data-loc":"client/src/components/SiteLayout.tsx:179",id:"accessibility-panel",className:"accessibility-panel","aria-label":"Accessibility settings","aria-hidden":!e,children:[o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:180",className:"accessibility-panel__head",children:[o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:180",children:[o.jsx("span",{"data-loc":"client/src/components/SiteLayout.tsx:180",children:"Accessibility"}),o.jsx("small",{"data-loc":"client/src/components/SiteLayout.tsx:180",children:"Viewing options"})]}),o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:180",ref:l,type:"button","aria-label":"Close accessibility settings",onClick:()=>a(!1),children:o.jsx(Qr,{"data-loc":"client/src/components/SiteLayout.tsx:180",size:17})})]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:181",className:"accessibility-setting",children:[o.jsx("span",{"data-loc":"client/src/components/SiteLayout.tsx:181",children:"Text size"}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:181",children:[o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:181",type:"button","aria-label":"Decrease text size",disabled:r.textSize===0,onClick:()=>u(Math.max(0,r.textSize-1)),children:o.jsx(vO,{"data-loc":"client/src/components/SiteLayout.tsx:181",size:16})}),o.jsx("output",{"data-loc":"client/src/components/SiteLayout.tsx:181","aria-live":"polite",children:["Default","Large","Larger"][r.textSize]}),o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:181",type:"button","aria-label":"Increase text size",disabled:r.textSize===2,onClick:()=>u(Math.min(2,r.textSize+1)),children:o.jsx(_o,{"data-loc":"client/src/components/SiteLayout.tsx:181",size:16})})]})]}),o.jsxs("button",{"data-loc":"client/src/components/SiteLayout.tsx:182",type:"button",className:"accessibility-toggle","aria-pressed":r.contrast,onClick:()=>d({...r,contrast:!r.contrast}),children:[o.jsx(hO,{"data-loc":"client/src/components/SiteLayout.tsx:182",size:18}),o.jsx("span",{"data-loc":"client/src/components/SiteLayout.tsx:182",children:"High contrast"}),o.jsx("b",{"data-loc":"client/src/components/SiteLayout.tsx:182",children:r.contrast?"On":"Off"})]}),o.jsxs("button",{"data-loc":"client/src/components/SiteLayout.tsx:183",type:"button",className:"accessibility-toggle","aria-pressed":r.reducedMotion,onClick:()=>d({...r,reducedMotion:!r.reducedMotion}),children:[o.jsx(EO,{"data-loc":"client/src/components/SiteLayout.tsx:183",size:18}),o.jsx("span",{"data-loc":"client/src/components/SiteLayout.tsx:183",children:"Reduce motion"}),o.jsx("b",{"data-loc":"client/src/components/SiteLayout.tsx:183",children:r.reducedMotion?"On":"Off"})]}),o.jsxs("button",{"data-loc":"client/src/components/SiteLayout.tsx:184",type:"button",className:"accessibility-reset",onClick:()=>d(ep),children:[o.jsx(_f,{"data-loc":"client/src/components/SiteLayout.tsx:184",size:15})," Reset options"]})]})})}function $O(){return o.jsxs("footer",{"data-loc":"client/src/components/SiteLayout.tsx:191",id:"site-footer",className:"site-footer",children:[o.jsx(qp,{"data-loc":"client/src/components/SiteLayout.tsx:192"}),o.jsxs("nav",{"data-loc":"client/src/components/SiteLayout.tsx:194",className:"site-footer__nav","aria-label":"Footer navigation",children:[o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:195",children:[o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:195",href:"/services",children:"Services"}),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:195",href:"/about",children:"Our Story"})]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:196",children:[o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:196",href:"/gift-card",children:"Gift Cards"}),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:196",href:at.href,children:at.label}),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:196",href:"/press",children:"Press"}),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:196",href:"/careers",children:"Careers"})]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:197",children:[o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:197",href:"/faq",children:"FAQ"}),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:197",href:"/space-rental-events",children:"Events"})]})]}),o.jsxs("nav",{"data-loc":"client/src/components/SiteLayout.tsx:200",className:"site-footer__social","aria-label":"Social media",children:[o.jsx("a",{"data-loc":"client/src/components/SiteLayout.tsx:201",href:"https://www.instagram.com/warrentricomi/",target:"_blank",rel:"noreferrer","aria-label":"Warren Tr
257icomi on Instagram",children:o.jsx(Mf,{"data-loc":"client/src/components/SiteLayout.tsx:201","aria-hidden":"true"})}),o.jsx("a",{"data-loc":"client/src/components/SiteLayout.tsx:202",href:"https://www.facebook.com/WarrenTricomi/",target:"_blank",rel:"noreferrer","aria-label":"Warren Tricomi on Facebook",children:o.jsx(fO,{"data-loc":"client/src/components/SiteLayout.tsx:202","aria-hidden":"true"})}),o.jsx("a",{"data-loc":"client/src/components/SiteLayout.tsx:203",href:"https://www.tiktok.com/@warrentricomi",target:"_blank",rel:"noreferrer","aria-label":"Warren Tricomi on TikTok",children:o.jsx(wO,{"data-loc":"client/src/components/SiteLayout.tsx:203","aria-hidden":"true"})})]}),o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:206",className:"site-footer__meta",children:[o.jsx("span",{"data-loc":"client/src/components/SiteLayout.tsx:207",children:"© 2026 Warren Tricomi. All rights reserved."}),o.jsx("div",{"data-loc":"client/src/components/SiteLayout.tsx:208",className:"site-footer__meta-row",children:o.jsxs("nav",{"data-loc":"client/src/components/SiteLayout.tsx:209",className:"site-footer__legal","aria-label":"Legal and accessibility",children:[o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:210",href:"/privacy",children:"Privacy"}),o.jsx(xe,{"data-loc":"client/src/components/SiteLayout.tsx:211",href:"/terms",children:"Terms & Conditions"}),o.jsx("button",{"data-loc":"client/src/components/SiteLayout.tsx:212",type:"button","aria-label":"Open accessibility settings","aria-controls":"accessibility-panel",onClick:()=>window.dispatchEvent(new Event(Up)),children:"Accessibility"})]})})]})]})}function FO({children:e}){const[a]=Vo();return o.jsxs("div",{"data-loc":"client/src/components/SiteLayout.tsx:222",className:`wt-shell ${a.startsWith("/locations/")?"wt-shell--location-detail":""}`,children:[o.jsx(GO,{"data-loc":"client/src/components/SiteLayout.tsx:222"}),o.jsx("main",{"data-loc":"client/src/components/SiteLayout.tsx:222",children:e}),o.jsx($O,{"data-loc":"client/src/components/SiteLayout.tsx:222"}),o.jsx(YO,{"data-loc":"client/src/components/SiteLayout.tsx:222"}),o.jsx(WO,{"data-loc":"client/src/components/SiteLayout.tsx:222"})]})}const sv=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ov=eS,KO=(e,a)=>r=>{var s;if(a?.variants==null)return ov(e,r?.class,r?.className);const{variants:l,defaultVariants:d}=a,u=Object.keys(l).map(g=>{const v=r?.[g],y=d?.[g];if(v===null)return null;const S=sv(v)||sv(y);return l[g][S]}),p=r&&Object.entries(r).reduce((g,v)=>{let[y,S]=v;return S===void 0||(g[y]=S),g},{}),m=a==null||(s=a.compoundVariants)===null||s===void 0?void 0:s.reduce((g,v)=>{let{class:y,className:S,...E}=v;return Object.entries(E).every(N=>{let[x,k]=N;return Array.isArray(k)?k.includes({...d,...p}[x]):{...d,...p}[x]===k})?[...g,y,S]:g},[]);return ov(e,u,m,r?.class,r?.className)},VO=KO("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-transparent shadow-xs hover:bg-accent dark:bg-transparent dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function ZO({className:e,variant:a,size:r,asChild:s=!1,...l}){const d=s?qE:"button";return o.jsx(d,{"data-loc":"client/src/components/ui/button.tsx:52","data-slot":"button",className:qt(VO({variant:a,size:r,className:e})),...l})}function QO({className:e,...a}){return o.jsx("div",{"data-loc":"client/src/components/ui/card.tsx:7","data-slot":"card",className:qt("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...a})}function XO({className:e,...a}){return o.jsx("div",{"data-loc":"client/src/components/ui/card.tsx:66","data-slot":"card-content",className:qt("px-6",e),...a})}function lv(){const[,e]=Vo(),a=()=>{e("/")};return o.jsx("div",{"data-loc":"client/src/pages/NotFound.tsx:14",className:"min-h-screen w-full flex items-center justify-center bg-gradient-to-br from-slate-50 to-slate-100",children:o.jsx(QO,{"data-loc":"client/src/pages/NotFound.tsx:15",className:"w-full max-w-lg mx-4 shadow-lg border-0 bg-white/80 backdrop-blur-sm",children:o.jsxs(XO,{"data-loc":"client/src/pages/NotFound.tsx:16",className:"pt-8 pb-8 text-center",children:[o.jsx("div",{"data-loc":"client/src/pages/NotFound.tsx:17",className:"flex justify-center mb-6",children:o.jsxs("div",{"data-loc":"client/src/pages/NotFound.tsx:18",className:"relative",children:[o.jsx("div",{"data-loc":"client/src/pages/NotFound.tsx:19",className:"absolute inset-0 bg-red-100 rounded-full animate-pulse"}),o.jsx(dO,{"data-loc":"client/src/pages/NotFound.tsx:20",className:"relative h-16 w-16 text-red-500"})]})}),o.jsx("h1",{"data-loc":"client/src/pages/NotFound.tsx:24",className:"text-4xl font-bold text-slate-900 mb-2",children:"404"}),o.jsx("h2",{"data-loc":"client/src/pages/NotFound.tsx:26",className:"text-xl font-semibold text-slate-700 mb-4",children:"Page Not Found"}),o.jsxs("p",{"data-loc":"client/src/pages/NotFound.tsx:30",className:"text-slate-600 mb-8 leading-relaxed",children:["Sorry, the page you are looking for doesn't exist.",o.jsx("br",{"data-loc":"client/src/pages/NotFound.tsx:32"}),"It may have been moved or deleted."]}),o.jsx("div",{"data-loc":"client/src/pages/NotFound.tsx:36",className:"flex flex-col sm:flex-row gap-3 justify-center",children:o.jsxs(ZO,{"data-loc":"client/src/pages/NotFound.tsx:37",onClick:a,className:"bg-blue-600 hover:bg-blue-700 text-white px-6 py-2.5 rounded-lg transition-all duration-200 shadow-md hover:shadow-lg",children:[o.jsx(Hp,{"data-loc":"client/src/pages/NotFound.tsx:41",className:"w-4 h-4 mr-2"}),"Go Home"]})})]})})})}
257class JO extends w.Component{constructor(a){super(a),this.state={hasError:!1,error:null}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}render(){return this.state.hasError?o.jsx("div",{"data-loc":"client/src/components/ErrorBoundary.tsx:27",className:"flex items-center justify-center min-h-screen p-8 bg-background",children:o.jsxs("div",{"data-loc":"client/src/components/ErrorBoundary.tsx:28",className:"flex flex-col items-center w-full max-w-2xl p-8",children:[o.jsx(SS,{"data-loc":"client/src/components/ErrorBoundary.tsx:29",size:48,className:"text-destructive mb-6 flex-shrink-0"}),o.jsx("h2",{"data-loc":"client/src/components/ErrorBoundary.tsx:34",className:"text-xl mb-4",children:"An unexpected error occurred."}),o.jsx("div",{"data-loc":"client/src/components/ErrorBoundary.tsx:36",className:"p-4 w-full rounded bg-muted overflow-auto mb-6",children:o.jsx("pre",{"data-loc":"client/src/components/ErrorBoundary.tsx:37",className:"text-sm text-muted-foreground whitespace-break-spaces",children:this.state.error?.stack})}),o.jsxs("button",{"data-loc":"client/src/components/ErrorBoundary.tsx:42",onClick:()=>window.location.reload(),className:qt("flex items-center gap-2 px-4 py-2 rounded-lg","bg-primary text-primary-foreground","hover:opacity-90 cursor-pointer"),children:[o.jsx(_f,{"data-loc":"client/src/components/ErrorBoundary.tsx:50",size:16}),"Reload Page"]})]})}):this.props.children}}const eT=w.createContext(void 0);function tT({children:e,defaultTheme:a="light",switchable:r=!1}){const[s,l]=w.useState(()=>r&&localStorage.getItem("theme")||a);w.useEffect(()=>{const u=document.documentElement;s==="dark"?u.classList.add("dark"):u.classList.remove("dark"),r&&localStorage.setItem("theme",s)},[s,r]);const d=r?()=>{l(u=>u==="light"?"dark":"light")}:void 0;return o.jsx(eT.Provider,{"data-loc":"client/src/contexts/ThemeContext.tsx:52",value:{theme:s,toggleTheme:d,switchable:r},children:e})}const aT=new Set(["stylist","colorist","colorist and stylist","colorist & stylist","colorist/stylist","stylist + colorist","makeup artist/blowouts"]);function iT(e){const a=e.toLowerCase();return a.includes("nail")&&(a.includes("brow")||a.includes("wax"))?["Nail Care","Brow Shaping & Design","Waxing & Grooming"]:(a.includes("brow")||a.includes("eyebrow")||a.includes("esthetic"))&&a.includes("makeup")?["Brow Shaping & Design","Makeup Artistry","Special Occasion Beauty"]:a.includes("makeup")&&(a.includes("blowout")||a.includes("stylist"))?["Makeup Artistry","Blowouts & Styling","Special Occasion Beauty"]:a.includes("makeup")?["Makeup Artistry","Special Occasion Beauty","Bridal Beauty"]:a.includes("nail")||a.includes("manicurist")?["Manicures","Nail Care","Polish & Finishing"]:a.includes("brow")||a.includes("eyebrow")?["Brow Shaping & Design","Brow Tinting","Facial Waxing"]:a.includes("man haircut")?["Menâs Haircuts","Scissor & Clipper Work","Styling & Grooming"]:a.includes("extension")?["Haircuts & Styling","Hair Extensions","Blowouts"]:a.includes("colorist")&&a.includes("stylist")?["Haircuts & Styling","Hair Color","Highlights & Balayage"]:a.includes("colorist")?["Hair Color","Highlights","Balayage & Lived-In Color"]:a.includes("stylist")?["Haircuts & Styling","Blowouts","Editorial Styling"]:["Haircuts & Styling","Blowouts","Consultation & Finish"]}function pd(e){const r=[...e.specialties.filter(s=>!aT.has(s.toLowerCase())),...iT(e.role)].filter((s,l,d)=>d.findIndex(u=>u.toLowerCase()===s.toLowerCase())===l);return[r[0],r[1],r[2]]}function Bf(e){const a=e.phone.replace(/\D/g,"");return{callHref:`tel:${a}`,textHref:`sms:${a}`,emailHref:`mailto:${e.email}`}}function ot({href:e,children:a,dark:r=!1,external:s=!1,ariaLabel:l}){const d=`arrow-link ${r?"arrow-link--dark":""}`;return s?o.jsxs("a",{"data-loc":"client/src/components/Editorial.tsx:16",className:d,href:e,target:"_blank",rel:"noreferrer","aria-label":l,children:[a,o.jsx(st,{"data-loc":"client/src/components/Editorial.tsx:16"})]}):o.jsxs(xe,{"data-loc":"client/src/components/Editorial.tsx:17",className:d,href:e,"aria-label":l,children:[a,o.jsx(st,{"data-loc":"client/src/components/Editorial.tsx:17"})]})}
257function Pi({eyebrow:e,title:a,copy:r,action:s}){return o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:22",className:"section-intro reveal",children:[o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:23",className:"eyebrow",children:e}),o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:24",children:[o.jsx("h2",{"data-loc":"client/src/components/Editorial.tsx:24",children:a}),r&&o.jsx("p",{"data-loc":"client/src/components/Editorial.tsx:24",children:r})]}),s&&o.jsx(ot,{"data-loc":"client/src/components/Editorial.tsx:25",href:s.href,children:s.label})]})}function As({image:e,eyebrow:a,title:r,copy:s,align:l="left",children:d}){return o.jsxs("section",{"data-loc":"client/src/components/Editorial.tsx:32",className:`page-hero page-hero--${l}`,children:[o.jsx("img",{"data-loc":"client/src/components/Editorial.tsx:33",src:e,alt:""}),o.jsx("div",{"data-loc":"client/src/components/Editorial.tsx:34",className:"page-hero__wash"}),o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:35",className:"page-hero__content reveal",children:[o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:36",className:"eyebrow eyebrow--light",children:a}),o.jsx("h1",{"data-loc":"client/src/components/Editorial.tsx:36",children:r}),s&&o.jsx("p",{"data-loc":"client/src/components/Editorial.tsx:36",children:s}),d]})]})}function rT({active:e}){const a=[{desktop:"NYC",mobile:"NYC",slug:"new-york"},{desktop:"Greenwich",mobile:"Connecticut",slug:"greenwich"},{desktop:"Sag Harbor",mobile:"Hamptons",slug:"sag-harbor"}];return o.jsx("nav",{"data-loc":"client/src/components/Editorial.tsx:48",className:"location-rail","aria-label":"Salon locations",children:a.map(r=>o.jsxs(xe,{"data-loc":"client/src/components/Editorial.tsx:48",href:`/locations/${r.slug}`,className:e===r.slug?"active":"",children:[o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:48",className:"location-rail__desktop",children:r.desktop}),o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:48",className:"location-rail__mobile",children:r.mobile})]},r.slug))})}function nT({location:e}){return o.jsxs("article",{"data-loc":"client/src/components/Editorial.tsx:53",className:"location-card reveal",children:[o.jsx(xe,{"data-loc":"client/src/components/Editorial.tsx:54",href:`/locations/${e.slug}`,className:"location-card__image",children:o.jsx("img",{"data-loc":"client/src/components/Editorial.tsx:54",src:e.image,alt:`${e.shortName} salon`})}),o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:55",className:"location-card__copy",children:[o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:55",className:"eyebrow",children:e.eyebrow}),o.jsx("h3",{"data-loc":"client/src/components/Editorial.tsx:55",children:e.name}),o.jsx("p",{"data-loc":"client/src/components/Editorial.tsx:55",children:e.description}),o.jsx(ot,{"data-loc":"client/src/components/Editorial.tsx:55",href:`/locations/${e.slug}`,children:"View this salon"})]})]})}function Uf({artist:e,className:a=""}){if(e.image)return o.jsx("img",{"data-loc":"client/src/components/Editorial.tsx:61",className:a,src:e.image,alt:`${e.name}, ${e.role}`,loading:"lazy",decoding:"async"});const r=e.name.split(/\s+/).map(s=>s[0]).join("").slice(0,2).toUpperCase();return o.jsxs("span",{"data-loc":"client/src/components/Editorial.tsx:63",className:`artist-placeholder ${a}`.trim(),role:"img","aria-label":`${e.name}, ${e.role}`,children:[o.jsx("small",{"data-loc":"client/src/components/Editorial.tsx:63",children:"Warren Tricomi"}),o.jsx("strong",{"data-loc":"client/src/components/Editorial.tsx:63",children:r})]})}function sT({artist:e}){const a=pd(e);return o.jsxs("article",{"data-loc":"client/src/components/Editorial.tsx:69",className:"artist-card reveal",children:[o.jsxs(xe,{"data-loc":"client/src/components/Editorial.tsx:70",href:`/artists/${e.slug}`,className:"artist-card__image",children:[o.jsx(Uf,{"data-loc":"client/src/components/Editorial.tsx:71",artist:e,className:"artist-portrait--card"}),e.founderLabel&&o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:72",className:"artist-card__badge artist-card__badge--founder",children:e.founderLabel}),e.locationCount&&e.locationCount>1&&o.jsxs("span",{"data-loc":"client/src/components/Editorial.tsx:73",className:"artist-card__badge artist-card__badge--locations",children:[e.locationCount," Locations"]})]}),o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:75",className:"artist-card__body",children:[o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:75",className:"eyebrow",children:hd(e)}),o.jsx("h3",{"data-loc":"client/src/components/Editorial.tsx:75",children:o.jsx(xe,{"data-loc":"client/src/components/Editorial.tsx:75",href:`/artists/${e.slug}`,children:e.name})}),o.jsx("p",{"data-loc":"client/src/components/Editorial.tsx:75",className:"artist-card__role",children:e.role}),o.jsx("ul",{"data-loc":"client/src/components/Editorial.tsx:75",className:"artist-card__specialties","aria-label":`${e.name}
257 specialties`,children:a.map(r=>o.jsx("li",{"data-loc":"client/src/components/Editorial.tsx:75",children:r},r))}),o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:76",className:"artist-card__links",children:[e.instagram&&o.jsxs("a",{"data-loc":"client/src/components/Editorial.tsx:76",href:`https://instagram.com/${e.instagram}`,target:"_blank",rel:"noreferrer",children:[o.jsx(Mf,{"data-loc":"client/src/components/Editorial.tsx:76"})," @",e.instagram]}),e.journalSlug&&o.jsxs(xe,{"data-loc":"client/src/components/Editorial.tsx:76",href:`/journal/${e.journalSlug}`,children:[o.jsx(nO,{"data-loc":"client/src/components/Editorial.tsx:76"})," Read in Journal"]})]})]})]})}function Ho({story:e,featured:a=!1}){return o.jsxs("article",{"data-loc":"client/src/components/Editorial.tsx:84",className:`journal-card ${a?"journal-card--featured":""}${e.kind==="artist-spotlight"?" journal-card--artist":""} reveal`,children:[o.jsx(xe,{"data-loc":"client/src/components/Editorial.tsx:85",href:`/journal/${e.slug}`,className:"journal-card__image",children:o.jsx("img",{"data-loc":"client/src/components/Editorial.tsx:85",src:e.image,alt:e.imageAlt??e.title,loading:"lazy",decoding:"async"})}),o.jsxs("div",{"data-loc":"client/src/components/Editorial.tsx:86",className:"journal-card__body",children:[o.jsxs("span",{"data-loc":"client/src/components/Editorial.tsx:86",className:"eyebrow",children:[e.category," ",o.jsx("b",{"data-loc":"client/src/components/Editorial.tsx:86",children:"·"})," ",e.author]}),o.jsx("h3",{"data-loc":"client/src/components/Editorial.tsx:86",children:o.jsx(xe,{"data-loc":"client/src/components/Editorial.tsx:86",href:`/journal/${e.slug}`,children:e.title})}),o.jsx("p",{"data-loc":"client/src/components/Editorial.tsx:86",children:e.excerpt}),o.jsx("div",{"data-loc":"client/src/components/Editorial.tsx:86",className:"tag-row",children:e.tags.map(r=>o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:86",children:r},r))}),o.jsxs("small",{"data-loc":"client/src/components/Editorial.tsx:86",children:[e.author," ",o.jsx("b",{"data-loc":"client/src/components/Editorial.tsx:86",children:"â¢"})," ",e.date]})]})]})}function RS({compact:e=!1,profile:a=!1}){return o.jsxs("section",{"data-loc":"client/src/components/Editorial.tsx:93",className:`expert-match-panel${e?" expert-match-panel--compact":""}${a?" expert-match-panel--profile":""} reveal`,children:[o.jsx("span",{"data-loc":"client/src/components/Editorial.tsx:94",className:"eyebrow",children:"Warren Tricomi Expert Match"}),o.jsx("h2",{"data-loc":"client/src/components/Editorial.tsx:94",children:"Find Your Perfect Artist"}),o.jsx("p",{"data-loc":"client/src/components/Editorial.tsx:94",children:e?"Answer a few quick questions and discover artists aligned with your location, service, and point of view.":a?"Discover artists aligned with your preferred salon, service, and point of view.":"Let Warren Tricomi Expert Match guide you to the right artist. Takes 60 seconds. No account needed."}),o.jsx(ot,{"data-loc":"client/src/components/Editorial.tsx:95",href:"/expert-match",dark:!0,children:"Start your Expert Match"})]})}function oT({artist:e}){const a=HO(e);return o.jsx("div",{"data-loc":"client/src/components/Editorial.tsx:102",className:"profile-actions",children:a.map(({location:r,href:s})=>o.jsx(ot,{"data-loc":"client/src/components/Editorial.tsx:102",href:s,dark:!0,external:!0,children:a.length>1?`Book ${e.name} in ${qc(r)}`:`Book an appointment with ${e.name}`},r))})}var tp="focusScope.autoFocusOnMount",ap="focusScope.autoFocusOnUnmount",cv={bubbles:!1,cancelable:!0},lT="FocusScope",qf=w.forwardRef((e,a)=>{const{loop:r=!1,trapped:s=!1,onMountAutoFocus:l,onUnmountAutoFocus:d,...u}=e,[p,m]=w.useState(null),g=Vr(l),v=Vr(d),y=w.useRef(null),S=lt(a,x=>m(x)),E=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(s){let x=function(M){if(E.paused||!p)return;const Y=M.target;p.contains(Y)?y.current=Y:ur(y.current,{select:!0})},k=function(M){if(E.paused||!p)return;const Y=M.relatedTarget;Y!==null&&(p.contains(Y)||ur(y.current,{select:!0}))},C=function(M){if(document.activeElement===document.body)for(const L of M)L.removedNodes.length>0&&ur(p)};document.addEventListener("focusin",x),document.addEventListener("focusout",k);const I=new MutationObserver(C);return p&&I.observe(p,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",x),document.removeEventListener("focusout",k),I.disconnect()}}},[s,p,E.paused]),w.useEffect(()=>{if(p){uv.add(E);const x=document.activeElement;
vendor: 8,942 bytes, lines 257-294
257if(!p.contains(x)){const C=new CustomEvent(tp,cv);p.addEventListener(tp,g),p.dispatchEvent(C),C.defaultPrevented||(cT(fT(jS(p)),{select:!0}),document.activeElement===x&&ur(p))}return()=>{p.removeEventListener(tp,g),setTimeout(()=>{const C=new CustomEvent(ap,cv);p.addEventListener(ap,v),p.dispatchEvent(C),C.defaultPrevented||ur(x??document.body,{select:!0}),p.removeEventListener(ap,v),uv.remove(E)},0)}}},[p,g,v,E]);const N=w.useCallback(x=>{if(!r&&!s||E.paused)return;const k=x.key==="Tab"&&!x.altKey&&!x.ctrlKey&&!x.metaKey,C=document.activeElement;if(k&&C){const I=x.currentTarget,[M,Y]=dT(I);M&&Y?!x.shiftKey&&C===Y?(x.preventDefault(),r&&ur(M,{select:!0})):x.shiftKey&&C===M&&(x.preventDefault(),r&&ur(Y,{select:!0})):C===I&&x.preventDefault()}},[r,s,E.paused]);return o.jsx(Ze.div,{tabIndex:-1,...u,ref:S,onKeyDown:N})});qf.displayName=lT;function cT(e,{select:a=!1}={}){const r=document.activeElement;for(const s of e)if(ur(s,{select:a}),document.activeElement!==r)return}function dT(e){const a=jS(e),r=dv(a,e),s=dv(a.reverse(),e);return[r,s]}function jS(e){const a=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const l=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||l?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)a.push(r.currentNode);return a}function dv(e,a){for(const r of e)if(!uT(r,{upTo:a}))return r}function uT(e,{upTo:a}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(a!==void 0&&e===a)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function hT(e){return e instanceof HTMLInputElement&&"select"in e}function ur(e,{select:a=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&hT(e)&&a&&e.select()}}var uv=pT();function pT(){let e=[];return{add(a){const r=e[0];a!==r&&r?.pause(),e=hv(e,a),e.unshift(a)},remove(a){e=hv(e,a),e[0]?.resume()}}}function hv(e,a){const r=[...e],s=r.indexOf(a);return s!==-1&&r.splice(s,1),r}function fT(e){return e.filter(a=>a.tagName!=="A")}var ip=0;function PS(){w.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??pv()),document.body.insertAdjacentElement("beforeend",e[1]??pv()),ip++,()=>{ip===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),ip--}},[])}function pv(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ti=function(){return ti=Object.assign||function(a){for(var r,s=1,l=arguments.length;s<l;s++){r=arguments[s];for(var d in r)Object.prototype.hasOwnProperty.call(r,d)&&(a[d]=r[d])}return a},ti.apply(this,arguments)};function IS(e,a){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&a.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,s=Object.getOwnPropertySymbols(e);l<s.length;l++)a.indexOf(s[l])<0&&Object.prototype.propertyIsEnumerable.call(e,s[l])&&(r[s[l]]=e[s[l]]);return r}function mT(e,a,r){if(r||arguments.length===2)for(var s=0,l=a.length,d;s<l;s++)(d||!(s in a))&&(d||(d=Array.prototype.slice.call(a,0,s)),d[s]=a[s]);return e.concat(d||Array.prototype.slice.call(a))}var Ic="right-scroll-bar-position",Mc="width-before-scroll-bar",gT="with-scroll-bars-hidden",yT="--removed-body-scroll-bar-size";function rp(e,a){return typeof e=="function"?e(a):e&&(e.current=a),e}function bT(e,a){var r=w.useState(function(){return{value:e,callback:a,facade:{get current(){return r.value},set current(s){var l=r.value;l!==s&&(r.value=s,r.callback(s,l))}}}})[0];return r.callback=a,r.facade}var vT=typeof window<"u"?w.useLayoutEffect:w.useEffect,fv=new WeakMap;function wT(e,a){var r=bT(null,function(s){return e.forEach(function(l){return rp(l,s)})});return vT(function(){var s=fv.get(r);if(s){var l=new Set(s),d=new Set(e),u=r.current;l.forEach(function(p){d.has(p)||rp(p,null)}),d.forEach(function(p){l.has(p)||rp(p,u)})}fv.set(r,e)},[e]),r}function xT(e){return e}function ST(e,a){a===void 0&&(a=xT);var r=[],s=!1,l={read:function(){if(s)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(d){var u=a(d,s);return r.push(u),function(){r=r.filter(function(p){return p!==u})}},assignSyncMedium:function(d){for(s=!0;r.length;){var u=r;r=[],u.forEach(d)}r={push:function(p){return d(p)},filter:function(){return r}}},assignMedium:function(d){s=!0;var u=[];if(r.length){var p=r;r=[],p.forEach(d),u=r}var m=function(){var v=u;u=[],v.forEach(d)},g=function(){return Promise.resolve().then(m)};g(),r={push:function(v){u.push(v),g()},filter:function(v){return u=u.filter(v),r}}}};return l}function AT(e){e===void 0&&(e={});var a=ST(null);return a.options=ti({async:!0,ssr:!1},e),a}var MS=function(e){var a=e.sideCar,r=IS(e,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var s=a.read();if(!s)throw new Error("Sidecar medium not found");return w.createElement(s,ti({},r))};MS.isSideCarExport=!0;function ET(e,a){return e.useMedium(a),MS}var LS=AT(),np=function(){},fd=w.forwardRef(function(e,a){var r=w.useRef(null),s=w.useState({onScrollCapture:np,onWheelCapture:np,onTouchMoveCapture:np}),l=s[0],d=s[1],u=e.forwardProps,p=e.children,m=e.className,g=e.removeScrollBar,v=e.enabled,y=e.shards,S=e.sideCar,E=e.noRelative,N=e.noIsolation,x=e.inert,k=e.allowPinchZoom,C=e.as,I=C===void 0?"div":C,M=e.gapMode,Y=IS(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),L=S,G=wT([r,a]),j=ti(ti({},Y),l);return w.createElement(w.Fragment,null,v&&w.createElement(L,{sideCar:LS,removeScrollBar:g,shards:y,noRelative:E,noIsolation:N,inert:x,setCallbacks:d,allowPinchZoom:!!k,lockRef:r,gapMode:M}),u?w.cloneElement(w.Children.only(p),ti(ti({},j),{ref:G})):w.createElement(I,ti({},j,{className:m,ref:G}),p))});fd.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};fd.classNames={fullWidth:Mc,zeroRight:Ic};var NT=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function kT(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var a=NT();return a&&e.setAttribute("nonce",a),e}function OT(e,a){e.styleSheet?e.styleSheet.cssText=a:e.appendChild(document.createTextNode(a))}function TT(e){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(e)}var CT=function(){var e=0,a=null;return{add:function(r){e==0&&(a=kT())&&(OT(a,r),TT(a)),e++},remove:function(){e--,!e&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}},RT=function(){var e=CT();return function(a,r){w.useEffect(function(){return e.add(a),function(){e.remove()}},[a&&r])}},_S=function(){var e=RT(),a=function(r){var s=r.styles,l=r.dynamic;return e(s,l),null};return a},jT={left:0,top:0,right:0,gap:0},sp=function(e){return parseInt(e||"",10)||0},PT=function(e){var a=window.getComputedStyle(document.body),r=a[e==="padding"?"paddingLeft":"marginLeft"],s=a[e==="padding"?"paddingTop":"marginTop"],l=a[e==="padding"?"paddingRight":"marginRight"];return[sp(r),sp(s),sp(l)]},IT=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return jT;var a=PT(e),r=document.documentElement.clientWidth,s=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,s-r+a[2]-a[0])}},MT=_S(),ls="data-scroll-locked",LT=function(e,a,r,s){var l=e.left,d=e.top,u=e.right,p=e.gap;return r===void 0&&(r="margin"),` 258 .`.concat(gT,` { 259 overflow: hidden `).concat(s,`; 260 padding-right: `).concat(p,"px ").concat(s,`; 261 } 262 body[`).concat(ls,`] { 263 overflow: hidden `).concat(s,`; 264 overscroll-behavior: contain; 265 `).concat([a&&"position: relative ".concat(s,";"),r==="margin"&&` 266 padding-left: `.concat(l,`px; 267 padding-top: `).concat(d,`px; 268 padding-right: `).concat(u,`px; 269 margin-left:0; 270 margin-top:0; 271 margin-right: `).concat(p,"px ").concat(s,`; 272 `),r==="padding"&&"padding-right: ".concat(p,"px ").concat(s,";")].filter(Boolean).join(""),` 273 } 274 275 .`).concat(Ic,` { 276 right: `).concat(p,"px ").concat(s,`; 277 } 278 279 .`).concat(Mc,` { 280 margin-right: `).concat(p,"px ").concat(s,`; 281 } 282 283 .`).concat(Ic," .").concat(Ic,` { 284 right: 0 `).concat(s,`; 285 } 286 287 .`).concat(Mc," .").concat(Mc,` { 288 margin-right: 0 `).concat(s,`; 289 } 290 291 body[`).concat(ls,`] { 292 `).concat(yT,": ").concat(p,`px; 293 } 294`)},mv=function(){var e=parseInt(document.body.getAttribute(ls)||"0",10);return isFinite(e)?e:0},_T=function(){w.useEffect(function(){return document.body.setAttribute(ls,(mv()+1).toString()),function(){var e=mv()-1;e<=0?document.body.removeAttribute(ls):document.body.setAttribute(ls,e.toString())}},[])}
vendor: 4,652 bytes, lines 294-297
294,HT=function(e){var a=e.noRelative,r=e.noImportant,s=e.gapMode,l=s===void 0?"margin":s;_T();var d=w.useMemo(function(){return IT(l)},[l]);return w.createElement(MT,{styles:LT(d,!a,l,r?"":"!important")})},Gp=!1;if(typeof window<"u")try{var xc=Object.defineProperty({},"passive",{get:function(){return Gp=!0,!0}});window.addEventListener("test",xc,xc),window.removeEventListener("test",xc,xc)}catch{Gp=!1}var Xn=Gp?{passive:!1}:!1,zT=function(e){return e.tagName==="TEXTAREA"},HS=function(e,a){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[a]!=="hidden"&&!(r.overflowY===r.overflowX&&!zT(e)&&r[a]==="visible")},DT=function(e){return HS(e,"overflowY")},BT=function(e){return HS(e,"overflowX")},gv=function(e,a){var r=a.ownerDocument,s=a;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var l=zS(e,s);if(l){var d=DS(e,s),u=d[1],p=d[2];if(u>p)return!0}s=s.parentNode}while(s&&s!==r.body);return!1},UT=function(e){var a=e.scrollTop,r=e.scrollHeight,s=e.clientHeight;return[a,r,s]},qT=function(e){var a=e.scrollLeft,r=e.scrollWidth,s=e.clientWidth;return[a,r,s]},zS=function(e,a){return e==="v"?DT(a):BT(a)},DS=function(e,a){return e==="v"?UT(a):qT(a)},GT=function(e,a){return e==="h"&&a==="rtl"?-1:1},WT=function(e,a,r,s,l){var d=GT(e,window.getComputedStyle(a).direction),u=d*s,p=r.target,m=a.contains(p),g=!1,v=u>0,y=0,S=0;do{if(!p)break;var E=DS(e,p),N=E[0],x=E[1],k=E[2],C=x-k-d*N;(N||C)&&zS(e,p)&&(y+=C,S+=N);var I=p.parentNode;p=I&&I.nodeType===Node.DOCUMENT_FRAGMENT_NODE?I.host:I}while(!m&&p!==document.body||m&&(a.contains(p)||a===p));return(v&&Math.abs(y)<1||!v&&Math.abs(S)<1)&&(g=!0),g},Sc=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},yv=function(e){return[e.deltaX,e.deltaY]},bv=function(e){return e&&"current"in e?e.current:e},YT=function(e,a){return e[0]===a[0]&&e[1]===a[1]},$T=function(e){return` 295 .block-interactivity-`.concat(e,` {pointer-events: none;} 296 .allow-interactivity-`).concat(e,` {pointer-events: all;} 297`)},FT=0,Jn=[];function KT(e){var a=w.useRef([]),r=w.useRef([0,0]),s=w.useRef(),l=w.useState(FT++)[0],d=w.useState(_S)[0],u=w.useRef(e);w.useEffect(function(){u.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(l));var x=mT([e.lockRef.current],(e.shards||[]).map(bv),!0).filter(Boolean);return x.forEach(function(k){return k.classList.add("allow-interactivity-".concat(l))}),function(){document.body.classList.remove("block-interactivity-".concat(l)),x.forEach(function(k){return k.classList.remove("allow-interactivity-".concat(l))})}}},[e.inert,e.lockRef.current,e.shards]);var p=w.useCallback(function(x,k){if("touches"in x&&x.touches.length===2||x.type==="wheel"&&x.ctrlKey)return!u.current.allowPinchZoom;var C=Sc(x),I=r.current,M="deltaX"in x?x.deltaX:I[0]-C[0],Y="deltaY"in x?x.deltaY:I[1]-C[1],L,G=x.target,j=Math.abs(M)>Math.abs(Y)?"h":"v";if("touches"in x&&j==="h"&&G.type==="range")return!1;var z=gv(j,G);if(!z)return!0;if(z?L=j:(L=j==="v"?"h":"v",z=gv(j,G)),!z)return!1;if(!s.current&&"changedTouches"in x&&(M||Y)&&(s.current=L),!L)return!0;var F=s.current||L;return WT(F,k,x,F==="h"?M:Y)},[]),m=w.useCallback(function(x){var k=x;if(!(!Jn.length||Jn[Jn.length-1]!==d)){var C="deltaY"in k?yv(k):Sc(k),I=a.current.filter(function(L){return L.name===k.type&&(L.target===k.target||k.target===L.shadowParent)&&YT(L.delta,C)})[0];if(I&&I.should){k.cancelable&&k.preventDefault();return}if(!I){var M=(u.current.shards||[]).map(bv).filter(Boolean).filter(function(L){return L.contains(k.target)}),Y=M.length>0?p(k,M[0]):!u.current.noIsolation;Y&&k.cancelable&&k.preventDefault()}}},[]),g=w.useCallback(function(x,k,C,I){var M={name:x,delta:k,target:C,should:I,shadowParent:VT(C)};a.current.push(M),setTimeout(function(){a.current=a.current.filter(function(Y){return Y!==M})},1)},[]),v=w.useCallback(function(x){r.current=Sc(x),s.current=void 0},[]),y=w.useCallback(function(x){g(x.type,yv(x),x.target,p(x,e.lockRef.current))},[]),S=w.useCallback(function(x){g(x.type,Sc(x),x.target,p(x,e.lockRef.current))},[]);w.useEffect(function(){return Jn.push(d),e.setCallbacks({onScrollCapture:y,onWheelCapture:y,onTouchMoveCapture:S}),document.addEventListener("wheel",m,Xn),document.addEventListener("touchmove",m,Xn),document.addEventListener("touchstart",v,Xn),function(){Jn=Jn.filter(function(x){return x!==d}),document.removeEventListener("wheel",m,Xn),document.removeEventListener("touchmove",m,Xn),document.removeEventListener("touchstart",v,Xn)}},[]);var E=e.removeScrollBar,N=e.inert;return w.createElement(w.Fragment,null,N?w.createElement(d,{styles:$T(l)}
vendor: 8,647 bytes, lines 297-301
297):null,E?w.createElement(HT,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function VT(e){for(var a=null;e!==null;)e instanceof ShadowRoot&&(a=e.host,e=e.host),e=e.parentNode;return a}const ZT=ET(LS,KT);var Gf=w.forwardRef(function(e,a){return w.createElement(fd,ti({},e,{ref:a,sideCar:ZT}))});Gf.classNames=fd.classNames;var QT=function(e){if(typeof document>"u")return null;var a=Array.isArray(e)?e[0]:e;return a.ownerDocument.body},es=new WeakMap,Ac=new WeakMap,Ec={},op=0,BS=function(e){return e&&(e.host||BS(e.parentNode))},XT=function(e,a){return a.map(function(r){if(e.contains(r))return r;var s=BS(r);return s&&e.contains(s)?s:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},JT=function(e,a,r,s){var l=XT(a,Array.isArray(e)?e:[e]);Ec[r]||(Ec[r]=new WeakMap);var d=Ec[r],u=[],p=new Set,m=new Set(l),g=function(y){!y||p.has(y)||(p.add(y),g(y.parentNode))};l.forEach(g);var v=function(y){!y||m.has(y)||Array.prototype.forEach.call(y.children,function(S){if(p.has(S))v(S);else try{var E=S.getAttribute(s),N=E!==null&&E!=="false",x=(es.get(S)||0)+1,k=(d.get(S)||0)+1;es.set(S,x),d.set(S,k),u.push(S),x===1&&N&&Ac.set(S,!0),k===1&&S.setAttribute(r,"true"),N||S.setAttribute(s,"true")}catch(C){console.error("aria-hidden: cannot operate on ",S,C)}})};return v(a),p.clear(),op++,function(){u.forEach(function(y){var S=es.get(y)-1,E=d.get(y)-1;es.set(y,S),d.set(y,E),S||(Ac.has(y)||y.removeAttribute(s),Ac.delete(y)),E||y.removeAttribute(r)}),op--,op||(es=new WeakMap,es=new WeakMap,Ac=new WeakMap,Ec={})}},US=function(e,a,r){r===void 0&&(r="data-aria-hidden");var s=Array.from(Array.isArray(e)?e:[e]),l=QT(e);return l?(s.push.apply(s,Array.from(l.querySelectorAll("[aria-live], script"))),JT(s,l,r,"aria-hidden")):function(){return null}},md="Dialog",[qS]=Yo(md),[e8,Ga]=qS(md),GS=e=>{const{__scopeDialog:a,children:r,open:s,defaultOpen:l,onOpenChange:d,modal:u=!0}=e,p=w.useRef(null),m=w.useRef(null),[g,v]=Pp({prop:s,defaultProp:l??!1,onChange:d,caller:md});return o.jsx(e8,{scope:a,triggerRef:p,contentRef:m,contentId:ns(),titleId:ns(),descriptionId:ns(),open:g,onOpenChange:v,onOpenToggle:w.useCallback(()=>v(y=>!y),[v]),modal:u,children:r})};GS.displayName=md;var WS="DialogTrigger",t8=w.forwardRef((e,a)=>{const{__scopeDialog:r,...s}=e,l=Ga(WS,r),d=lt(a,l.triggerRef);return o.jsx(Ze.button,{type:"button","aria-haspopup":"dialog","aria-expanded":l.open,"aria-controls":l.contentId,"data-state":$f(l.open),...s,ref:d,onClick:Ge(e.onClick,l.onOpenToggle)})});t8.displayName=WS;var Wf="DialogPortal",[a8,YS]=qS(Wf,{forceMount:void 0}),$S=e=>{const{__scopeDialog:a,forceMount:r,children:s,container:l}=e,d=Ga(Wf,a);return o.jsx(a8,{scope:a,forceMount:r,children:w.Children.map(s,u=>o.jsx(Fo,{present:r||d.open,children:o.jsx(Of,{asChild:!0,container:l,children:u})}))})};$S.displayName=Wf;var Wc="DialogOverlay",FS=w.forwardRef((e,a)=>{const r=YS(Wc,e.__scopeDialog),{forceMount:s=r.forceMount,...l}=e,d=Ga(Wc,e.__scopeDialog);return d.modal?o.jsx(Fo,{present:s||d.open,children:o.jsx(r8,{...l,ref:a})}):null});FS.displayName=Wc;var i8=hs("DialogOverlay.RemoveScroll"),r8=w.forwardRef((e,a)=>{const{__scopeDialog:r,...s}=e,l=Ga(Wc,r);return o.jsx(Gf,{as:i8,allowPinchZoom:!0,shards:[l.contentRef],children:o.jsx(Ze.div,{"data-state":$f(l.open),...s,ref:a,style:{pointerEvents:"auto",...s.style}})})}),Xr="DialogContent",KS=w.forwardRef((e,a)=>{const r=YS(Xr,e.__scopeDialog),{forceMount:s=r.forceMount,...l}=e,d=Ga(Xr,e.__scopeDialog);return o.jsx(Fo,{present:s||d.open,children:d.modal?o.jsx(n8,{...l,ref:a}):o.jsx(s8,{...l,ref:a})})});KS.displayName=Xr;var n8=w.forwardRef((e,a)=>{const r=Ga(Xr,e.__scopeDialog),s=w.useRef(null),l=lt(a,r.contentRef,s);return w.useEffect(()=>{const d=s.current;if(d)return US(d)},[]),o.jsx(VS,{...e,ref:l,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ge(e.onCloseAutoFocus,d=>{d.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:Ge(e.onPointerDownOutside,d=>{const u=d.detail.originalEvent,p=u.button===0&&u.ctrlKey===!0;(u.button===2||p)&&d.preventDefault()}),onFocusOutside:Ge(e.onFocusOutside,d=>d.preventDefault())})}),s8=w.forwardRef((e,a)=>{const r=Ga(Xr,e.__scopeDialog),s=w.useRef(!1),l=w.useRef(!1);return o.jsx(VS,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:d=>{e.onCloseAutoFocus?.(d),d.defaultPrevented||(s.current||r.triggerRef.current?.focus(),d.preventDefault()),s.current=!1,l.current=!1},onInteractOutside:d=>{e.onInteractOutside?.(d),d.defaultPrevented||(s.current=!0,d.detail.originalEvent.type==="pointerdown"&&(l.current=!0));const u=d.target;r.triggerRef.current?.contains(u)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&l.current&&d.preventDefault()}})}),VS=w.forwardRef((e,a)=>{const{__scopeDialog:r,trapFocus:s,onOpenAutoFocus:l,onCloseAutoFocus:d,...u}=e,p=Ga(Xr,r),m=w.useRef(null),g=lt(a,m);return PS(),o.jsxs(o.Fragment,{children:[o.jsx(qf,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:l,onUnmountAutoFocus:d,children:o.jsx(rd,{role:"dialog",id:p.contentId,"aria-describedby":p.descriptionId,"aria-labelledby":p.titleId,"data-state":$f(p.open),...u,ref:g,onDismiss:()=>p.onOpenChange(!1)})}),o.jsxs(o.Fragment,{children:[o.jsx(o8,{titleId:p.titleId}),o.jsx(c8,{contentRef:m,descriptionId:p.descriptionId})]})]})}),Yf="DialogTitle",ZS=w.forwardRef((e,a)=>{const{__scopeDialog:r,...s}=e,l=Ga(Yf,r);return o.jsx(Ze.h2,{id:l.titleId,...s,ref:a})});ZS.displayName=Yf;var QS="DialogDescription",XS=w.forwardRef((e,a)=>{const{__scopeDialog:r,...s}=e,l=Ga(QS,r);return o.jsx(Ze.p,{id:l.descriptionId,...s,ref:a})});XS.displayName=QS;var JS="DialogClose",e1=w.forwardRef((e,a)=>{const{__scopeDialog:r,...s}=e,l=Ga(JS,r);return o.jsx(Ze.button,{type:"button",...s,ref:a,onClick:Ge(e.onClick,()=>l.onOpenChange(!1))})});e1.displayName=JS;function $f(e){return e?"open":"closed"}var t1="DialogTitleWarning",[JI,a1]=BE(t1,{contentName:Xr,titleName:Yf,docsSlug:"dialog"}),o8=({titleId:e})=>{const a=a1(t1),r=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users. 298 299If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component. 300 301For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return w.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},l8="DialogDescriptionWarning",c8=({contentRef:e,descriptionId:a})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${a1(l8).contentName}}.`;return w.useEffect(()=>{const l=e.current?.getAttribute("aria-describedby");a&&l&&(document.getElementById(a)||console.warn(s))},[s,e,a]),null},d8=GS,u8=$S,h8=FS,p8=KS,f8=ZS,m8=XS,g8=e1;const i1=w.createContext({isComposing:()=>!1,setComposing:()=>{},justEndedComposing:()=>!1,markCompositionEnd:()=>{}}),y8=()=>w.useContext(i1);function b8({...e}){const a=w.useRef(!1),r=w.useRef(!1),s=w.useRef(null),l=w.useMemo(()=>({isComposing:()=>a.current,setComposing:d=>{a.current=d},justEndedComposing:()=>r.current,markCompositionEnd:()=>{r.current=!0,s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{r.current=!1},150)}}),[]);return o.jsx(i1.Provider,{"data-loc":"client/src/components/ui/dialog.tsx:50",value:l,children:o.jsx(d8,{"data-loc":"client/src/components/ui/dialog.tsx:51","data-slot":"dialog",...e})})}function v8({...e}){return o.jsx(u8,{"data-loc":"client/src/components/ui/dialog.tsx:65","data-slot":"dialog-portal",...e})}function r1({className:e,...a}){return o.jsx(h8,{"data-loc":"client/src/components/ui/dialog.tsx:79","data-slot":"dialog-overlay",className:qt("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}r1.displayName="DialogOverlay";function w8({className:e,children:a,showCloseButton:r=!0,onEscapeKeyDown:s,...l}){const{isComposing:d}=y8(),u=w.useCallback(p=>{if(p.isComposing||d()){p.preventDefault();return}s?.(p)},[d,s]);return o.jsxs(v8,{"data-loc":"client/src/components/ui/dialog.tsx:122","data-slot":"dialog-portal",children:[o.jsx(r1,{"data-loc":"client/src/components/ui/dialog.tsx:123"}),o.jsxs(p8,{"data-loc":"client/src/components/ui/dialog.tsx:124","data-slot":"dialog-content",className:qt("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 roun
301ded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),onEscapeKeyDown:u,...l,children:[a,r&&o.jsxs(g8,{"data-loc":"client/src/components/ui/dialog.tsx:135","data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[o.jsx(Qr,{"data-loc":"client/src/components/ui/dialog.tsx:139"}),o.jsx("span",{"data-loc":"client/src/components/ui/dialog.tsx:140",className:"sr-only",children:"Close"})]})]})]})}function x8({className:e,...a}){return o.jsx("div",{"data-loc":"client/src/components/ui/dialog.tsx:150","data-slot":"dialog-header",className:qt("flex flex-col gap-2 text-center sm:text-left",e),...a})}function S8({className:e,...a}){return o.jsx(f8,{"data-loc":"client/src/components/ui/dialog.tsx:176","data-slot":"dialog-title",className:qt("text-lg leading-none font-semibold",e),...a})}function A8({className:e,...a}){return o.jsx(m8,{"data-loc":"client/src/components/ui/dialog.tsx:189","data-slot":"dialog-description",className:qt("text-muted-foreground text-sm",e),...a})}const E8=JSON.parse(`[{"salon":"New York","service":"Haircut & Styling","artist":"Hiedi","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"10dd6563-69de-416e-ab30-f47f55bb9078","price":235},{"salon":"New York","service":"Haircut & Styling","artist":"Alan-David","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"6419fd48-78b6-43b1-b961-96958af285a2","price":260},{"salon":"New York","service":"Haircut & Styling","artist":"Dion","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"954c5d62-148d-4ebc-8197-ee337a84311b","price":310},{"salon":"New York","service":"Haircut & Styling","artist":"Edward","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"7a7be193-7710-43d8-b1ed-930365acf153","price":400},{"salon":"New York","service":"Haircut & Styling","artist":"Kenneth","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"fcc75dd2-56eb-4a91-985d-10b5cf1f272c","price":185},{"salon":"New York","service":"Haircut & Styling","artist":"Janina","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"e0433226-6621-43a3-913e-1aa14c2930c3","price":210},{"salon":"New York","service":"Color & Balayage","artist":"Jayne","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"2a34ffda-1955-4829-b39d-7934342a59c3","price":600},{"salon":"New York","service":"Color & Balayage","artist":"Malena","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"4f6ad903-0ed0-471a-b10d-f70abedf3fc0","price":385},{"salon":"New York","service":"Color & Balayage","artist":"Ridvana","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"ccbc060e-e351-44bb-9929-8e27358768c8","price":385},{"salon":"New York","service":"Color & Balayage","artist":"Sachi","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"0c3d26a0-94b7-4ad9-b9e8-cd9ca143e4af","price":560}
301,{"salon":"New York","service":"Blowouts & Events","artist":"Alan-David","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"6419fd48-78b6-43b1-b961-96958af285a2","price":115},{"salon":"New York","service":"Blowouts & Events","artist":"Carlos","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"bfd24c32-18bd-47fe-aba0-777de510f00a","price":100},{"salon":"New York","service":"Blowouts & Events","artist":"Debbie","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"c0f5f22b-0df3-4f95-9a14-be1291c1152b","price":100},{"salon":"New York","service":"Blowouts & Events","artist":"Janina","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"e0433226-6621-43a3-913e-1aa14c2930c3","price":100},{"salon":"New York","service":"Blowouts & Events","artist":"Kenneth","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"fcc75dd2-56eb-4a91-985d-10b5cf1f272c","price":90},{"salon":"New York","service":"Blowouts & Events","artist":"Dion","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"New York","service":"Bridal Hair & Makeup","artist":"Marja","role":"Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["BRIDAL MAKE-UP TRIAL IN SALON","MAKEUP APPLICATION","BRIDAL HAIR TRIAL IN SALON"],"publishedService":"MAKEUP APPLICATION","publishedServiceId":"a10ff1a7-a448-45c6-b64b-7133273a4ac4","therapistId":"5c284ba7-ad93-4335-8d64-a8d3dbd526c3","price":160},{"salon":"New York","service":"Bridal Hair & Makeup","artist":"Alan-David","role":"Stylist","categories":["Stylist"],"representativeServices":["BRIDAL HAIR TRIAL IN SALON"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"New York","service":"Brows, Nails & Beauty","artist":"Theani","role":"Wax and Nail Tech Technician","categories":["Nails & Brows"],"representativeServices":["CLASSIC MANICURE"],"publishedService":"CLASSIC MANICURE","publishedServiceId":"c722b07f-032a-4c10-8f59-52a4c2b59cf7","therapistId":"e2593ccd-81d1-4dd5-bd68-bb2dd8281bfe","price":54},{"salon":"New York","service":"Brows, Nails & Beauty","artist":"Didi","role":"Nail + Brow Artist","categories":["Nails & Brows"],"representativeServices":["CLASSIC MANICURE"],"publishedService":"CLASSIC MANICURE","publishedServiceId":"c722b07f-032a-4c10-8f59-52a4c2b59cf7","therapistId":"e17c069a-b7cd-42cd-b708-831cb0d94b3c","price":54},{"salon":"New York","service":"Brows, Nails & Beauty","artist":"Maral","role":"Makeup + Brow Artist","categories":["Makeup & Beauty"],"representativeServices":["BROW SHAPING","MAKEUP APPLICATION"],"publishedService":"BROW SHAPING","publishedServiceId":"4bd07a0a-ba87-4e61-ad06-b70b1d28fbae","therapistId":"a00016d0-a884-4433-9119-b1db206b39fd","price":110},{"salon":"New York","service":"Menâs Grooming","artist":"Laara","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"New York","service":"Menâs Grooming","artist":"Nina","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"eda04412-6b85-4260-bf50-ac07ef28210e","price":260},{"salon":"New York","service":"Menâs Grooming","artist":"Hiedi","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"10dd6563-69de-416e-ab30-f47f55bb9078","price":235},{"salon":"New York","service":"Menâs Grooming","artist":"Dion","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"954c5d62-148d-4ebc-8197-ee337a84311b","price":310},{"salon":"New York","service":"Menâs Grooming","artist":"Simo","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"1dac7855-0118-4363-a5ae-d15405456077","price":260},{"salon":"Connecticut","service":"Haircut & Styling","artist":"Edward","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"7a7be193-7710-43d8-b1ed-930365acf153","price":400},{"salon":"Connecticut","service":"Haircut & Styling","artist":"Elie","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"2f16c244-f928-4467-83fa-ab5b5a6aa37c","price":260},{"salon":"Connecticut","service":"Haircut & Styling","artist":"Jari","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"3a32f4f2-a504-46d0-88f1-a8f05ee5cd1a","price":210},{"salon":"Connecticut","service":"Haircut & Styling","artist":"Aleah","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"0f2292e2-d99c-45df-8643-5116a02c3070","price":185}
301,{"salon":"Connecticut","service":"Haircut & Styling","artist":"Amy","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"7a7efd4a-8820-4df4-b3ca-c1331487691b","price":250},{"salon":"Connecticut","service":"Haircut & Styling","artist":"Joni","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"a00ccc8f-a176-4b93-9079-ae33900192fd","price":250},{"salon":"Connecticut","service":"Color & Balayage","artist":"Ericka","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"20338790-b47b-40cd-bd77-b02c2537964e","price":460},{"salon":"Connecticut","service":"Color & Balayage","artist":"Rosetta","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Connecticut","service":"Color & Balayage","artist":"Alathif","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"35d64f2f-254a-4fc9-93d1-625be3a542bf","price":385},{"salon":"Connecticut","service":"Color & Balayage","artist":"Tonya","role":"Colorist","categories":["Colorist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"12df0279-0d65-40de-8b2c-a5bde972a174","price":500},{"salon":"Connecticut","service":"Blowouts & Events","artist":"Aleah","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"0f2292e2-d99c-45df-8643-5116a02c3070","price":80},{"salon":"Connecticut","service":"Blowouts & Events","artist":"Hailey","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Connecticut","service":"Blowouts & Events","artist":"Mary","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"04c8889a-00a5-4d40-994d-b8b94f85a296","price":80},{"salon":"Connecticut","service":"Blowouts & Events","artist":"Sonia","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"01e60519-b220-4f9f-8e69-5367fd43e62d","price":90},{"salon":"Connecticut","service":"Bridal Hair & Makeup","artist":"Rae","role":"Stylist","categories":["Stylist"],"representativeServices":["BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL HAIR TRIAL IN SALON","publishedServiceId":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","therapistId":"87f8bc43-26aa-412e-9d4d-e086995adb12","price":500},{"salon":"Connecticut","service":"Bridal Hair & Makeup","artist":"Jennifer","role":"Brow Artist / Esthetician/ Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["BRIDAL MAKE-UP TRIAL IN SALON","MAKEUP APPLICATION","BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL MAKE-UP TRIAL IN SALON","publishedServiceId":"49522551-4649-4b14-86a3-e26effb46615","therapistId":"ca15c34f-3bc9-40df-9f7b-aa8466b63908","price":500},{"salon":"Connecticut","service":"Bridal Hair & Makeup","artist":"Lorgie","role":"Stylist","categories":["Stylist"],"representativeServices":["BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL HAIR TRIAL IN SALON","publishedServiceId":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","therapistId":"3232a3db-adbc-49b2-966c-c8e3ba11ff0c","price":500}
301,{"salon":"Connecticut","service":"Bridal Hair & Makeup","artist":"Adele","role":"Stylist","categories":["Stylist"],"representativeServices":["BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL HAIR TRIAL IN SALON","publishedServiceId":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","therapistId":"48a80cf1-839c-4d66-bd3f-261764e263f9","price":500},{"salon":"Connecticut","service":"Bridal Hair & Makeup","artist":"Elias Asmar","role":"Stylist","categories":["Stylist"],"representativeServices":["BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL HAIR TRIAL IN SALON","publishedServiceId":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","therapistId":"ddd0896b-4be0-4e2d-a8c4-aff7872e8c77","price":500},{"salon":"Connecticut","service":"Bridal Hair & Makeup","artist":"Sonia","role":"Stylist","categories":["Stylist"],"representativeServices":["BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL HAIR TRIAL IN SALON","publishedServiceId":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","therapistId":"01e60519-b220-4f9f-8e69-5367fd43e62d","price":500},{"salon":"Connecticut","service":"Brows, Nails & Beauty","artist":"Noel","role":"Manicurist","categories":["Nails & Brows"],"representativeServices":["CLASSIC MANICURE"],"publishedService":"CLASSIC MANICURE","publishedServiceId":"c722b07f-032a-4c10-8f59-52a4c2b59cf7","therapistId":"c63774ea-bf49-4c98-8479-561280f6be8a","price":54},{"salon":"Connecticut","service":"Brows, Nails & Beauty","artist":"Jennifer","role":"Brow Artist / Esthetician/ Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["BROW SHAPING","MAKEUP APPLICATION"],"publishedService":"BROW SHAPING","publishedServiceId":"4bd07a0a-ba87-4e61-ad06-b70b1d28fbae","therapistId":"ca15c34f-3bc9-40df-9f7b-aa8466b63908","price":130},{"salon":"Connecticut","service":"Brows, Nails & Beauty","artist":"Kazuki","role":"Manicurist","categories":["Nails & Brows"],"representativeServices":["CLASSIC MANICURE"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Connecticut","service":"Menâs Grooming","artist":"Joni","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"a00ccc8f-a176-4b93-9079-ae33900192fd","price":250},{"salon":"Connecticut","service":"Menâs Grooming","artist":"Elias Asmar","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"ddd0896b-4be0-4e2d-a8c4-aff7872e8c77","price":260},{"salon":"Connecticut","service":"Menâs Grooming","artist":"Elie","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"2f16c244-f928-4467-83fa-ab5b5a6aa37c","price":260},{"salon":"Connecticut","service":"Menâs Grooming","artist":"Adele","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"48a80cf1-839c-4d66-bd3f-261764e263f9","price":260},{"salon":"Connecticut","service":"Menâs Grooming","artist":"Stephanie","role":"Stylist /Hair Extensions","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"53da0507-b286-4feb-a402-b36555cd90fc","price":250},{"salon":"Connecticut","service":"Menâs Grooming","artist":"Amy","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"7a7efd4a-8820-4df4-b3ca-c1331487691b","price":250},{"salon":"Hamptons","service":"Haircut & Styling","artist":"Dion","role":"Stylist","categories":["Stylist","Colorist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"954c5d62-148d-4ebc-8197-ee337a84311b","price":310},{"salon":"Hamptons","service":"Haircut & Styling","artist":"Kenneth","role":"Stylist","categories":["Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"fcc75dd2-56eb-4a91-985d-10b5cf1f272c","price":185}
301,{"salon":"Hamptons","service":"Haircut & Styling","artist":"Joey","role":"Colorist","categories":["Colorist","Stylist"],"representativeServices":["WOMEN'S HAIRCUT"],"publishedService":"WOMEN'S HAIRCUT","publishedServiceId":"5e0e7747-1b99-4252-85cc-a260f1961e2e","therapistId":"3c566cee-b4f5-4ac2-bf57-0cb373bebfee","price":260},{"salon":"Hamptons","service":"Color & Balayage","artist":"Beatriz","role":"Colorist & Stylist","categories":["Colorist","Stylist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Color & Balayage","artist":"Jean Marc","role":"Colorist & Stylist","categories":["Colorist","Stylist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"f16feb9e-3798-4985-87a1-c4e15a78588c","price":560},{"salon":"Hamptons","service":"Color & Balayage","artist":"Joey","role":"Colorist","categories":["Colorist","Stylist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"3c566cee-b4f5-4ac2-bf57-0cb373bebfee","price":560},{"salon":"Hamptons","service":"Color & Balayage","artist":"Saundra","role":"Colorist & Stylist","categories":["Colorist","Stylist"],"representativeServices":["COLOR BALAYAGE"],"publishedService":"COLOR BALAYAGE","publishedServiceId":"859395c8-b798-45b5-84c2-e4b19e50ff89","therapistId":"3237eaa4-4790-4cf7-8bad-1daf21e394b8","price":560},{"salon":"Hamptons","service":"Blowouts & Events","artist":"Joey","role":"Colorist","categories":["Colorist","Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Blowouts & Events","artist":"Selena","role":"Makeup Artist & Stylist","categories":["Makeup & Beauty","Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"ff8c1b05-7b40-420f-a4f7-31058c7488b1","price":100},{"salon":"Hamptons","service":"Blowouts & Events","artist":"Kenneth","role":"Stylist","categories":["Stylist"],"representativeServices":["CLASSIC BLOWOUT-BLOWDRY"],"publishedService":"CLASSIC BLOWOUT-BLOWDRY","publishedServiceId":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","therapistId":"fcc75dd2-56eb-4a91-985d-10b5cf1f272c","price":90},{"salon":"Hamptons","service":"Bridal Hair & Makeup","artist":"Maddy","role":"Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["BRIDAL MAKE-UP TRIAL IN SALON","MAKEUP APPLICATION","BRIDAL HAIR TRIAL IN SALON"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Bridal Hair & Makeup","artist":"Cristina","role":"Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["BRIDAL MAKE-UP TRIAL IN SALON","MAKEUP APPLICATION","BRIDAL HAIR TRIAL IN SALON"],"publishedService":"BRIDAL MAKE-UP TRIAL IN SALON","publishedServiceId":"49522551-4649-4b14-86a3-e26effb46615","therapistId":"02c27c00-20b8-4448-9ab5-40b6f4c1e889","price":500},{"salon":"Hamptons","service":"Bridal Hair & Makeup","artist":"Rita","role":"Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["BRIDAL MAKE-UP TRIAL IN SALON","MAKEUP APPLICATION","BRIDAL HAIR TRIAL IN SALON"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Brows, Nails & Beauty","artist":"Connie","role":"Nail Technician","categories":["Nails & Brows"],"representativeServices":["CLASSIC MANICURE"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Brows, Nails & Beauty","artist":"Cristina","role":"Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["MAKEUP APPLICATION","BROW SHAPING","CLASSIC MANICURE"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Brows, Nails & Beauty","artist":"Maddy","role":"Makeup Artist","categories":["Makeup & Beauty"],"representativeServices":["MAKEUP APPLICATION","BROW SHAPING","CLASSIC MANICURE"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null},{"salon":"Hamptons","service":"Menâs Grooming","artist":"Dion","role":"Stylist","categories":["Stylist","Colorist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S HAIRCUT","publishedServiceId":"2e249b4a-0642-45b6-8607-79682f1cd4fb","therapistId":"954c5d62-148d-4ebc-8197-ee337a84311b","price":310},{"salon":"Hamptons","service":"Menâs Grooming","artist":"Kenneth","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":"MEN'S BARBER CUT","publishedServiceId":"e9c47c62-0560-4949-baa0-4d3f722e4c88","therapistId":"fcc75dd2-56eb-4a91-985d-10b5cf1f272c","price":110},{"salon":"Hamptons","service":"Menâs Grooming","artist":"Ric","role":"Stylist","categories":["Stylist"],"representativeServices":["MEN'S HAIRCUT","MEN'S BARBER CUT"],"publishedService":null,"publishedServiceId":null,"therapistId":null,"price":null}]`),N8=E8,k8={"Haircut & Styling":"Womenâs Haircut","Color & Balayage":"Color & Balayage","Blowouts & Events":"Blowout or Event Styling","Bridal Hair & Makeup":"Bridal Hair or Makeup","Brows, Nails & Beauty":"Beauty Service","Menâs Grooming":"Menâs Grooming"},O8={"New York":"NYC",Connecticut:"Greenwich",Hamptons:"Sag Harbor"},T8={"Hamptons|Color & Balayage|Beatriz":{publishedService:"COLOR HIGHLIGHTS",publishedServiceId:"109ac0a5-9b10-4151-9356-b85a05cb71fd",price:610}
301};function C8(e){const r={"WOMEN'S HAIRCUT":"Womenâs Haircut","MEN'S HAIRCUT":"Menâs Haircut","MEN'S BARBER CUT":"Menâs Barber Cut","CLASSIC BLOWOUT-BLOWDRY":"Classic Blowout / Blowdry","COLOR BALAYAGE":"Color Balayage","COLOR HIGHLIGHTS":"Color Highlights","BRIDAL HAIR TRIAL IN SALON":"Bridal Hair Trial In Salon","BRIDAL MAKE-UP TRIAL IN SALON":"Bridal Makeup Trial In Salon","MAKEUP APPLICATION":"Makeup Application","BROW SHAPING":"Brow Shaping","CLASSIC MANICURE":"Classic Manicure"}[e.toUpperCase()];return r||e.toLowerCase().split(" ").map(l=>l==="make-up"?"Makeup":l==="blowout-blowdry"?"Blowout / Blowdry":`${l.charAt(0).toUpperCase()}${l.slice(1)}`).join(" ")}function R8(e){return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0}).format(e)}function j8(e,a,r){const s=`${a}|${r}|${e.name}`,l=N8.find(p=>p.salon===a&&p.service===r&&p.artist===e.name),d=l?.price!==null&&l?.price!==void 0?l:T8[s],u=O8[a];if(d?.price!==null&&d?.price!==void 0&&d.publishedService){const p=C8(d.publishedService);return{serviceLabel:p,priceLabel:R8(d.price),detail:`${e.name}âs published ${p.toLowerCase()} price at ${u}. Final pricing may change after consultation.`}}return{serviceLabel:k8[r],priceLabel:"See current price in Zenoti",detail:`Zenoti does not publish an exact online ${r.toLowerCase()} price for ${e.name} at ${u}.`}}function P8(e,a){const r=kS(e,a);return{href:r,isArtistSpecific:new URL(r).searchParams.has("therapistid")}}var I8=Object.create,n1=Object.defineProperty,M8=Object.getOwnPropertyDescriptor,s1=Object.getOwnPropertyNames,L8=Object.getPrototypeOf,_8=Object.prototype.hasOwnProperty,br=(e,a)=>function(){return a||(0,e[s1(e)[0]])((a={exports:{}}).exports,a),a.exports},H8=(e,a,r,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(var l=s1(a),d=0,u=l.length,p;d<u;d++)p=l[d],!_8.call(e,p)&&p!==r&&n1(e,p,{get:(m=>a[m]).bind(null,p),enumerable:!(s=M8(a,p))||s.enumerable});return e},sn=(e,a,r)=>(r=e!=null?I8(L8(e)):{},H8(a||!e||!e.__esModule?n1(r,"default",{value:e,enumerable:!0}):r,e)),z8=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js"(e,a){function r(s,l){if(s==null)return{};var d={};for(var u in s)if({}.hasOwnProperty.call(s,u)){if(l.includes(u))continue;d[u]=s[u]}return d}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}),D8=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js"(e,a){var r=z8();function s(l,d){if(l==null)return{};var u,p,m=r(l,d);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(l);for(p=0;p<g.length;p++)u=g[p],d.includes(u)||{}.propertyIsEnumerable.call(l,u)&&(m[u]=l[u])}return m}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),o1=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(e,a){function r(s){"@babel/helpers - typeof";return a.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},a.exports.__esModule=!0,a.exports.default=a.exports,r(s)}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}),B8=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(e,a){var r=o1().default;function s(l,d){if(r(l)!="object"||!l)return l;var u=l[Symbol.toPrimitive];if(u!==void 0){var p=u.call(l,d||"default");if(r(p)!="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(l)}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),U8=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(e,a){var r=o1().default,s=B8();function l(d){var u=s(d,"string");return r(u)=="symbol"?u:u+""}a.exports=l,a.exports.__esModule=!0,a.exports.default=a.exports}}),q8=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/
301defineProperty.js"(e,a){var r=U8();function s(l,d,u){return(d=r(d))in l?Object.defineProperty(l,d,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[d]=u,l}a.exports=s,a.exports.__esModule=!0,a.exports.default=a.exports}}),Zo=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(e,a){var r=q8();function s(d,u){var p=Object.keys(d);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(d);u&&(m=m.filter(function(g){return Object.getOwnPropertyDescriptor(d,g).enumerable})),p.push.apply(p,m)}return p}function l(d){for(var u=1;u<arguments.length;u++){var p=arguments[u]!=null?arguments[u]:{};u%2?s(Object(p),!0).forEach(function(m){r(d,m,p[m])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):s(Object(p)).forEach(function(m){Object.defineProperty(d,m,Object.getOwnPropertyDescriptor(p,m))})}return d}a.exports=l,a.exports.__esModule=!0,a.exports.default=a.exports}}),G8=sn(D8(),1),vv=sn(Zo(),1);const W8=["cursor","direction"];function ei(e,a,r){const s=e.flatMap(l=>l.split("."));if(!a&&(!r||r==="any"))return s.length?[s]:[];if(r==="infinite"&&Kr(a)&&("direction"in a||"cursor"in a)){const{cursor:l,direction:d}=a,u=(0,G8.default)(a,W8);return[s,{input:u,type:"infinite"}]}return[s,(0,vv.default)((0,vv.default)({},typeof a<"u"&&a!==ga&&{input:a}),r&&r!=="any"&&{type:r})]}function Lc(e){return ei(e,void 0,"any")}function Y8(e){return td(({path:a,args:r})=>{var s;const l=[...a],d=l.pop();if(d==="useMutation")return e[d](l,...r);if(d==="_def")return{path:l};const[u,...p]=r,m=(s=p[0])!==null&&s!==void 0?s:{};return e[d](l,u,m)})}var lp;const $8=["client","ssrContext","ssrState","abortOnUnmount"],F8=(lp=w.createContext)===null||lp===void 0?void 0:lp.call(Qc,null),K8=e=>{switch(e){case"queryOptions":case"fetch":case"ensureData":case"prefetch":case"getData":case"setData":case"setQueriesData":return"query";case"infiniteQueryOptions":case"fetchInfinite":case"prefetchInfinite":case"getInfiniteData":case"setInfiniteData":return"infinite";case"setMutationDefaults":case"getMutationDefaults":case"isMutating":case"cancel":case"invalidate":case"refetch":case"reset":return"any"}};function V8(e){return td(a=>{const r=[...a.path],s=r.pop(),l=[...a.args],d=l.shift(),u=K8(s),p=ei(r,d,u);return{infiniteQueryOptions:()=>e.infiniteQueryOptions(r,p,l[0]),queryOptions:()=>e.queryOptions(r,p,...l),fetch:()=>e.fetchQuery(p,...l),fetchInfinite:()=>e.fetchInfiniteQuery(p,l[0]),prefetch:()=>e.prefetchQuery(p,...l),prefetchInfinite:()=>e.prefetchInfiniteQuery(p,l[0]),ensureData:()=>e.ensureQueryData(p,...l),invalidate:()=>e.invalidateQueries(p,...l),reset:()=>e.resetQueries(p,...l),refetch:()=>e.refetchQueries(p,...l),cancel:()=>e.cancelQuery(p,...l),setData:()=>{e.setQueryData(p,l[0],l[1])},setQueriesData:()=>e.setQueriesData(p,l[0],l[1],l[2]),setInfiniteData:()=>{e.setInfiniteQueryData(p,l[0],l[1])},getData:()=>e.getQueryData(p),getInfiniteData:()=>e.getInfiniteQueryData(p),setMutationDefaults:()=>e.setMutationDefaults(Lc(r),d),getMutationDefaults:()=>e.getMutationDefaults(Lc(r)),isMutating:()=>e.isMutating({mutationKey:Lc(r)})}[s]()})}function Z8(e){const a=Jw(e.client),r=V8(e);return gf(s=>{const l=s;return l==="client"?a:$8.includes(l)?e[l]:r[s]})}var Q8=sn(Zo(),1);function wv(e){const a=e instanceof ad?e:bf(e);return td(r=>{const s=r.path,l=s.join("."),[d,u]=r.args;return(0,Q8.default)({queryKey:ei(s,d,"query"),queryFn:()=>a.query(l,d,u?.trpc)},u)})}var cp=sn(Zo(),1);function Ft(e,a,r){var s;const l=e[0];let d=(s=e[1])===null||s===void 0?void 0:s.input;if(r){var u;d=(0,cp.default)((0,cp.default)((0,cp.default)({},(u=d)!==null&&u!==void 0?u:{}),r.pageParam?{cursor:r.pageParam}:{}),{},{direction:r.direction})}return[l.join("."),d,a?.trpc]}var X8=br({"../../node_modules/.pnpm/@[email protected]/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(e,a){function r(l){var d,u,p,m=2;for(typeof Symbol<"u"&&(u=Symbol.asyncIterator,p=Symbol.iterator);m--;){if(u&&(d=l[u])!=null)return d.call(l);if(p&&(d=l[p])!=null)return new s(d.call(l));u="@@asyncIterator",p="@@iterator"}throw new TypeError("Object is not async iterable")}function s(l){function d(u){if(Object(u)!==u)return Promise.reject(new TypeError(u+" is not an object."));var p=u.done;return Promise.resolve(u.value).then(function(m){return{value:m,done:p}})}return s=function(p){this.s=p,this.n=p.next},s.prototype={s:null,n:null,next:function(){return d(this.n.apply(this.s,arguments))},return:function(p){var m=this.s.return;return m===void 0?Promise.resolve({value:p,done:!0}):d(m.apply(this.s,arguments))},throw:function(p){var m=this.s.return;return m===void 0?Promise.reject(p):d(m.apply(this.s,arguments))}},new s(l)}a.exports=r,a.exports.__esModule=!0,a.exports.default=a.exports}}),J8=sn(X8(),1);function Wp(e){return{path:e.path.join(".")}}function Eo(e){const a=Wp(e);return w.useMemo(()=>a,[a])}async function l1(e,a,r){const l=a.getQueryCache().build(a,{queryKey:r});l.setState({data:[],status:"success"});const d=[];var u=!1,p=!1,m;try{for(var g=(0,J8.default)(e),v;u=!(v=await g.next()).done;u=!1){const y=v.value;d.push(y),l.setState({data:[...d]})}}catch(y){p=!0,m=y}finally{try{u&&g.return!=null&&await g.return()}finally{if(p)throw m}}return d}var Be=sn(Zo(),1);function eC(e){const{client:a,queryClient:r}=e,s=a instanceof ad?a:bf(a);return{infiniteQueryOptions:(l,d,u)=>{var p,m;const g=((p=d[1])===null||p===void 0?void 0:p.input)===ga,v=async y=>{var S;const E=(0,Be.default)((0,Be.default)({},u),{},{trpc:(0,Be.default)((0,Be.default)({},u?.trpc),!(u==null||(S=u.trpc)===null||S===void 0)&&S.abortOnUnmount?{signal:y.signal}:{signal:null})});return await s.query(...Ft(d,E,{direction:y.direction,pageParam:y.pageParam}))};return Object.assign((0,Be.default)((0,Be.default)({},u),{},{initialData:u?.initialData,queryKey:d,queryFn:g?ga:v,initialPageParam:(m=u?.initialCursor)!==null&&m!==void 0?m:null}),{trpc:Wp({path:l})})},queryOptions:(l,d,u)=>{var p;const m=((p=d[1])===null||p===void 0?void 0:p.input)===ga,g=async v=>{var y;const S=(0,Be.default)((0,Be.default)({},u),{},{trpc:(0,Be.default)((0,Be.default)({},u?.trpc),!(u==null||(y=u.trpc)===null||y===void 0)&&y.abortOnUnmount?{signal:v.signal}:{signal:null})}),E=await s.query(...Ft(d,S));return qw(E)?l1(E,r,d):E};return Object.assign((0,Be.default)((0,Be.default)({},u),{},{initialData:u?.initialData,queryKey:d,queryFn:m?ga:g}),{trpc:Wp({path:l})})},fetchQuery:(l,d)=>r.fetchQuery((0,Be.default)((0,Be.default)({},d),{},{queryKey:l,queryFn:()=>s.query(...Ft(l,d))})),fetchInfiniteQuery:(l,d)=>{var u;return r.fetchInfiniteQuery((0,Be.default)((0,Be.default)({},d),{},{queryKey:l,queryFn:({pageParam:p,direction:m})=>s.query(...Ft(l,d,{pageParam:p,direction:m})),initialPageParam:(u=d?.initialCursor)!==null&&u!==void 0?u:null}))},prefetchQuery:(l,d)=>r.prefetchQuery((0,Be.default)((0,Be.default)({},d),{},{queryKey:l,queryFn:()=>s.query(...Ft(l,d))})),prefetchInfiniteQuery:(l,d)=>{var u;return r.prefetchInfiniteQuery((0,Be.default)((0,Be.default)({},d),{},{queryKey:l,queryFn:({pageParam:p,direction:m})=>s.query(...Ft(l,d,{pageParam:p,direction:m})),initialPageParam:(u=d?.initialCursor)!==null&&u!==void 0?u:null}))},ensureQueryData:(l,d)=>r.ensureQueryData((0,Be.default)((0,Be.default)({},d),{},{queryKey:l,queryFn:()=>s.query(...Ft(l,d))})),invalidateQueries:(l,d,u)=>
301r.invalidateQueries((0,Be.default)((0,Be.default)({},d),{},{queryKey:l}),u),resetQueries:(l,d,u)=>r.resetQueries((0,Be.default)((0,Be.default)({},d),{},{queryKey:l}),u),refetchQueries:(l,d,u)=>r.refetchQueries((0,Be.default)((0,Be.default)({},d),{},{queryKey:l}),u),cancelQuery:(l,d)=>r.cancelQueries({queryKey:l},d),setQueryData:(l,d,u)=>r.setQueryData(l,d,u),setQueriesData:(l,d,u,p)=>r.setQueriesData((0,Be.default)((0,Be.default)({},d),{},{queryKey:l}),u,p),getQueryData:l=>r.getQueryData(l),setInfiniteQueryData:(l,d,u)=>r.setQueryData(l,d,u),getInfiniteQueryData:l=>r.getQueryData(l),setMutationDefaults:(l,d)=>{const u=l[0],p=m=>s.mutation(...Ft([u,{input:m}],e));return r.setMutationDefaults(l,typeof d=="function"?d({canonicalMutationFn:p}):d)},getMutationDefaults:l=>r.getMutationDefaults(l),isMutating:l=>r.isMutating((0,Be.default)((0,Be.default)({},l),{},{exact:!0}))}}var de=sn(Zo());const xv=(e,a)=>new Proxy(e,{get(s,l){return a(l),s[l]}});function tC(e){var a,r;const s=(a=void 0)!==null&&a!==void 0?a:L=>L.originalFn(),l=(r=void 0)!==null&&r!==void 0?r:F8,d=b3,u=L=>{var G;const{abortOnUnmount:j=!1,queryClient:z,ssrContext:F}=L,[re,se]=w.useState((G=L.ssrState)!==null&&G!==void 0?G:!1),ie=L.client instanceof ad?L.client:bf(L.client),te=w.useMemo(()=>eC({client:ie,queryClient:z}),[ie,z]),U=w.useMemo(()=>(0,de.default)({abortOnUnmount:j,queryClient:z,client:ie,ssrContext:F??null,ssrState:re},te),[j,ie,te,z,F,re]);return w.useEffect(()=>{se(ne=>ne?"mounted":!1)},[]),o.jsx(l.Provider,{value:U,children:L.children})};function p(){const L=w.useContext(l);if(!L)throw new Error("Unable to find tRPC Context. Did you forget to wrap your App inside `withTRPC` HoC?");return L}function m(L,G){var j;const{queryClient:z,ssrState:F}=p();return F&&F!=="mounted"&&((j=z.getQueryCache().find({queryKey:L}))===null||j===void 0?void 0:j.state.status)==="error"?(0,de.default)({retryOnMount:!1},G):G}function g(L,G,j){var z,F,re,se,ie;const te=p(),{abortOnUnmount:U,client:ne,ssrState:O,queryClient:D,prefetchQuery:_}=te,ce=ei(L,G,"query"),he=D.getQueryDefaults(ce),T=G===ga;typeof window>"u"&&O==="prepass"&&(j==null||(z=j.trpc)===null||z===void 0?void 0:z.ssr)!==!1&&((F=j?.enabled)!==null&&F!==void 0?F:he?.enabled)!==!1&&!T&&!D.getQueryCache().find({queryKey:ce})&&_(ce,j);const V=m(ce,(0,de.default)((0,de.default)({},he),j)),W=(re=(se=j==null||(ie=j.trpc)===null||ie===void 0?void 0:ie.abortOnUnmount)!==null&&se!==void 0?se:void 0)!==null&&re!==void 0?re:U,Z=yA((0,de.default)((0,de.default)({},V),{},{queryKey:ce,queryFn:T?G:async oe=>{const ue=(0,de.default)((0,de.default)({},V),{},{trpc:(0,de.default)((0,de.default)({},V?.trpc),W?{signal:oe.signal}:{signal:null})}),ae=await ne.query(...Ft(ce,ue));return qw(ae)?l1(ae,D,ce):ae}}),D);return Z.trpc=Eo({path:L}),Z}function v(L,G,j){var z,F,re;const se=p(),ie=ei(L,G,"query"),te=G===ga,U=(z=(F=j==null||(re=j.trpc)===null||re===void 0?void 0:re.abortOnUnmount)!==null&&F!==void 0?F:void 0)!==null&&z!==void 0?z:se.abortOnUnmount;xA((0,de.default)((0,de.default)({},j),{},{queryKey:ie,queryFn:te?G:ne=>{const O={trpc:(0,de.default)((0,de.default)({},j?.trpc),U?{signal:ne.signal}:{})};return se.client.query(...Ft(ie,O))}}))}function y(L,G,j){var z,F,re;const se=p(),ie=ei(L,G,"query"),te=(z=(F=j==null||(re=j.trpc)===null||re===void 0?void 0:re.abortOnUnmount)!==null&&F!==void 0?F:void 0)!==null&&z!==void 0?z:se.abortOnUnmount,U=bA((0,de.default)((0,de.default)({},j),{},{queryKey:ie,queryFn:ne=>{const O=(0,de.default)((0,de.default)({},j),{},{trpc:(0,de.default)((0,de.default)({},j?.trpc),te?{signal:ne.signal}:{signal:null})});return se.client.query(...Ft(ie,O))}}),se.queryClient);return U.trpc=Eo({path:L}),[U.data,U]}function S(L,G){const{client:j,queryClient:z}=p(),F=Lc(L),re=z.defaultMutationOptions(z.getMutationDefaults(F)),se=AA((0,de.default)((0,de.default)({},G),{},{mutationKey:F,mutationFn:ie=>j.mutation(...Ft([L,{input:ie}],G)),onSuccess(...ie){var te,U;return s({originalFn:()=>{var O,D,_;return(O=G==null||(D=G.onSuccess)===null||D===void 0?void 0:D.call(G,...ie))!==null&&O!==void 0?O:re==null||(_=re.onSuccess)===null||_===void 0?void 0:_.call(re,...ie)},queryClient:z,meta:(te=(U=G?.meta)!==null&&U!==void 0?U:re?.meta)!==null&&te!==void 0?te:{}})}}),z);return se.trpc=Eo({path:L}),se}const E={data:void 0,error:null,status:"idle"},N={data:void 0,error:null,status:"connecting"};/* istanbul ignore next -- @preserve */function x(L,G,j){var z;const F=(z=j?.enabled)!==null&&z!==void 0?z:G!==ga,re=fr(ei(L,G,"any")),{client:se}=p(),ie=w.useRef(j);w.useEffect(()=>{ie.current=j});const[te]=w.useState(new Set([])),U=w.useCallback(T=>{te.add(T)},[te]),ne=w.useRef(null),O=w.useCallback(T=>{const V=_.current,W=_.current=T(V);let Z=!1;for(const oe of te)if(V[oe]!==W[oe]){Z=!0;break}Z&&he(xv(W,U))},[U,te]),D=w.useCallback(()=>{var T;if((T=ne.current)===null||T===void 0||T.unsubscribe(),!F){O(()=>(0,de.default)((0,de.default)({},E),{},{reset:D}));return}O(()=>(0,de.default)((0,de.default)({},N),{},{reset:D}));const V=se.subscription(L.join("."),G??void 0,{onStarted:()=>{var W,Z;(W=(Z=ie.current).onStarted)===null||W===void 0||W.call(Z),O(oe=>(0,de.default)((0,de.default)({},oe),{},{status:"pending",error:null}))},onData:W=>{var Z,oe;(Z=(oe=ie.current).onData)===null||Z===void 0||Z.call(oe,W),O(ue=>(0,de.default)((0,de.default)({},ue),{},{status:"pending",data:W,error:null}))},onError:W=>{var Z,oe;(Z=(oe=ie.current).onError)===null||Z===void 0||Z.call(oe,W),O(ue=>(0,de.default)((0,de.default)({},ue),{},{status:"error",error:W}))},onConnectionStateChange:W=>{O(Z=>{switch(W.state){case"idle":return(0,de.default)((0,de.default)({},Z),{},{status:W.state,error:null,data:void 0});case"connecting":return(0,de.default)((0,de.default)({},Z),{},{error:W.error,status:W.state});
301case"pending":return Z}})},onComplete:()=>{var W,Z;(W=(Z=ie.current).onComplete)===null||W===void 0||W.call(Z),O(oe=>(0,de.default)((0,de.default)({},oe),{},{status:"idle",error:null,data:void 0}))}});ne.current=V},[se,re,F,O]);w.useEffect(()=>(D(),()=>{var T;(T=ne.current)===null||T===void 0||T.unsubscribe()}),[D]);const _=w.useRef(F?(0,de.default)((0,de.default)({},N),{},{reset:D}):(0,de.default)((0,de.default)({},E),{},{reset:D})),[ce,he]=w.useState(xv(_.current,U));return ce}function k(L,G,j){var z,F,re,se,ie;const{client:te,ssrState:U,prefetchInfiniteQuery:ne,queryClient:O,abortOnUnmount:D}=p(),_=ei(L,G,"infinite"),ce=O.getQueryDefaults(_),he=G===ga;typeof window>"u"&&U==="prepass"&&(j==null||(z=j.trpc)===null||z===void 0?void 0:z.ssr)!==!1&&((F=j?.enabled)!==null&&F!==void 0?F:ce?.enabled)!==!1&&!he&&!O.getQueryCache().find({queryKey:_})&&ne(_,(0,de.default)((0,de.default)({},ce),j));const T=m(_,(0,de.default)((0,de.default)({},ce),j)),V=(re=j==null||(se=j.trpc)===null||se===void 0?void 0:se.abortOnUnmount)!==null&&re!==void 0?re:D,W=EA((0,de.default)((0,de.default)({},T),{},{initialPageParam:(ie=j.initialCursor)!==null&&ie!==void 0?ie:null,persister:j.persister,queryKey:_,queryFn:he?G:Z=>{var oe;const ue=(0,de.default)((0,de.default)({},T),{},{trpc:(0,de.default)((0,de.default)({},T?.trpc),V?{signal:Z.signal}:{signal:null})});return te.query(...Ft(_,ue,{pageParam:(oe=Z.pageParam)!==null&&oe!==void 0?oe:j.initialCursor,direction:Z.direction}))}}),O);return W.trpc=Eo({path:L}),W}function C(L,G,j){var z,F,re;const se=p(),ie=ei(L,G,"infinite"),te=se.queryClient.getQueryDefaults(ie),U=G===ga,ne=m(ie,(0,de.default)((0,de.default)({},te),j)),O=(z=j==null||(F=j.trpc)===null||F===void 0?void 0:F.abortOnUnmount)!==null&&z!==void 0?z:se.abortOnUnmount;SA((0,de.default)((0,de.default)({},j),{},{initialPageParam:(re=j.initialCursor)!==null&&re!==void 0?re:null,queryKey:ie,queryFn:U?G:D=>{var _;const ce=(0,de.default)((0,de.default)({},ne),{},{trpc:(0,de.default)((0,de.default)({},ne?.trpc),O?{signal:D.signal}:{})});return se.client.query(...Ft(ie,ce,{pageParam:(_=D.pageParam)!==null&&_!==void 0?_:j.initialCursor,direction:D.direction}))}}))}function I(L,G,j){var z,F,re;const se=p(),ie=ei(L,G,"infinite"),te=se.queryClient.getQueryDefaults(ie),U=m(ie,(0,de.default)((0,de.default)({},te),j)),ne=(z=j==null||(F=j.trpc)===null||F===void 0?void 0:F.abortOnUnmount)!==null&&z!==void 0?z:se.abortOnUnmount,O=vA((0,de.default)((0,de.default)({},j),{},{initialPageParam:(re=j.initialCursor)!==null&&re!==void 0?re:null,queryKey:ie,queryFn:D=>{var _;const ce=(0,de.default)((0,de.default)({},U),{},{trpc:(0,de.default)((0,de.default)({},U?.trpc),ne?{signal:D.signal}:{})});return se.client.query(...Ft(ie,ce,{pageParam:(_=D.pageParam)!==null&&_!==void 0?_:j.initialCursor,direction:D.direction}))}}),se.queryClient);return O.trpc=Eo({path:L}),[O.data,O]}return{Provider:u,createClient:d,useContext:p,useUtils:p,useQuery:g,usePrefetchQuery:v,useSuspenseQuery:y,useQueries:(L,G)=>{const{ssrState:j,queryClient:z,prefetchQuery:F,client:re}=p(),se=wv(re),ie=L(se);if(typeof window>"u"&&j==="prepass")for(const U of ie){var te;const ne=U;((te=ne.trpc)===null||te===void 0?void 0:te.ssr)!==!1&&!z.getQueryCache().find({queryKey:ne.queryKey})&&F(ne.queryKey,ne)}return zw({queries:ie.map(U=>(0,de.default)((0,de.default)({},U),{},{queryKey:U.queryKey})),combine:G?.combine},z)},useSuspenseQueries:L=>{const{queryClient:G,client:j}=p(),z=wv(j),F=L(z),re=wA({queries:F.map(se=>(0,de.default)((0,de.default)({},se),{},{queryFn:se.queryFn,queryKey:se.queryKey}))},G);return[re.map(se=>se.data),re]},useMutation:S,useSubscription:x,useInfiniteQuery:k,usePrefetchInfiniteQuery:C,useSuspenseInfiniteQuery:I}}function aC(e){const a=Y8(e);return gf(r=>r==="useContext"||r==="useUtils"?()=>{const s=e.useUtils();return w.useMemo(()=>Z8(s),[s])}:e.hasOwnProperty(r)?e[r]:a[r])}function iC(e){const a=tC();return aC(a)}const Da=iC();function ee(e,a,r){function s(p,m){var g;Object.defineProperty(p,"_zod",{value:p._zod??{},enumerable:!1}),(g=p._zod).traits??(g.traits=new Set),p._zod.traits.add(e),a(p,m);for(const v in u.prototype)v in p||Object.defineProperty(p,v,{value:u.prototype[v].bind(p)});p._zod.constr=u,p._zod.def=m}
vendor: 36,749 bytes, lines 301-320
301const l=r?.Parent??Object;class d extends l{}Object.defineProperty(d,"name",{value:e});function u(p){var m;const g=r?.Parent?new d:this;s(g,p),(m=g._zod).deferred??(m.deferred=[]);for(const v of g._zod.deferred)v();return g}return Object.defineProperty(u,"init",{value:s}),Object.defineProperty(u,Symbol.hasInstance,{value:p=>r?.Parent&&p instanceof r.Parent?!0:p?._zod?.traits?.has(e)}),Object.defineProperty(u,"name",{value:e}),u}class cs extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class c1 extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}const d1={};function Jr(e){return d1}function rC(e){const a=Object.values(e).filter(s=>typeof s=="number");return Object.entries(e).filter(([s,l])=>a.indexOf(+s)===-1).map(([s,l])=>l)}function Yp(e,a){return typeof a=="bigint"?a.toString():a}function Ff(e){return{get value(){{const a=e();return Object.defineProperty(this,"value",{value:a}),a}}}}function Kf(e){return e==null}function Vf(e){const a=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(a,r)}function nC(e,a){const r=(e.toString().split(".")[1]||"").length,s=a.toString();let l=(s.split(".")[1]||"").length;if(l===0&&/\d?e-\d?/.test(s)){const m=s.match(/\d?e-(\d?)/);m?.[1]&&(l=Number.parseInt(m[1]))}const d=r>l?r:l,u=Number.parseInt(e.toFixed(d).replace(".","")),p=Number.parseInt(a.toFixed(d).replace(".",""));return u%p/10**d}const Sv=Symbol("evaluating");function Qe(e,a,r){let s;Object.defineProperty(e,a,{get(){if(s!==Sv)return s===void 0&&(s=Sv,s=r()),s},set(l){Object.defineProperty(e,a,{value:l})},configurable:!0})}function on(e,a,r){Object.defineProperty(e,a,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ln(...e){const a={};for(const r of e){const s=Object.getOwnPropertyDescriptors(r);Object.assign(a,s)}return Object.defineProperties({},a)}function Av(e){return JSON.stringify(e)}const u1="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Yc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const sC=Ff(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function zo(e){if(Yc(e)===!1)return!1;const a=e.constructor;if(a===void 0)return!0;const r=a.prototype;return!(Yc(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function h1(e){return zo(e)?{...e}:Array.isArray(e)?[...e]:e}const oC=new Set(["string","number","symbol"]);function ys(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vr(e,a,r){const s=new e._zod.constr(a??e._zod.def);return(!a||r?.parent)&&(s._zod.parent=e),s}function ve(e){const a=e;if(!a)return{};if(typeof a=="string")return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");a.error=a.message}return delete a.message,typeof a.error=="string"?{...a,error:()=>a.error}:a}function lC(e){return Object.keys(e).filter(a=>e[a]._zod.optin==="optional"&&e[a]._zod.optout==="optional")}const cC={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function dC(e,a){const r=e._zod.def,s=ln(e._zod.def,{get shape(){const l={};for(const d in a){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);a[d]&&(l[d]=r.shape[d])}return on(this,"shape",l),l},checks:[]});return vr(e,s)}function uC(e,a){const r=e._zod.def,s=ln(e._zod.def,{get shape(){const l={...e._zod.def.shape};for(const d in a){if(!(d in r.shape))throw new Error(`Unrecognized key: "${d}"`);a[d]&&delete l[d]}return on(this,"shape",l),l},checks:[]});return vr(e,s)}function hC(e,a){if(!zo(a))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const l=ln(e._zod.def,{get shape(){const d={...e._zod.def.shape,...a};return on(this,"shape",d),d},checks:[]});return vr(e,l)}function pC(e,a){if(!zo(a))throw new Error("Invalid input to safeExtend: expected a plain object");const r={...e._zod.def,get shape(){const s={...e._zod.def.shape,...a};return on(this,"shape",s),s},checks:e._zod.def.checks};return vr(e,r)}function fC(e,a){const r=ln(e._zod.def,{get shape(){const s={...e._zod.def.shape,...a._zod.def.shape};return on(this,"shape",s),s},get catchall(){return a._zod.def.catchall},checks:[]});return vr(e,r)}function mC(e,a,r){const s=ln(a._zod.def,{get shape(){const l=a._zod.def.shape,d={...l};if(r)for(const u in r){if(!(u in l))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(d[u]=e?new e({type:"optional",innerType:l[u]}):l[u])}else for(const u in l)d[u]=e?new e({type:"optional",innerType:l[u]}):l[u];return on(this,"shape",d),d},checks:[]});return vr(a,s)}function gC(e,a,r){const s=ln(a._zod.def,{get shape(){const l=a._zod.def.shape,d={...l};if(r)for(const u in r){if(!(u in d))throw new Error(`Unrecognized key: "${u}"`);r[u]&&(d[u]=new e({type:"nonoptional",innerType:l[u]}))}else for(const u in l)d[u]=new e({type:"nonoptional",innerType:l[u]});return on(this,"shape",d),d},checks:[]});return vr(a,s)}function is(e,a=0){if(e.aborted===!0)return!0;for(let r=a;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function p1(e,a){return a.map(r=>{var s;return(s=r).path??(s.path=[]),r.path.unshift(e),r})}function Nc(e){return typeof e=="string"?e:e?.message}function en(e,a,r){const s={...e,path:e.path??[]};if(!e.message){const l=Nc(e.inst?._zod.def?.error?.(e))??Nc(a?.error?.(e))??Nc(r.customError?.(e))??Nc(r.localeError?.(e))??"Invalid input";s.message=l}return delete s.inst,delete s.continue,a?.reportInput||delete s.input,s}function Zf(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Do(...e){const[a,r,s]=e;return typeof a=="string"?{message:a,code:"custom",input:r,inst:s}:{...a}}const f1=(e,a)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:a,enumerable:!1}),e.message=JSON.stringify(a,Yp,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},m1=ee("$ZodError",f1),g1=ee("$ZodError",f1,{Parent:Error});function yC(e,a=r=>r.message){const r={},s=[];for(const l of e.issues)l.path.length>0?(r[l.path[0]]=r[l.path[0]]||[],r[l.path[0]].push(a(l))):s.push(a(l));return{formErrors:s,fieldErrors:r}}function bC(e,a=r=>r.message){const r={_errors:[]},s=l=>{for(const d of l.issues)if(d.code==="invalid_union"&&d.errors.length)d.errors.map(u=>s({issues:u}));else if(d.code==="invalid_key")s({issues:d.issues});else if(d.code==="invalid_element")s({issues:d.issues});else if(d.path.length===0)r._errors.push(a(d));else{let u=r,p=0;for(;p<d.path.length;){const m=d.path[p];p===d.path.length-1?(u[m]=u[m]||{_errors:[]},u[m]._errors.push(a(d))):u[m]=u[m]||{_errors:[]},u=u[m],p++}}};return s(e),r}const Qf=e=>(a,r,s,l)=>{const d=s?Object.assign(s,{async:!1}):{async:!1},u=a._zod.run({value:r,issues:[]},d);if(u instanceof Promise)throw new cs;if(u.issues.length){const p=new(l?.Err??e)(u.issues.map(m=>en(m,d,Jr())));throw u1(p,l?.callee),p}return u.value},Xf=e=>async(a,r,s,l)=>{const d=s?Object.assign(s,{async:!0}):{async:!0};let u=a._zod.run({value:r,issues:[]},d);if(u instanceof Promise&&(u=await u),u.issues.length){const p=new(l?.Err??e)(u.issues.map(m=>en(m,d,Jr())));throw u1(p,l?.callee),p}return u.value},gd=e=>(a,r,s)=>{const l=s?{...s,async:!1}:{async:!1},d=a._zod.run({value:r,issues:[]},l);if(d instanceof Promise)throw new cs;return d.issues.length?{success:!1,error:new(e??m1)(d.issues.map(u=>en(u,l,Jr())))}:{success:!0,data:d.value}},vC=gd(g1),yd=e=>async(a,r,s)=>{const l=s?Object.assign(s,{async:!0}):{async:!0};let d=a._zod.run({value:r,issues:[]},l);return d instanceof Promise&&(d=await d),d.issues.length?{success:!1,error:new e(d.issues.map(u=>en(u,l,Jr())))}:{success:!0,data:d.value}},wC=yd(g1),xC=e=>(a,r,s)=>{const l=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return Qf(e)(a,r,l)},SC=e=>(a,r,s)=>Qf(e)(a,r,s),AC=e=>async(a,r,s)=>{const l=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return Xf(e)(a,r,l)},EC=e=>async(a,r,s)=>Xf(e)(a,r,s),NC=e=>(a,r,s)=>{const l=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return gd(e)(a,r,l)},kC=e=>(a,r,s)=>gd(e)(a,r,s),OC=e=>async(a,r,s)=>{const l=s?Object.assign(s,{direction:"backward"}):{direction:"backward"};return yd(e)(a,r,l)},TC=e=>async(a,r,s)=>yd(e)(a,r,s),CC=/^[cC][^\s-]{8,}$/,RC=/^[0-9a-z]+$/,jC=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,PC=/^[0-9a-vA-V]{20}$/,IC=/^[A-Za-z0-9]{27}$/,MC=/^[a-zA-Z0-9_-]{21}$/,LC=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,_C=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ev=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,HC=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,zC="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function DC(){return new RegExp(zC,"u")}const BC=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,UC=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,qC=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,GC=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,WC=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,y1=/^[A-Za-z0-9_-]*$/,YC=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,$C=/^\+(?:[0-9]){6,14}[0-9]$/,b1="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",FC=new RegExp(`^${b1}$`);function v1(e){const a="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${a}`:e.precision===0?`${a}:[0-5]\\d`:`${a}:[0-5]\\d\\.\\d{${e.precision}}`:`${a}(?::[0-5]\\d(?:\\.\\d+)?)?`}function KC(e){return new RegExp(`^${v1(e)}$`)}function VC(e){const a=v1({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const s=`${a}(?:${r.join("|")})`;return new RegExp(`^${b1}T(?:${s})$`)}const ZC=e=>{const a=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${a}$`)},QC=/^-?\d+$/,XC=/^-?\d+(?:\.\d+)?/,JC=/^[^A-Z]*$/,e9=/^[^a-z]*$/,na=ee("$ZodCheck",(e,a)=>{var r;e._zod??(e._zod={}),e._zod.def=a,(r=e._zod).onattach??(r.onattach=[])}),w1={number:"number",bigint:"bigint",object:"date"},x1=ee("$ZodCheckLessThan",(e,a)=>{na.init(e,a);const r=w1[typeof a.value];e._zod.onattach.push(s=>{const l=s._zod.bag,d=(a.inclusive?l.maximum:l.exclusiveMaximum)??Number.POSITIVE_INFINITY;a.value<d&&(a.inclusive?l.maximum=a.value:l.exclusiveMaximum=a.value)}),e._zod.check=s=>{(a.inclusive?s.value<=a.value:s.value<a.value)||s.issues.push({origin:r,code:"too_big",maximum:a.value,input:s.value,inclusive:a.inclusive,inst:e,continue:!a.abort})}}),S1=ee("$ZodCheckGreaterThan",(e,a)=>{na.init(e,a);const r=w1[typeof a.value];e._zod.onattach.push(s=>{const l=s._zod.bag,d=(a.inclusive?l.minimum:l.exclusiveMinimum)??Number.NEGATIVE_INFINITY;a.value>d&&(a.inclusive?l.minimum=a.value:l.exclusiveMinimum=a.value)}),e._zod.check=s=>{(a.inclusive?s.value>=a.value:s.value>a.value)||s.issues.push({origin:r,code:"too_small",minimum:a.value,input:s.value,inclusive:a.inclusive,inst:e,continue:!a.abort})}}),t9=ee("$ZodCheckMultipleOf",(e,a)=>{na.init(e,a),e._zod.onattach.push(r=>{var s;(s=r._zod.bag).multipleOf??(s.multipleOf=a.value)}),e._zod.check=r=>{if(typeof r.value!=typeof a.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%a.value===BigInt(0):nC(r.value,a.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:a.value,input:r.value,inst:e,continue:!a.abort})}}),a9=ee("$ZodCheckNumberFormat",(e,a)=>{na.init(e,a),a.format=a.format||"float64";const r=a.format?.includes("int"),s=r?"int":"number",[l,d]=cC[a.format];e._zod.onattach.push(u=>{const p=u._zod.bag;p.format=a.format,p.minimum=l,p.maximum=d,r&&(p.pattern=QC)}),e._zod.check=u=>{const p=u.value;if(r){if(!Number.isInteger(p)){u.issues.push({expected:s,format:a.format,code:"invalid_type",continue:!1,input:p,inst:e});return}if(!Number.isSafeInteger(p)){p>0?u.issues.push({input:p,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:s,continue:!a.abort}):u.issues.push({input:p,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:s,continue:!a.abort});return}}p<l&&u.issues.push({origin:"number",input:p,code:"too_small",minimum:l,inclusive:!0,inst:e,continue:!a.abort}),p>d&&u.issues.push({origin:"number",input:p,code:"too_big",maximum:d,inst:e})}}),i9=ee("$ZodCheckMaxLength",(e,a)=>{var r;na.init(e,a),(r=e._zod.def).when??(r.when=s=>{const l=s.value;return!Kf(l)&&l.length!==void 0}),e._zod.onattach.push(s=>{const l=s._zod.bag.maximum??Number.POSITIVE_INFINITY;a.maximum<l&&(s._zod.bag.maximum=a.maximum)}),e._zod.check=s=>{const l=s.value;if(l.length<=a.maximum)return;const u=Zf(l);s.issues.push({origin:u,code:"too_big",maximum:a.maximum,inclusive:!0,input:l,inst:e,continue:!a.abort})}}),r9=ee("$ZodCheckMinLength",(e,a)=>{var r;na.init(e,a),(r=e._zod.def).when??(r.when=s=>{const l=s.value;return!Kf(l)&&l.length!==void 0}),e._zod.onattach.push(s=>{const l=s._zod.bag.minimum??Number.NEGATIVE_INFINITY;a.minimum>l&&(s._zod.bag.minimum=a.minimum)}),e._zod.check=s=>{const l=s.value;if(l.length>=a.minimum)return;const u=Zf(l);s.issues.push({origin:u,code:"too_small",minimum:a.minimum,inclusive:!0,input:l,inst:e,continue:!a.abort})}}),n9=ee("$ZodCheckLengthEquals",(e,a)=>{var r;na.init(e,a),(r=e._zod.def).when??(r.when=s=>{const l=s.value;return!Kf(l)&&l.length!==void 0}),e._zod.onattach.push(s=>{const l=s._zod.bag;l.minimum=a.length,l.maximum=a.length,l.length=a.length}),e._zod.check=s=>{const l=s.value,d=l.length;if(d===a.length)return;const u=Zf(l),p=d>a.length;s.issues.push({origin:u,...p?{code:"too_big",maximum:a.length}:{code:"too_small",minimum:a.length},inclusive:!0,exact:!0,input:s.value,inst:e,continue:!a.abort})}}),bd=ee("$ZodCheckStringFormat",(e,a)=>{var r,s;na.init(e,a),e._zod.onattach.push(l=>{const d=l._zod.bag;d.format=a.format,a.pattern&&(d.patterns??(d.patterns=new Set),d.patterns.add(a.pattern))}),a.pattern?(r=e._zod).check??(r.check=l=>{a.pattern.lastIndex=0,!a.pattern.test(l.value)&&l.issues.push({origin:"string",code:"invalid_format",format:a.format,input:l.value,...a.pattern?{pattern:a.pattern.toString()}:{},inst:e,continue:!a.abort})}):(s=e._zod).check??(s.check=()=>{})}),s9=ee("$ZodCheckRegex",(e,a)=>{bd.init(e,a),e._zod.check=r=>{a.pattern.lastIndex=0,!a.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:a.pattern.toString(),inst:e,continue:!a.abort})}}),o9=ee("$ZodCheckLowerCase",(e,a)=>{a.pattern??(a.pattern=JC),bd.init(e,a)}),l9=ee("$ZodCheckUpperCase",(e,a)=>{a.pattern??(a.pattern=e9),bd.init(e,a)}),c9=ee("$ZodCheckIncludes",(e,a)=>{na.init(e,a);const r=ys(a.includes),s=new RegExp(typeof a.position=="number"?`^.{${a.position}}${r}`:r);a.pattern=s,e._zod.onattach.push(l=>{const d=l._zod.bag;d.patterns??(d.patterns=new Set),d.patterns.add(s)}),e._zod.check=l=>{l.value.includes(a.includes,a.position)||l.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:a.includes,input:l.value,inst:e,continue:!a.abort})}}),d9=ee("$ZodCheckStartsWith",(e,a)=>{na.init(e,a);const r=new RegExp(`^${ys(a.prefix)}.*`);a.pattern??(a.pattern=r),e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(r)}),e._zod.check=s=>{s.value.startsWith(a.prefix)||s.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:a.prefix,input:s.value,inst:e,continue:!a.abort})}}),u9=ee("$ZodCheckEndsWith",(e,a)=>{na.init(e,a);const r=new RegExp(`.*${ys(a.suffix)}$`);a.pattern??(a.pattern=r),e._zod.onattach.push(s=>{const l=s._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(r)}),e._zod.check=s=>{s.value.endsWith(a.suffix)||s.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:a.suffix,input:s.value,inst:e,continue:!a.abort})}}),h9=ee("$ZodCheckOverwrite",(e,a)=>{na.init(e,a),e._zod.check=r=>{r.value=a.tx(r.value)}});class p9{constructor(a=[]){this.content=[],this.indent=0,this&&(this.args=a)}indented(a){this.indent+=1,a(this),this.indent-=1}write(a){if(typeof a=="function"){a(this,{execution:"sync"}),a(this,{execution:"async"});return}const s=a.split(` 302`).filter(u=>u),l=Math.min(...s.map(u=>u.length-u.trimStart().length)),d=s.map(u=>u.slice(l)).map(u=>" ".repeat(this.indent*2)+u);for(const u of d)this.content.push(u)}compile(){const a=Function,r=this?.args,l=[...(this?.content??[""]).map(d=>` ${d}`)];return new a(...r,l.join(` 303`))}}const f9={major:4,minor:1,patch:12},yt=ee("$ZodType",(e,a)=>{var r;e??(e={}),e._zod.def=a,e._zod.bag=e._zod.bag||{},e._zod.version=f9;const s=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&s.unshift(e);for(const l of s)for(const d of l._zod.onattach)d(e);if(s.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const l=(u,p,m)=>{let g=is(u),v;for(const y of p){if(y._zod.def.when){if(!y._zod.def.when(u))continue}else if(g)continue;const S=u.issues.length,E=y._zod.check(u);if(E instanceof Promise&&m?.async===!1)throw new cs;if(v||E instanceof Promise)v=(v??Promise.resolve()).then(async()=>{await E,u.issues.length!==S&&(g||(g=is(u,S)))});else{if(u.issues.length===S)continue;g||(g=is(u,S))}}return v?v.then(()=>u):u},d=(u,p,m)=>{if(is(u))return u.aborted=!0,u;const g=l(p,s,m);if(g instanceof Promise){if(m.async===!1)throw new cs;return g.then(v=>e._zod.parse(v,m))}return e._zod.parse(g,m)};e._zod.run=(u,p)=>{if(p.skipChecks)return e._zod.parse(u,p);if(p.direction==="backward"){const g=e._zod.parse({value:u.value,issues:[]},{...p,skipChecks:!0});return g instanceof Promise?g.then(v=>d(v,u,p)):d(g,u,p)}const m=e._zod.parse(u,p);if(m instanceof Promise){if(p.async===!1)throw new cs;return m.then(g=>l(g,s,p))}return l(m,s,p)}}e["~standard"]={validate:l=>{try{const d=vC(e,l);return d.success?{value:d.data}:{issues:d.error?.issues}}catch{return wC(e,l).then(u=>u.success?{value:u.data}:{issues:u.error?.issues})}},vendor:"zod",version:1}}),Jf=ee("$ZodString",(e,a)=>{yt.init(e,a),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ZC(e._zod.bag),e._zod.parse=(r,s)=>{if(a.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),rt=ee("$ZodStringFormat",(e,a)=>{bd.init(e,a),Jf.init(e,a)}),m9=ee("$ZodGUID",(e,a)=>{a.pattern??(a.pattern=_C),rt.init(e,a)}),g9=ee("$ZodUUID",(e,a)=>{if(a.version){const s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[a.version];if(s===void 0)throw new Error(`Invalid UUID version: "${a.version}"`);a.pattern??(a.pattern=Ev(s))}else a.pattern??(a.pattern=Ev());rt.init(e,a)}),y9=ee("$ZodEmail",(e,a)=>{a.pattern??(a.pattern=HC),rt.init(e,a)}),b9=ee("$ZodURL",(e,a)=>{rt.init(e,a),e._zod.check=r=>{try{const s=r.value.trim(),l=new URL(s);a.hostname&&(a.hostname.lastIndex=0,a.hostname.test(l.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:YC.source,input:r.value,inst:e,continue:!a.abort})),a.protocol&&(a.protocol.lastIndex=0,a.protocol.test(l.protocol.endsWith(":")?l.protocol.slice(0,-1):l.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:a.protocol.source,input:r.value,inst:e,continue:!a.abort})),a.normalize?r.value=l.href:r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!a.abort})}}}),v9=ee("$ZodEmoji",(e,a)=>{a.pattern??(a.pattern=DC()),rt.init(e,a)}),w9=ee("$ZodNanoID",(e,a)=>{a.pattern??(a.pattern=MC),rt.init(e,a)}),x9=ee("$ZodCUID",(e,a)=>{a.pattern??(a.pattern=CC),rt.init(e,a)}),S9=ee("$ZodCUID2",(e,a)=>{a.pattern??(a.pattern=RC),rt.init(e,a)}),A9=ee("$ZodULID",(e,a)=>{a.pattern??(a.pattern=jC),rt.init(e,a)}),E9=ee("$ZodXID",(e,a)=>{a.pattern??(a.pattern=PC),rt.init(e,a)}),N9=ee("$ZodKSUID",(e,a)=>{a.pattern??(a.pattern=IC),rt.init(e,a)}),k9=ee("$ZodISODateTime",(e,a)=>{a.pattern??(a.pattern=VC(a)),rt.init(e,a)}),O9=ee("$ZodISODate",(e,a)=>{a.pattern??(a.pattern=FC),rt.init(e,a)}),T9=ee("$ZodISOTime",(e,a)=>{a.pattern??(a.pattern=KC(a)),rt.init(e,a)}),C9=ee("$ZodISODuration",(e,a)=>{a.pattern??(a.pattern=LC),rt.init(e,a)}),R9=ee("$ZodIPv4",(e,a)=>{a.pattern??(a.pattern=BC),rt.init(e,a),e._zod.onattach.push(r=>{const s=r._zod.bag;s.format="ipv4"})}),j9=ee("$ZodIPv6",(e,a)=>{a.pattern??(a.pattern=UC),rt.init(e,a),e._zod.onattach.push(r=>{const s=r._zod.bag;s.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!a.abort})}}}),P9=ee("$ZodCIDRv4",(e,a)=>{a.pattern??(a.pattern=qC),rt.init(e,a)}),I9=ee("$ZodCIDRv6",(e,a)=>{a.pattern??(a.pattern=GC),rt.init(e,a),e._zod.check=r=>{const s=r.value.split("/");try{if(s.length!==2)throw new Error;const[l,d]=s;if(!d)throw new Error;const u=Number(d);if(`${u}`!==d)throw new Error;if(u<0||u>128)throw new Error;new URL(`http://[${l}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!a.abort})}}});function A1(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const M9=ee("$ZodBase64",(e,a)=>{a.pattern??(a.pattern=WC),rt.init(e,a),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{A1(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!a.abort})}});function L9(e){if(!y1.test(e))return!1;const a=e.replace(/[-_]/g,s=>s==="-"?"+":"/"),r=a.padEnd(Math.ceil(a.length/4)*4,"=");return A1(r)}const _9=ee("$ZodBase64URL",(e,a)=>{a.pattern??(a.pattern=y1),rt.init(e,a),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{L9(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!a.abort})}}),H9=ee("$ZodE164",(e,a)=>{a.pattern??(a.pattern=$C),rt.init(e,a)});function z9(e,a=null){try{const r=e.split(".");if(r.length!==3)return!1;const[s]=r;if(!s)return!1;const l=JSON.parse(atob(s));return!("typ"in l&&l?.typ!=="JWT"||!l.alg||a&&(!("alg"in l)||l.alg!==a))}catch{return!1}}const D9=ee("$ZodJWT",(e,a)=>{rt.init(e,a),e._zod.check=r=>{z9(r.value,a.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!a.abort})}}),E1=ee("$ZodNumber",(e,a)=>{yt.init(e,a),e._zod.pattern=e._zod.bag.pattern??XC,e._zod.parse=(r,s)=>{if(a.coerce)try{r.value=Number(r.value)}catch{}const l=r.value;if(typeof l=="number"&&!Number.isNaN(l)&&Number.isFinite(l))return r;const d=typeof l=="number"?Number.isNaN(l)?"NaN":Number.isFinite(l)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:l,inst:e,...d?{received:d}:{}}),r}}),B9=ee("$ZodNumber",(e,a)=>{a9.init(e,a),E1.init(e,a)}),U9=ee("$ZodUnknown",(e,a)=>{yt.init(e,a),e._zod.parse=r=>r}),q9=ee("$ZodNever",(e,a)=>{yt.init(e,a),e._zod.parse=(r,s)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Nv(e,a,r){e.issues.length&&a.issues.push(...p1(r,e.issues)),a.value[r]=e.value}const G9=ee("$ZodArray",(e,a)=>{yt.init(e,a),e._zod.parse=(r,s)=>{const l=r.value;if(!Array.isArray(l))return r.issues.push({expected:"array",code:"invalid_type",input:l,inst:e}),r;r.value=Array(l.length);const d=[];for(let u=0;u<l.length;u++){const p=l[u],m=a.element._zod.run({value:p,issues:[]},s);m instanceof Promise?d.push(m.then(g=>Nv(g,r,u))):Nv(m,r,u)}return d.length?Promise.all(d).then(()=>r):r}});function $c(e,a,r,s){e.issues.length&&a.issues.push(...p1(r,e.issues)),e.value===void 0?r in s&&(a.value[r]=void 0):a.value[r]=e.value}function N1(e){const a=Object.keys(e.shape);for(const s of a)if(!e.shape?.[s]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${s}": expected a Zod schema`);const r=lC(e.shape);return{...e,keys:a,keySet:new Set(a),numKeys:a.length,optionalKeys:new Set(r)}}function k1(e,a,r,s,l,d){const u=[],p=l.keySet,m=l.catchall._zod,g=m.def.type;for(const v of Object.keys(a)){if(p.has(v))continue;if(g==="never"){u.push(v);continue}const y=m.run({value:a[v],issues:[]},s);y instanceof Promise?e.push(y.then(S=>$c(S,r,v,a))):$c(y,r,v,a)}return u.length&&r.issues.push({code:"unrecognized_keys",keys:u,input:a,inst:d}),e.length?Promise.all(e).then(()=>r):r}const W9=ee("$ZodObject",(e,a)=>{if(yt.init(e,a),!Object.getOwnPropertyDescriptor(a,"shape")?.get){const p=a.shape;Object.defineProperty(a,"shape",{get:()=>{const m={...p};return Object.defineProperty(a,"shape",{value:m}),m}})}const s=Ff(()=>N1(a));Qe(e._zod,"propValues",()=>{const p=a.shape,m={};for(const g in p){const v=p[g]._zod;if(v.values){m[g]??(m[g]=new Set);for(const y of v.values)m[g].add(y)}}return m});const l=Yc,d=a.catchall;let u;e._zod.parse=(p,m)=>{u??(u=s.value);const g=p.value;if(!l(g))return p.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),p;p.value={};const v=[],y=u.shape;for(const S of u.keys){const N=y[S]._zod.run({value:g[S],issues:[]},m);N instanceof Promise?v.push(N.then(x=>$c(x,p,S,g))):$c(N,p,S,g)}return d?k1(v,g,p,m,s.value,e):v.length?Promise.all(v).then(()=>p):p}}),Y9=ee("$ZodObjectJIT",(e,a)=>{W9.init(e,a);const r=e._zod.parse,s=Ff(()=>N1(a)),l=S=>{const E=new p9(["shape","payload","ctx"]),N=s.value,x=M=>{const Y=Av(M);return`shape[${Y}]._zod.run({ value: input[${Y}], issues: [] }, ctx)`};E.write("const input = payload.value;");const k=Object.create(null);let C=0;for(const M of N.keys)k[M]=`key_${C++}`;E.write("const newResult = {};");for(const M of N.keys){const Y=k[M],L=Av(M);E.write(`const ${Y} = ${x(M)};`),E.write(` 304 if (${Y}.issues.length) { 305 payload.issues = payload.issues.concat(${Y}.issues.map(iss => ({ 306 ...iss, 307 path: iss.path ? [${L}, ...iss.path] : [${L}] 308 }))); 309 } 310 311 312 if (${Y}.value === undefined) { 313 if (${L} in input) { 314 newResult[${L}] = undefined; 315 } 316 } else { 317 newResult[${L}] = ${Y}.value; 318 } 319 320 `)}E.write("payload.value = newResult;"),E.write("return payload;");const I=E.compile();return(M,Y)=>I(S,M,Y)};let d;const u=Yc,p=!d1.jitless,g=p&&sC.value,v=a.catchall;let y;e._zod.parse=(S,E)=>{y??(y=s.value);const N=S.value;return u(N)?p&&g&&E?.async===!1&&E.jitless!==!0?(d||(d=l(a.shape)),S=d(S,E),v?k1([],N,S,E,y,e):S):r(S,E):(S.issues.push({expected:"object",code:"invalid_type",input:N,inst:e}),S)}});function kv(e,a,r,s){for(const d of e)if(d.issues.length===0)return a.value=d.value,a;const l=e.filter(d=>!is(d));return l.length===1?(a.value=l[0].value,l[0]):(a.issues.push({code:"invalid_union",input:a.value,inst:r,errors:e.map(d=>d.issues.map(u=>en(u,s,Jr())))}),a)}const $9=ee("$ZodUnion",(e,a)=>{yt.init(e,a),Qe(e._zod,"optin",()=>a.options.some(l=>l._zod.optin==="optional")?"optional":void 0),Qe(e._zod,"optout",()=>a.options.some(l=>l._zod.optout==="optional")?"optional":void 0),Qe(e._zod,"values",()=>{if(a.options.every(l=>l._zod.values))return new Set(a.options.flatMap(l=>Array.from(l._zod.values)))}),Qe(e._zod,"pattern",()=>{if(a.options.every(l=>l._zod.pattern)){const l=a.options.map(d=>d._zod.pattern);return new RegExp(`^(${l.map(d=>Vf(d.source)).join("|")})$`)}});const r=a.options.length===1,s=a.options[0]._zod.run;e._zod.parse=(l,d)=>{if(r)return s(l,d);let u=!1;const p=[];for(const m of a.options){const g=m._zod.run({value:l.value,issues:[]},d);if(g instanceof Promise)p.push(g),u=!0;else{if(g.issues.length===0)return g;p.push(g)}}return u?Promise.all(p).then(m=>kv(m,l,e,d)):kv(p,l,e,d)}}),F9=ee("$ZodIntersection",(e,a)=>{yt.init(e,a),e._zod.parse=(r,s)=>{const l=r.value,d=a.left._zod.run({value:l,issues:[]},s),u=a.right._zod.run({value:l,issues:[]},s);return d instanceof Promise||u instanceof Promise?Promise.all([d,u]).then(([m,g])=>Ov(r,m,g)):Ov(r,d,u)}});function $p(e,a){if(e===a)return{valid:!0,data:e};if(e instanceof Date&&a instanceof Date&&+e==+a)return{valid:!0,data:e};if(zo(e)&&zo(a)){const r=Object.keys(a),s=Object.keys(e).filter(d=>r.indexOf(d)!==-1),l={...e,...a};for(const d of s){const u=$p(e[d],a[d]);if(!u.valid)return{valid:!1,mergeErrorPath:[d,...u.mergeErrorPath]};l[d]=u.data}return{valid:!0,data:l}}if(Array.isArray(e)&&Array.isArray(a)){if(e.length!==a.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let s=0;s<e.length;s++){const l=e[s],d=a[s],u=$p(l,d);if(!u.valid)return{valid:!1,mergeErrorPath:[s,...u.mergeErrorPath]};r.push(u.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Ov(e,a,r){if(a.issues.length&&e.issues.push(...a.issues),r.issues.length&&e.issues.push(...r.issues),is(e))return e;const s=$p(a.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}const K9=ee("$ZodEnum",(e,a)=>{yt.init(e,a);const r=rC(a.entries),s=new Set(r);e._zod.values=s,e._zod.pattern=new RegExp(`^(${r.filter(l=>oC.has(typeof l)).map(l=>typeof l=="string"?ys(l):l.toString()).join("|")})$`),e._zod.parse=(l,d)=>{const u=l.value;return s.has(u)||l.issues.push({code:"invalid_value",values:r,input:u,inst:e}),l}}),V9=ee("$ZodLiteral",(e,a)=>{if(yt.init(e,a),a.values.length===0)throw new Error("Cannot create literal schema with no valid values");e._zod.values=new Set(a.values),e._zod.pattern=new RegExp(`^(${a.values.map(r=>typeof r=="string"?ys(r):r?ys(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,s)=>{const l=r.value;return e._zod.values.has(l)||r.issues.push({code:"invalid_value",values:a.values,input:l,inst:e}),r}}),Z9=ee("$ZodTransform",(e,a)=>{yt.init(e,a),e._zod.parse=(r,s)=>{if(s.direction==="backward")throw new c1(e.constructor.name);const l=a.transform(r.value,r);if(s.async)return(l instanceof Promise?l:Promise.resolve(l)).then(u=>(r.value=u,r));if(l instanceof Promise)throw new cs;return r.value=l,r}});function Tv(e,a){return e.issues.length&&a===void 0?{issues:[],value:void 0}:e}const Q9=ee("$ZodOptional",(e,a)=>{yt.init(e,a),e._zod.optin="optional",e._zod.optout="optional",Qe(e._zod,"values",()=>a.innerType._zod.values?new Set([...a.innerType._zod.values,void 0]):void 0),Qe(e._zod,"pattern",()=>{const r=a.innerType._zod.pattern;return r?new RegExp(`^(${Vf(r.source)})?$`):void 0}),e._zod.parse=(r,s)=>{if(a.innerType._zod.optin==="optional"){const l=a.innerType._zod.run(r,s);return l instanceof Promise?l.then(d=>Tv(d,r.value)):Tv(l,r.value)}return r.value===void 0?r:a.innerType._zod.run(r,s)}}),X9=ee("$ZodNullable",(e,a)=>{yt.init(e,a),Qe(e._zod,"optin",()=>a.innerType._zod.optin),Qe(e._zod,"optout",()=>a.innerType._zod.optout),Qe(e._zod,"pattern",()=>{const r=a.innerType._zod.pattern;return r?new RegExp(`^(${Vf(r.source)}|null)$`):void 0}),Qe(e._zod,"values",()=>a.innerType._zod.values?new Set([...a.innerType._zod.values,null]):void 0),e._zod.parse=(r,s)=>r.value===null?r:a.innerType._zod.run(r,s)}),J9=ee("$ZodDefault",(e,a)=>{yt.init(e,a),e._zod.optin="optional",Qe(e._zod,"values",()=>a.innerType._zod.values),e._zod.parse=(r,s)=>{if(s.direction==="backward")return a.innerType._zod.run(r,s);if(r.value===void 0)return r.value=a.defaultValue,r;const l=a.innerType._zod.run(r,s);return l instanceof Promise?l.then(d=>Cv(d,a)):Cv(l,a)}});function Cv(e,a){return e.value===void 0&&(e.value=a.defaultValue),e}const e7=ee("$ZodPrefault",(e,a)=>{yt.init(e,a),e._zod.optin="optional",Qe(e._zod,"values",()=>a.innerType._zod.values),e._zod.parse=(r,s)=>(s.direction==="backward"||r.value===void 0&&(r.value=a.defaultValue),a.innerType._zod.run(r,s))}),t7=ee("$ZodNonOptional",(e,a)=>{yt.init(e,a),Qe(e._zod,"values",()=>{const r=a.innerType._zod.values;return r?new Set([...r].filter(s=>s!==void 0)):void 0}),e._zod.parse=(r,s)=>{const l=a.innerType._zod.run(r,s);return l instanceof Promise?l.then(d=>Rv(d,e)):Rv(l,e)}});function Rv(e,a){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:a}),e}const a7=ee("$ZodCatch",(e,a)=>{yt.init(e,a),Qe(e._zod,"optin",()=>a.innerType._zod.optin),Qe(e._zod,"optout",()=>a.innerType._zod.optout),Qe(e._zod,"values",()=>a.innerType._zod.values),e._zod.parse=(r,s)=>{if(s.direction==="backward")return a.innerType._zod.run(r,s);const l=a.innerType._zod.run(r,s);return l instanceof Promise?l.then(d=>(r.value=d.value,d.issues.length&&(r.value=a.catchValue({...r,error:{issues:d.issues.map(u=>en(u,s,Jr()))},input:r.value}),r.issues=[]),r)):(r.value=l.value,l.issues.length&&(r.value=a.catchValue({...r,error:{issues:l.issues.map(d=>en(d,s,Jr()))},input:r.value}),r.issues=[]),r)}}),i7=ee("$ZodPipe",(e,a)=>{yt.init(e,a),Qe(e._zod,"values",()=>a.in._zod.values),Qe(e._zod,"optin",()=>a.in._zod.optin),Qe(e._zod,"optout",()=>a.out._zod.optout),Qe(e._zod,"propValues",()=>a.in._zod.propValues),e._zod.parse=(r,s)=>{if(s.direction==="backward"){const d=a.out._zod.run(r,s);return d instanceof Promise?d.then(u=>kc(u,a.in,s)):kc(d,a.in,s)}const l=a.in._zod.run(r,s);return l instanceof Promise?l.then(d=>kc(d,a.out,s)):kc(l,a.out,s)}});function kc(e,a,r){return e.issues.length?(e.aborted=!0,e):a._zod.run({value:e.value,issues:e.issues},r)}const r7=ee("$ZodReadonly",(e,a)=>{yt.init(e,a),Qe(e._zod,"propValues",()=>a.innerType._zod.propValues),Qe(e._zod,"values",()=>a.innerType._zod.values),Qe(e._zod,"optin",()=>a.innerType._zod.optin),Qe(e._zod,"optout",()=>a.innerType._zod.optout),e._zod.parse=(r,s)=>{if(s.direction==="backward")return a.innerType._zod.run(r,s);const l=a.innerType._zod.run(r,s);return l instanceof Promise?l.then(jv):jv(l)}});function jv(e){return e.value=Object.freeze(e.value),e}const n7=ee("$ZodCustom",(e,a)=>{na.init(e,a),yt.init(e,a),e._zod.parse=(r,s)=>r,e._zod.check=r=>{const s=r.value,l=a.fn(s);if(l instanceof Promise)return l.then(d=>Pv(d,r,s,e));Pv(l,r,s,e)}});function Pv(e,a,r,s){if(!e){const l={code:"custom",input:r,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(l.params=s._zod.def.params),a.issues.push(Do(l))}}class s7{constructor(){this._map=new WeakMap,this._idmap=new Map}add(a,...r){const s=r[0];if(this._map.set(a,s),s&&typeof s=="object"&&"id"in s){if(this._idmap.has(s.id))throw new Error(`ID ${s.id} already exists in the registry`);this._idmap.set(s.id,a)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(a){const r=this._map.get(a);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(a),this}get(a){const r=a._zod.parent;if(r){const s={...this.get(r)??{}};delete s.id;const l={...s,...this._map.get(a)};return Object.keys(l).length?l:void 0}return this._map.get(a)}has(a){return this._map.has(a)}}function o7(){return new s7}const Oc=o7();function l7(e,a){return new e({type:"string",...ve(a)})}function c7(e,a){return new e({type:"string",format:"email",check:"string_format",abort:!1,...ve(a)})}function Iv(e,a){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...ve(a)})}function d7(e,a){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...ve(a)})}function u7(e,a){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ve(a)})}function h7(e,a){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ve(
vendor: 2,993 bytes, line 320
320a)})}function p7(e,a){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ve(a)})}function f7(e,a){return new e({type:"string",format:"url",check:"string_format",abort:!1,...ve(a)})}function m7(e,a){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...ve(a)})}function g7(e,a){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...ve(a)})}function y7(e,a){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...ve(a)})}function b7(e,a){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...ve(a)})}function v7(e,a){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...ve(a)})}function w7(e,a){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...ve(a)})}function x7(e,a){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...ve(a)})}function S7(e,a){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...ve(a)})}function A7(e,a){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...ve(a)})}function E7(e,a){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ve(a)})}function N7(e,a){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ve(a)})}function k7(e,a){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...ve(a)})}function O7(e,a){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...ve(a)})}function T7(e,a){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...ve(a)})}function C7(e,a){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...ve(a)})}function R7(e,a){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ve(a)})}function j7(e,a){return new e({type:"string",format:"date",check:"string_format",...ve(a)})}function P7(e,a){return new e({type:"string",format:"time",check:"string_format",precision:null,...ve(a)})}function I7(e,a){return new e({type:"string",format:"duration",check:"string_format",...ve(a)})}function M7(e,a){return new e({type:"number",checks:[],...ve(a)})}function L7(e,a){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...ve(a)})}function _7(e){return new e({type:"unknown"})}function H7(e,a){return new e({type:"never",...ve(a)})}function Mv(e,a){return new x1({check:"less_than",...ve(a),value:e,inclusive:!1})}function dp(e,a){return new x1({check:"less_than",...ve(a),value:e,inclusive:!0})}function Lv(e,a){return new S1({check:"greater_than",...ve(a),value:e,inclusive:!1})}function up(e,a){return new S1({check:"greater_than",...ve(a),value:e,inclusive:!0})}function _v(e,a){return new t9({check:"multiple_of",...ve(a),value:e})}function O1(e,a){return new i9({check:"max_length",...ve(a),maximum:e})}function Fc(e,a){return new r9({check:"min_length",...ve(a),minimum:e})}
vendor: 5,694 bytes, line 320
320function T1(e,a){return new n9({check:"length_equals",...ve(a),length:e})}function z7(e,a){return new s9({check:"string_format",format:"regex",...ve(a),pattern:e})}function D7(e){return new o9({check:"string_format",format:"lowercase",...ve(e)})}function B7(e){return new l9({check:"string_format",format:"uppercase",...ve(e)})}function U7(e,a){return new c9({check:"string_format",format:"includes",...ve(a),includes:e})}function q7(e,a){return new d9({check:"string_format",format:"starts_with",...ve(a),prefix:e})}function G7(e,a){return new u9({check:"string_format",format:"ends_with",...ve(a),suffix:e})}function Qo(e){return new h9({check:"overwrite",tx:e})}function W7(e){return Qo(a=>a.normalize(e))}function Y7(){return Qo(e=>e.trim())}function $7(){return Qo(e=>e.toLowerCase())}function F7(){return Qo(e=>e.toUpperCase())}function K7(e,a,r){return new e({type:"array",element:a,...ve(r)})}function V7(e,a,r){return new e({type:"custom",check:"custom",fn:a,...ve(r)})}function Z7(e){const a=Q7(r=>(r.addIssue=s=>{if(typeof s=="string")r.issues.push(Do(s,r.value,a._zod.def));else{const l=s;l.fatal&&(l.continue=!1),l.code??(l.code="custom"),l.input??(l.input=r.value),l.inst??(l.inst=a),l.continue??(l.continue=!a._zod.def.abort),r.issues.push(Do(l))}},e(r.value,r)));return a}function Q7(e,a){const r=new na({check:"custom",...ve(a)});return r._zod.check=e,r}const X7=ee("ZodISODateTime",(e,a)=>{k9.init(e,a),ct.init(e,a)});function J7(e){return R7(X7,e)}const eR=ee("ZodISODate",(e,a)=>{O9.init(e,a),ct.init(e,a)});function tR(e){return j7(eR,e)}const aR=ee("ZodISOTime",(e,a)=>{T9.init(e,a),ct.init(e,a)});function iR(e){return P7(aR,e)}const rR=ee("ZodISODuration",(e,a)=>{C9.init(e,a),ct.init(e,a)});function nR(e){return I7(rR,e)}const sR=(e,a)=>{m1.init(e,a),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>bC(e,r)},flatten:{value:r=>yC(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Yp,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Yp,2)}},isEmpty:{get(){return e.issues.length===0}}})},ja=ee("ZodError",sR,{Parent:Error}),oR=Qf(ja),lR=Xf(ja),cR=gd(ja),dR=yd(ja),uR=xC(ja),hR=SC(ja),pR=AC(ja),fR=EC(ja),mR=NC(ja),gR=kC(ja),yR=OC(ja),bR=TC(ja),St=ee("ZodType",(e,a)=>(yt.init(e,a),e.def=a,e.type=a.type,Object.defineProperty(e,"_def",{value:a}),e.check=(...r)=>e.clone(ln(a,{checks:[...a.checks??[],...r.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]})),e.clone=(r,s)=>vr(e,r,s),e.brand=()=>e,e.register=((r,s)=>(r.add(e,s),e)),e.parse=(r,s)=>oR(e,r,s,{callee:e.parse}),e.safeParse=(r,s)=>cR(e,r,s),e.parseAsync=async(r,s)=>lR(e,r,s,{callee:e.parseAsync}),e.safeParseAsync=async(r,s)=>dR(e,r,s),e.spa=e.safeParseAsync,e.encode=(r,s)=>uR(e,r,s),e.decode=(r,s)=>hR(e,r,s),e.encodeAsync=async(r,s)=>pR(e,r,s),e.decodeAsync=async(r,s)=>fR(e,r,s),e.safeEncode=(r,s)=>mR(e,r,s),e.safeDecode=(r,s)=>gR(e,r,s),e.safeEncodeAsync=async(r,s)=>yR(e,r,s),e.safeDecodeAsync=async(r,s)=>bR(e,r,s),e.refine=(r,s)=>e.check(lj(r,s)),e.superRefine=r=>e.check(cj(r)),e.overwrite=r=>e.check(Qo(r)),e.optional=()=>Bv(e),e.nullable=()=>Uv(e),e.nullish=()=>Bv(Uv(e)),e.nonoptional=r=>tj(e,r),e.array=()=>qR(e),e.or=r=>Fp([e,r]),e.and=r=>$R(e,r),e.transform=r=>qv(e,VR(r)),e.default=r=>XR(e,r),e.prefault=r=>ej(e,r),e.catch=r=>ij(e,r),e.pipe=r=>qv(e,r),e.readonly=()=>sj(e),e.describe=r=>{const s=e.clone();return Oc.add(s,{description:r}),s},Object.defineProperty(e,"description",{get(){return Oc.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Oc.get(e);const s=e.clone();return Oc.add(s,r[0]),s},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),C1=ee("_ZodString",(e,a)=>{Jf.init(e,a),St.init(e,a);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...s)=>e.check(z7(...s)),e.includes=(...s)=>e.check(U7(...s)),e.startsWith=(...s)=>e.check(q7(...s)),e.endsWith=(...s)=>e.check(G7(...s)),e.min=(...s)=>e.check(Fc(...s)),e.max=(...s)=>e.check(O1(...s)),e.length=(...s)=>e.check(T1(...s)),e.nonempty=(...s)=>e.check(Fc(1,...s)),e.lowercase=s=>e.check(D7(s)),e.uppercase=s=>e.check(B7(s)),e.trim=()=>e.check(Y7()),e.normalize=(...s)=>e.check(W7(...s)),e.toLowerCase=()=>e.check($7()),e.toUpperCase=()=>e.check(F7())}),vR=ee("ZodString",(e,a)=>{Jf.init(e,a),C1.init(e,a),e.email=r=>e.check(c7(wR,r)),e.url=r=>e.check(f7(xR,r)),e.jwt=r=>e.check(C7(_R,r)),e.emoji=r=>e.check(m7(SR,r)),e.guid=r=>e.check(Iv(Hv,r)),e.uuid=r=>e.check(d7(Tc,r)),e.uuidv4=r=>e.check(u7(Tc,r)),e.uuidv6=r=>e.check(h7(Tc,r)),e.uuidv7=r=>e.check(p7(Tc,r)),e.nanoid=r=>e.check(g7(AR,r)),e.guid=r=>e.check(Iv(Hv,r)),e.cuid=r=>e.check(y7(ER,r)),e.cuid2=r=>e.check(b7(NR,r)),e.ulid=r=>e.check(v7(kR,r)),e.base64=r=>e.check(k7(IR,r)),e.base64url=r=>e.check(O7(MR,r)),e.xid=r=>e.check(w7(OR,r)),e.ksuid=r=>e.check(x7(TR,r)),e.ipv4=r=>e.check(S7(CR,r)),e.ipv6=r=>e.check(A7(RR,r)),e.cidrv4=r=>e.check(E7(jR,r)),e.cidrv6=r=>e.check(N7(PR,r)),e.e164=r=>e.check(T7(LR,r)),e.datetime=r=>e.check(J7(r)),e.date=r=>e.check(tR(r)),e.time=r=>e.check(iR(r)),e.duration=r=>e.check(nR(r))});function it(e){return l7(vR,e)}const ct=ee("ZodStringFormat",(e,a)=>{rt.init(e,a),C1.init(e,a)}),wR=ee("ZodEmail",(e,a)=>{y9.init(e,a),ct.init(e,a)}),Hv=ee("ZodGUID",(e,a)=>{m9.init(e,a),ct.init(e,a)}),Tc=ee("ZodUUID",(e,a)=>{g9.init(e,a),ct.init(e,a)}),xR=ee("ZodURL",(e,a)=>{b9.init(e,a),ct.init(e,a)}),SR=ee("ZodEmoji",(e,a)=>{v9.init(e,a),ct.init(e,a)}),AR=ee("ZodNanoID",(e,a)=>{w9.init(e,a),ct.init(e,a)}),ER=ee("ZodCUID",(e,a)=>{x9.init(e,a),ct.init(e,a)}),NR=ee("ZodCUID2",(e,a)=>{S9.init(e,a),ct.init(e,a)}
vendor: 1,998 bytes, line 320
320),kR=ee("ZodULID",(e,a)=>{A9.init(e,a),ct.init(e,a)}),OR=ee("ZodXID",(e,a)=>{E9.init(e,a),ct.init(e,a)}),TR=ee("ZodKSUID",(e,a)=>{N9.init(e,a),ct.init(e,a)}),CR=ee("ZodIPv4",(e,a)=>{R9.init(e,a),ct.init(e,a)}),RR=ee("ZodIPv6",(e,a)=>{j9.init(e,a),ct.init(e,a)}),jR=ee("ZodCIDRv4",(e,a)=>{P9.init(e,a),ct.init(e,a)}),PR=ee("ZodCIDRv6",(e,a)=>{I9.init(e,a),ct.init(e,a)}),IR=ee("ZodBase64",(e,a)=>{M9.init(e,a),ct.init(e,a)}),MR=ee("ZodBase64URL",(e,a)=>{_9.init(e,a),ct.init(e,a)}),LR=ee("ZodE164",(e,a)=>{H9.init(e,a),ct.init(e,a)}),_R=ee("ZodJWT",(e,a)=>{D9.init(e,a),ct.init(e,a)}),R1=ee("ZodNumber",(e,a)=>{E1.init(e,a),St.init(e,a),e.gt=(s,l)=>e.check(Lv(s,l)),e.gte=(s,l)=>e.check(up(s,l)),e.min=(s,l)=>e.check(up(s,l)),e.lt=(s,l)=>e.check(Mv(s,l)),e.lte=(s,l)=>e.check(dp(s,l)),e.max=(s,l)=>e.check(dp(s,l)),e.int=s=>e.check(zv(s)),e.safe=s=>e.check(zv(s)),e.positive=s=>e.check(Lv(0,s)),e.nonnegative=s=>e.check(up(0,s)),e.negative=s=>e.check(Mv(0,s)),e.nonpositive=s=>e.check(dp(0,s)),e.multipleOf=(s,l)=>e.check(_v(s,l)),e.step=(s,l)=>e.check(_v(s,l)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function em(e){return M7(R1,e)}const HR=ee("ZodNumberFormat",(e,a)=>{B9.init(e,a),R1.init(e,a)});function zv(e){return L7(HR,e)}const zR=ee("ZodUnknown",(e,a)=>{U9.init(e,a),St.init(e,a)});function Dv(){return _7(zR)}const DR=ee("ZodNever",(e,a)=>{q9.init(e,a),St.init(e,a)});function BR(e){return H7(DR,e)}const UR=ee("ZodArray",(e,a)=>{G9.init(e,a),St.init(e,a),e.element=a.element,e.min=(r,s)=>e.check(Fc(r,s)),e.nonempty=r=>e.check(Fc(1,r)),e.max=(r,s)=>e.check(O1(r,s)),e.length=(r,s)=>e.check(T1(r,s)),e.unwrap=()=>e.element});function qR(e,a){return K7(UR,e,a)}
vendor: 1,687 bytes, line 320
320const GR=ee("ZodObject",(e,a)=>{Y9.init(e,a),St.init(e,a),Qe(e,"shape",()=>a.shape),e.keyof=()=>Ra(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Dv()}),e.loose=()=>e.clone({...e._zod.def,catchall:Dv()}),e.strict=()=>e.clone({...e._zod.def,catchall:BR()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>hC(e,r),e.safeExtend=r=>pC(e,r),e.merge=r=>fC(e,r),e.pick=r=>dC(e,r),e.omit=r=>uC(e,r),e.partial=(...r)=>mC(j1,e,r[0]),e.required=(...r)=>gC(P1,e,r[0])});function Bo(e,a){const r={type:"object",shape:e??{},...ve(a)};return new GR(r)}const WR=ee("ZodUnion",(e,a)=>{$9.init(e,a),St.init(e,a),e.options=a.options});function Fp(e,a){return new WR({type:"union",options:e,...ve(a)})}const YR=ee("ZodIntersection",(e,a)=>{F9.init(e,a),St.init(e,a)});function $R(e,a){return new YR({type:"intersection",left:e,right:a})}const Kp=ee("ZodEnum",(e,a)=>{K9.init(e,a),St.init(e,a),e.enum=a.entries,e.options=Object.values(a.entries);const r=new Set(Object.keys(a.entries));e.extract=(s,l)=>{const d={};for(const u of s)if(r.has(u))d[u]=a.entries[u];else throw new Error(`Key ${u} not found in enum`);return new Kp({...a,checks:[],...ve(l),entries:d})},e.exclude=(s,l)=>{const d={...a.entries};for(const u of s)if(r.has(u))delete d[u];else throw new Error(`Key ${u} not found in enum`);return new Kp({...a,checks:[],...ve(l),entries:d})}});function Ra(e,a){const r=Array.isArray(e)?Object.fromEntries(e.map(s=>[s,s])):e;return new Kp({type:"enum",entries:r,...ve(a)})}const FR=ee("ZodLiteral",(e,a)=>{V9.init(e,a),St.init(e,a),e.values=new Set(a.values),Object.defineProperty(e,"value",{get(){if
320(a.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return a.values[0]}})});function ii(e,a){return new FR({type:"literal",values:Array.isArray(e)?e:[e],...ve(a)})}const KR=ee("ZodTransform",(e,a)=>{Z9.init(e,a),St.init(e,a),e._zod.parse=(r,s)=>{if(s.direction==="backward")throw new c1(e.constructor.name);r.addIssue=d=>{if(typeof d=="string")r.issues.push(Do(d,r.value,a));else{const u=d;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=r.value),u.inst??(u.inst=e),r.issues.push(Do(u))}};const l=a.transform(r.value,r);return l instanceof Promise?l.then(d=>(r.value=d,r)):(r.value=l,r)}});function VR(e){return new KR({type:"transform",transform:e})}const j1=ee("ZodOptional",(e,a)=>{Q9.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType});function Bv(e){return new j1({type:"optional",innerType:e})}const ZR=ee("ZodNullable",(e,a)=>{X9.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType});function Uv(e){return new ZR({type:"nullable",innerType:e})}const QR=ee("ZodDefault",(e,a)=>{J9.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function XR(e,a){return new QR({type:"default",innerType:e,get defaultValue(){return typeof a=="function"?a():h1(a)}})}const JR=ee("ZodPrefault",(e,a)=>{e7.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType});function ej(e,a){return new JR({type:"prefault",innerType:e,get defaultValue(){return typeof a=="function"?a():h1(a)}})}const P1=ee("ZodNonOptional",(e,a)=>{t7.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType});function tj(e,a){return new P1({type:"nonoptional",innerType:e,...ve(a)})}const aj=ee("ZodCatch",(e,a)=>{a7.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ij(e,a){return new aj({type:"catch",innerType:e,catchValue:typeof a=="function"?a:()=>a})}const rj=ee("ZodPipe",(e,a)=>{i7.init(e,a),St.init(e,a),e.in=a.in,e.out=a.out});function qv(e,a){return new rj({type:"pipe",in:e,out:a})}const nj=ee("ZodReadonly",(e,a)=>{r7.init(e,a),St.init(e,a),e.unwrap=()=>e._zod.def.innerType});function sj(e){return new nj({type:"readonly",innerType:e})}const oj=ee("ZodCustom",(e,a)=>{n7.init(e,a),St.init(e,a)});function lj(e,a={}){return V7(oj,e,a)}function cj(e){return Z7(e)}const I1="careers-2026-09-05",M1="at-home-2026-09-05",L1="space-rental-2026-09-17",_1="expert-match-email-2026-09-13",Vp=2*1024*1024,H1=["NYC","Greenwich, CT","Sag Harbor, NY"],dj=[{value:"new-york",label:"NYC",routingEmail:"[email protected]"},{value:"greenwich",label:"Connecticut",routingEmail:"[email protected]"},{value:"sag-harbor",label:"Hamptons",routingEmail:"[email protected]"}],uj=["Haircut & Styling","Menâs Grooming","Styling","Makeup","Bridal and bridal party","Other"],hj=["Polished Blowout","Soft Waves & Natural Movement","Sleek & Sculpted","Voluminous Glamour","Red-Carpet Finish","Editorial Texture","Updo or Event Styling","Bridal Styling","Menâs Styling & Grooming","Personalized Artist Consultation"],pj=["Residence","Hotel","Bridal Suite","Venue","Office or Production","Other"],fj=["Email","Text","Call"],mj=["New York","Connecticut","Hamptons"],gj=["Haircut & Styling","Color & Balayage","Blowouts & Events","Bridal Hair & Makeup","Brows, Nails & Beauty","Menâs Grooming"],yj=["Fine or volume-seeking","Thick or dense","Curly or coily","Wavy or textured","Straight or smooth","Color-treated or sensitized","Iâm not sure"],tm=["NYC","Greenwich, CT","Sag Harbor, NY","Flexible"],am=["Photo or video production","Beauty or fashion event","Private event","Brand activation","Education or training","Other"],vd=it().uuid(),wd=it().max(200).optional().default(""),im=it().trim().min(10).max(32).refine(e=>{const a=e.replace(/\D/g,"");return a.length>=10&&a.length<=15},"Enter a valid phone number."),Zp=it().regex(/^\d{4}-\d{2}-\d{2}$/),Gv=it().regex(/^(?:[01]\d|2[0-3]):(?:[0-5][05])$/);Bo({idempotencyKey:vd,companyWebsite:wd,firstName:it().trim().min(2).max(80),lastName:it().trim().min(2).max(80),email:it().trim().email().max(320),phone:im,position:it().trim().min(2).max(120),preferredLocation:Ra(H1),experienceLevel:it().trim().min(2).max(160),backgroundInterest:it().trim().min(20).max(1500),referredBy:it().trim().max(160).optional().default(""),resume:Bo({name:it().trim().min(1).max(180),type:it().trim().min(1).max(100),size:em().int().positive().max(Vp),base64:it().min(8).max(Math.ceil(Vp/3)*4+16)}),consent:ii(!0),consentVersion:ii(I1)}).strict();Bo({idempotencyKey:vd,companyWebsite:wd,clientName:it().trim().min(2).max(80),email:it().trim().email().max(320),phone:im,contactMethod:Ra(fj),market:Ra(dj.map(e=>e.value)),service:Ra(uj),stylingDirection:Ra(hj),partySize:em().int().min(1).max(30),settingType:Ra(pj),serviceAddress:it().trim().min(8).max(220),preferredDate:Zp,alternateDate:Fp([Zp,ii("")]).default(""),preferredTime:Gv,alternateTime:Fp([Gv,ii("")]).default(""),notes:it().trim().max(600).default(""),acknowledgment:ii(!0),consentVersion:ii(M1)}).strict();Bo({idempotencyKey:vd,companyWebsite:wd,clientName:it().trim().min(2).max(80),c
320ompanyName:it().trim().max(120).default(""),email:it().trim().email().max(320),phone:im,preferredLocation:Ra(tm),eventType:Ra(am),preferredDate:Zp,estimatedGuests:em().int().min(1).max(500),details:it().trim().min(20).max(1500),acknowledgment:ii(!0),consentVersion:ii(L1)}).strict();Bo({idempotencyKey:vd,companyWebsite:wd,email:it().trim().email().max(320),salon:Ra(mj),service:Ra(gj),hairProfile:Ra(yj),consent:ii(!0),consentVersion:ii(_1)}).strict();const bj=[{value:"New York",label:"NYC",detail:"Madison Avenue"},{value:"Connecticut",label:"Connecticut",detail:"Greenwich"},{value:"Hamptons",label:"Hamptons",detail:"Sag Harbor"}],vj=[{value:"Haircut & Styling",label:"Haircut & Styling",detail:"Shape, movement, layers, or a new silhouette"},{value:"Color & Balayage",label:"Color & Balayage",detail:"Dimension, blonding, correction, or a tonal refresh"},{value:"Blowouts & Events",label:"Blowouts & Events",detail:"Polished finishing, waves, updos, or occasion styling"},{value:"Bridal Hair & Makeup",label:"Bridal Hair & Makeup",detail:"Wedding-day hair, makeup, or a complete beauty look"},{value:"Brows, Nails & Beauty",label:"Brows, Nails & Beauty",detail
320:"Makeup, brows, manicures, waxing, or finishing details"},{value:"Menâs Grooming",label:"Menâs Grooming",detail:"Precision cutting, styling, and considered maintenance"}],wj=[{value:"Fine or volume-seeking",label:"Fine or volume-seeking",detail:"I want body, movement, or fuller-looking hair"},{value:"Thick or dense",label:"Thick or dense",detail:"I want shape, control, and thoughtful weight removal"},{value:"Curly or coily",label:"Curly or coily",detail:"I want curl-aware shape, definition, or care"},{value:"Wavy or textured",label:"Wavy or textured",detail:"I want movement that works with my natural texture"},{value:"Straight or smooth",label:"Straight or smooth",detail:"I want polish, precision, or a sleek finish"},{value:"Color-treated or sensitized",label:"Color-treated or sensitized",detail:"Condition and hair integrity are especially important"},{value:"Iâm not sure",label:"Iâm not sure",detail:"I would like the artist to guide me"}],xj={"New York":"New York",Connecticut:"Greenwich",Hamptons:"Sag Harbor"},Sj=new Set(["ericka","laara-raynier","lorgie","rosetta","trevy"]);function Aj(e){return Sj.has(e.slug)}const Wv={"Haircut & Styling":{phrases:["precision cut","haircut","cutting","layers","layering","styling","stylist","blowout","scissor"],labels:{"precision cut":"precision cutting",haircut:"haircuts",cutting:"cutting",layers:"layered shaping",layering:"layered shaping",styling:"styling",stylist:"styling",blowout:"blowouts",scissor:"scissor work"}},"Color & Balayage":{phrases:["color correction","lived-in","balayage","highlights","highlight","blonding","blonde","brunette","redhead","ombre","colorist","color theory","hair color"],labels:{"color correction":"color correction","lived-in":"lived-in color",balayage:"balayage",highlights:"highlights",highlight:"highlights",blonding:"blonding",blonde:"blonde color",brunette:"brunette color",redhead:"red color",ombre:"ombré",colorist:"hair color","color theory":"color theory","hair color":"hair color"}},"Blowouts & Events":{phrases:["red carpet","special occasion","beach waves","blowout","blowouts","updo","updos","event styling","editorial styling","runway","styling"],labels:{"red carpet":"red-carpet styling","special occasion":"special-occasion beauty","beach waves":"beach waves",blowout:"blowouts",blowouts:"blowouts",updo:"updos",updos:"updos","event styling":"event styling","editorial styling":"editorial styling",runway:"runway styling",styling:"styling"}},"Bridal Hair & Makeup":{phrases:["bridal","wedding","makeup","make-up","updo","updos","special occasion","event specialist"],labels:{bridal:"bridal beauty",wedding:"wedding styling",makeup:"makeup artistry","make-up":"makeup artistry",updo:"updos",updos:"updos","special occasion":"special-occasion beauty","event specialist":"event artistry"}},"Brows, Nails & Beauty":{phrases:["eyebrow","brow","manicure","manicurist","nail","makeup","make-up","wax","esthetic"],labels:{eyebrow:"brow artistry",brow:"brow artistry",manicure:"manicures",manicurist:"manicures",nail:"nail care",makeup:"makeup artistry","make-up":"makeup artistry",wax:"waxing",esthetic:"esthetic services"}},"Menâs Grooming":{phrases:["menâs haircut","men's haircut","menâs hair","men's hair","man haircut","grooming","barber","clipper","scissor work"],labels:{"menâs haircut":"menâs haircuts","men's haircut":"menâs haircuts","menâs hair":"menâs hair","men's hair":"menâs hair","man haircut":"menâs haircuts",grooming:"grooming",barber:"barbering",clipper:"clipper work","scissor work":"scissor work"}}},Ej={"Fine or volume-seeking":{phrases:["fine hair","volume","voluminous","body","fuller"],labels:{"fine hair":"fine-hair experience",volume:"volume",voluminous:"voluminous styling",body:"body and movement",fuller:"fuller-looking results"}},"Thick or dense":{phrases:["thick hair","dense","weight removal","layers","layering","long hair"],labels:{"thick hair":"thick-hair experience",dense:"dense hair","weight removal":"weight removal",layers:"layered shaping",layering:"layered shaping","long hair":"long-hair shaping"}},"Curly or coily":{phrases:["curly hair","curls","curl","coily","natural hair","textured hair"],labels:{"curly hair":"curly hair",curls:"curl work",curl:"curl work",coily:"coily hair","natural hair":"natural hair","textured hair":"textured hair"}},"Wavy or textured":{phrases:["wavy hair","waves","wave","texture","textured","beach waves"],labels:{"wavy hair":"wavy hair",waves:"wave styling",wave:"wave styling",texture:"texture",textured:"textured hair","beach waves":"beach waves"}},"Straight or smooth":{phrases:["straight hair","sleek","smooth","precision","bob","blunt"],labels:{"straight hair":"straight hair",sleek:"sleek finishing",smooth:"smooth finishing",precision:"precision work",bob:"bob shaping",blunt:"blunt shaping"}},"Color-treated or sensitized":{phrases:["hair integrity","integrity","healthy hair","hair health","condition","conditioning","treatment","repair"],labels:{"hair integrity":"hair integrity",integrity:"hair integrity","healthy hair":"healthy-hair care","hair health":"hair health",condition:"conditioning",conditioning:"conditioning",treatment:"treatments",repair:"repair-focused care"}},"Iâm not sure":{phrases:[],labels:{}}};function rm(e){return e.toLowerCase().replace(/[â]/g,"'").replace(/\s+/g," ")}function Yv(e){return rm([e.role,...e.specialties,...e.bio].join(" "))}function hp(e,a){const r=[];for(const s of a.phrases){const l=rm(s);if(e.includes(l)){const d=a.labels[s]??s;r.includes(d)||r.push(d)}}return r}function z1(e){return e==="Color & Balayage"?["Colorist"]:e==="Brows, Nails & Beauty"?["Makeup & Beauty","Nails & Brows"]:e==="Bridal Hair & Makeup"?["Stylist","Makeup & Beauty"]:["Stylist"]}function Nj(e,a,r){const s=zf(e,a);return z1(r).some(d=>s.includes(d))?r==="Color & Balayage"?48:r==="Haircut & Styling"?42:r==="Blowouts & Events"?38:r==="Bridal Hair & Makeup"?s.includes("Makeup & Beauty")?36:26:r==="Brows, Nails & Beauty"?52:r==="Menâs Grooming"?28:0:0}function $v(e){return/cut|precision/i.test(e)}function D1(e){return rm(e).replace(/[^a-z0-9]+/g," ").trim()}function kj(e,a){const r=D1(e),s=[],l=d=>{s.includes(d)||s.push(d)};return a==="Menâs Grooming"&&/\b(groom|grooming|haircuts?|men s hair|mens hair|men hair)\b/.test(r)?l("mens-grooming"):(/\b(haircuts?|cutting|precision cut|precision cutting)\b/.test(r)&&l("haircut"),/\b(grooming|barbering)\b/.test(r)&&l("grooming")),/\b(blowout|blowouts|blowdry|blow dry)\b/.test(r)&&l("blowout"),/\b(color correction|corrective color)\b/.test(r)&&l("color-correction"),/\bbalayage\b/.test(r)&&l("balayage"),/\b(highlight|highlights|blonding)\b/.test(r)&&l("highlights"),/\b(lived in color|lived in)\b/.test(r)&&l("lived-in-color"),/\b(hair color|color theory|blonde color|brunette color|red color)\b/.test(r)&&l("hair-color"),/\b(makeup|make up)\b/.test(r)&&l("makeup"),/\b(bridal|wedding)\b/.test(r)&&l("bridal"),/\b(brow|brows|eyebrow|eyebrows)\b/.test(r)&&/\b(tint|tinting)\b/.test(r)?l("brow-tinting"):/\b(brow|brows|eyebrow|eyebrows)\b/.test(r)&&/\b(shape|shaping|design)\b/.test(r)?l("brow-shaping"):/\b(brow|brows|eyebrow|eyebrows)\b/.test(r)&&l("brows"),/\b(manicure|manicures|n
320ail|nails)\b/.test(r)&&l("nails"),/\b(wax|waxing)\b/.test(r)&&l("waxing"),/\b(updo|updos)\b/.test(r)&&l("updos"),/\b(special occasion|event styling|event artistry)\b/.test(r)&&l("event-styling"),/\bstyling\b/.test(r)&&l("styling"),/\b(scissor|clipper)\b/.test(r)&&l("cutting-tools"),/\b(smooth|sleek)\b/.test(r)&&l("smooth-finish"),/\b(volume|voluminous|fuller|body and movement)\b/.test(r)&&l("volume"),/\b(layer|layers|layering|layered)\b/.test(r)&&l("layers"),s.length===0&&l(r.replace(/\b(haircuts|blowouts|highlights|manicures|updos)\b/g,d=>d.slice(0,-1))),s}function Qp(e,a){const r=new Set;return e.filter(s=>{const l=kj(s,a);return l.some(d=>r.has(d))?!1:(l.forEach(d=>r.add(d)),!0)})}function Oj(e,a){const r=D1(e);return{"Haircut & Styling":/cut|style|styling|blow|layer|curl|wave|smooth|sleek|volume|body|texture|scissor|bob|shape|finish/,"Color & Balayage":/color|balayage|highlight|blond|brunette|red|tone|toner|gloss|lived in|correct/,"Blowouts & Events":/blow|style|styling|updo|event|occasion|red carpet|runway|wave|volume|finish/,"Bridal Hair & Makeup":/bridal|wedding|makeup|make up|updo|event|occasion|beauty|style|styling/,"Brows, Nails & Beauty":/makeup|make up|brow|eyebrow|nail|manicur|wax|esthetic|beauty|polish/,"Menâs Grooming":/\bmen\b|\bmen s\b|groom|barber|clipper|scissor|cut/}[a].test(r)}function Tj(e,a,r,s){const l=Qp([...r,...s],a.service).slice(0,3),d=l.length?l.join(", "):pd(e)[0],u=a.salon==="Connecticut"?"Greenwich":a.salon==="Hamptons"?"Sag Harbor":"NYC";return`${e.name} is recommended from our ${u} roster for your ${a.service.toLowerCase()} goals. Current expertise highlights ${d}.`}function Cj(e,a,r=3){const s=xj[a.salon],l=z1(a.service),d=e.filter(m=>!Aj(m)&&Bp(m,s)&&zf(m,s).some(g=>l.includes(g))),u=a.service==="Menâs Grooming"?d.filter(m=>hp(Yv(m),Wv[a.service]).length>0):[];return(u.length>=r?u:d).map(m=>{const g=Yv(m),v=hp(g,Wv[a.service]),y=hp(g,Ej[a.hairProfile]),S=a.service==="Haircut & Styling"?v.filter(C=>!$v(C)):v,N=Nj(m,s,a.service)+v.length*11+y.length*4,x=Qp([...S,...y],a.service).slice(0,5),k=Qp([...x,...pd(m).filter(C=>Oj(C,a.service))],a.service).filter(C=>a.service!=="Haircut & Styling"||!$v(C)).slice(0,3);return{artist:m,score:N,matchedSignals:x,specialtyTags:k,explanation:Tj(m,a,S,y)}}).sort((m,g)=>g.score-m.score||g.matchedSignals.length-m.matchedSignals.length||m.artist.name.localeCompare(g.artist.name)).slice(0,r)}function Fv(e){return!!(e.salon&&e.service&&e.hairProfile)}const Cc=[{key:"salon",eyebrow:"Your salon",title:"Where would you like to visit?",copy:"Weâll begin with the artists based at your preferred Warren Tricomi salon.",options:bj},{key:"service",eyebrow:"Your goal",title:"What would you like to explore?",copy:"Choose the service closest to what you have in mind. Your artist can refine the details during consultation.",options:vj},{key:"hairProfile",eyebrow:"Your hair",title:"Which description feels closest?",copy:"This helps us recognize artists whose published experience aligns with your texture, condition, or styling needs.",options:wj}];function Rj(){const[e,a]=w.useState(0),[r,s]=w.useState({}),[l,d]=w.useState(""),[u,p]=w.useState(""),[m,g]=w.useState(!1),[v,y]=w.useState("idle"),[S,E]=w.useState(""),[N,x]=w.useState(!1),[k,C]=w.useState(()=>crypto.randomUUID()),I=w.useRef(null),M=w.useRef(null),Y=w.useRef(null),L=Da.expertMatch.emailResults.useMutation(),G=Fv(r)&&e>=Cc.length,j=w.useMemo(()=>G?Cj(Co,r):[],[r,G]),z=Cc[Math.min(e,Cc.length-1)];w.useEffect(()=>{G&&I.current?.focus()},[G]);const F=te=>{const U=z.key;s(ne=>({...ne,[U]:te})),a(ne=>ne+1)},re=()=>{const te=Math.max(0,e-1),U=Cc[te].key;s(ne=>{const O={...ne};return delete O[U],O}),a(te)},se=()=>{s({}),a(0),d(""),p(""),g(!1),y("idle"),E(""),x(!1),Y.current=null,C(crypto.randomUUID())},ie=async te=>{if(te.preventDefault(),!(!Fv(r)||!m)){y("idle"),E("");try{(await L.mutateAsync({idempotencyKey:k,companyWebsite:u,email:l.trim(),salon:r.salon,service:r.service,hairProfile:r.hairProfile,consent:!0,consentVersion:_1})).emailDelivery==="sent"?(y("sent"),E(`Your three matches were emailed to ${l.trim()}.`)):(y("error"),E("Your matches could not be emailed right now. Please try again."),C(crypto.randomUUID()))}catch{y("error"),E("Your matches could not be emailed right now. Please check the address and try again."),C(crypto.randomUUID())}}};return o.jsx("section",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:137",className:"match-page",children:o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:138",className:"match-shell",children:G?o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:158",className:"match-results",ref:I,tabIndex:-1,"aria-live":"polite",children:[o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:159",className:"match-results__header",children:[o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:160",children:[o.jsx("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:160",className:"eyebrow",children:"Your Expert Match"}),o.jsx("h2",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:160",children:"Three artists selected for you."})]}),o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:161",children:[o.jsxs("p",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:161",children:[r.salon," · ",r.service,o.jsx("br",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:161"}),r.hairProfile]}),o.jsxs("button",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:161",type:"button",onClick:se,children:[o.jsx(_f,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:161","aria-hidden":"true"})," Start again"]})]})]}),o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:164",className:"match-results__grid",children:j.map((te,U)=>{const{artist:ne}
320=te,O=j8(ne,r.salon,r.service),D=P8(ne,r.salon);return o.jsxs("article",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:170",className:`match-artist ${U===0?"match-artist--primary":""}`,children:[o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:171",className:"match-artist__image",children:[o.jsx(Uf,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:172",artist:ne,className:"artist-portrait--match"}),U===0&&o.jsx("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:173",children:"Best Match"})]}),o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:175",className:"match-artist__body",children:[o.jsxs("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:176",className:"eyebrow",children:[hd(ne)," · ",ne.role]}),o.jsx("h3",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:177",children:ne.name}),o.jsx("p",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:178",children:te.explanation}),o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:179",className:"match-artist__specialty-label",children:"Why this artist"}),o.jsx("ul",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:180",className:"match-artist__specialty-tags","aria-label":`${ne.name} matching specialties`,children:te.specialtyTags.map(_=>o.jsx("li",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:180",children:_},_))}),o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:181",className:"match-artist__pricing",children:[o.jsx("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:182",children:O.serviceLabel}),o.jsx("strong",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:183",children:O.priceLabel}),o.jsx("small",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:184",children:O.detail})]}),o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:186",className:"match-artist__actions",children:[o.jsxs("a",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:187",href:D.href,target:"_blank",rel:"noreferrer",children:["Book with ",ne.name," ",o.jsx(st,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:187","aria-hidden":"true"})]}),o.jsxs("button",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:188",type:"button",className:"match-save-trigger",onClick:_=>{Y.current=_.currentTarget,x(!0)},"aria-label":`Save my match with ${ne.name}; email all three recommendations`,children:[o.jsx(sO,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:197","aria-hidden":"true",focusable:"false"}),o.jsx("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:198",children:"Save My Match"})]})]})]})]},ne.slug)})}),o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:207",className:"match-results__footer",children:o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:208",className:"match-results__note",children:[o.jsx("p",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:209",children:"Recommendations are based on the expertise published in our current artist roster. Your salon team can help refine availability and service details."}),o.jsxs(xe,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:210",href:"/artists",children:["Explore all artists ",o.jsx(st,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:210","aria-hidden":"true"})]})]})}),o.jsx(b8,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:214",open:N,onOpenChange:x,children:o.jsxs(w8,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:215",className:"match-save-dialog",onOpenAutoFocus:te=>{te.preventDefault(),M.current?.focus()},onCloseAutoFocus:te=>{te.preventDefault(),Y.current?.focus()},children:[o.jsxs(x8,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:226",className:"match-save-dialog__header",children:[o.jsx("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:227",className:"eyebrow",children:"Keep your recommendations"}),o.jsx(S8,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:228",children:"Save My Match"}),o.jsx(A8,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:229",children:"Receive all three verified artists, current pricing context, profiles, and booking links from [email protected]."})]}),v==="sent"?o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:234",className:"match-save-dialog__status",role:"status",children:S}):o.jsxs("form",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:236",className:"match-save-dialog__form",onSubmit:ie,noValidate:!0,children:[o.jsx("label",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:237",htmlFor:"expert-match-email",children:"Email address"}),o.jsx("input",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:238",ref:M,id:"expert-match-email",type:"email",autoComplete:"email",value:l,onCh
320ange:te=>d(te.target.value),placeholder:"[email protected]",required:!0,maxLength:320}),o.jsxs("label",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:249",className:"match-save-dialog__consent",children:[o.jsx("input",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:250",type:"checkbox",checked:m,onChange:te=>g(te.target.checked),required:!0}),o.jsxs("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:256",children:["Send this one-time Expert Match email to me. See our ",o.jsx(xe,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:256",href:"/privacy",children:"Privacy Policy"}),"."]})]}),o.jsxs("label",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:258",className:"sr-only","aria-hidden":"true",children:["Company website",o.jsx("input",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:260",type:"text",value:u,onChange:te=>p(te.target.value),tabIndex:-1,autoComplete:"off"})]}),o.jsx("button",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:268",type:"submit",disabled:L.isPending||!m,children:L.isPending?"Sendingâ¦":"Send My Matches"}),v==="error"&&o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:272",className:"match-save-dialog__status is-error",role:"alert",children:S})]})]})})]}):o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:140",className:"match-card",children:o.jsxs("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:141",className:"match-question",children:[o.jsx("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:142",className:"eyebrow",children:z.eyebrow}),o.jsx("h2",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:143",children:z.title}),o.jsx("p",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:144",children:z.copy}),o.jsx("div",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:145",className:"match-options",children:z.options.map(te=>o.jsxs("button",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:147",type:"button",onClick:()=>F(te.value),children:[o.jsxs("span",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:148",children:[o.jsx("strong",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:148",children:te.label}),o.jsx("small",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:148",children:te.detail})]}),o.jsx(st,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:149","aria-hidden":"true"})]},te.value))}),e>0&&o.jsxs("button",{"data-loc":"client/src/pages/ExpertMatchPage.tsx:153",type:"button",className:"match-back",onClick:re,children:[o.jsx(ms,{"data-loc":"client/src/pages/ExpertMatchPage.tsx:153","aria-hidden":"true"})," Previous question"]})]})})})})}const jj=["Salons & Hours","Services & Booking","Artists & Expert Match","At-Home & Bridal","Gift Cards, Events & Careers","Policies & Accessibility"],B1=[{id:"salon-locations-hours",category:"Salons & Hours",question:"Where are the Warren Tricomi salons, and when are they open?",answer:"Warren Tricomi welcomes guests at 969 Madison Avenue, 4th Floor in NYC; 1 East Putnam Avenue in Greenwich; and 23 Bridge Street, Ground Floor in Sag Harbor. NYC is open Monday 8AMâ6PM, TuesdayâFriday 8AMâ8PM, and Saturday 8AMâ6PM. Greenwich is open MondayâSaturday 8AMâ6PM. Sag Harbor is open MondayâSaturday 9AMâ6PM. All three salons are closed Sunday.",keywords:["address","hours","open","closed","nyc","madison","greenwich","connecticut","sag harbor","hamptons"],links:[{label:"Explore all locations",href:"/locations"}]},{id:"salon-contact",category:"Salons & Hours",question:"How can I contact a salon?",answer:"For NYC, call or text 212-262-8899 or email [email protected]. For Greenwich, call or text 203-863-9300 or email [email protected]. For Sag Harbor, call or text 631-324-3036 or email [email protected].",keywords:["phone","text","call","email","contact","booking team","salon"],links:[{label:"View salon contacts",href:"/contact"}]},{id:"directions-parking",category:"Salons & Hours",question:"Where can I find directions and parking information?",answer:"Each location page includes the salon address, hours, contact details, directions, and map. The Greenwich salon offers convenient client par
320king.",keywords:["directions","map","parking","travel","address","train","car"],links:[{label:"Choose a location",href:"/locations"}]},{id:"service-menu",category:"Services & Booking",question:"What services do Warren Tricomi salons offer?",answer:"The salon menu includes haircuts and styling, menâs grooming, hair color and balayage, beauty services such as brows, nails, and makeup, and selected kids and student services. Availability and pricing vary by salon, so choose NYC, Greenwich, or Sag Harbor on the Services page to view that salonâs current menu.",keywords:["services","haircut","styling","blowout","grooming","color","balayage","makeup","brows","nails","kids","students"],links:[{label:"View salon services",href:"/services"}]},{id:"service-by-location",category:"Services & Booking",question:"Are the same services available at every salon?",answer:"Service selection, providers, and pricing can differ by salon. Use the salon selector on the Services page, then choose the exact service to continue to the corresponding Warren Tricomi Zenoti booking flow with that salon and service selected.",keywords:["available","location","salon","different","service menu","provider","zenoti"],links:[{label:"Select a salon and service",href:"/services"}]},{id:"book-appointment",category:"Services & Booking",question:"How do I book a salon appointment?",answer:"Choose a salon and service from the Services page, book from an artist profile, or use the sitewide Book Now bar. The booking step continues through Warren Tricomiâs Zenoti webstore. You may also call, text, or email the appropriate salon booking team.",keywords:["book","appointment","reserve","schedule","zenoti","online booking"],links:[{label:"Book by service",href:"/services"},{label:"Contact a salon",href:"/contact"}]},{id:"pricing",category:"Services & Booking",question:"Where can I see service pricing?",answer:"Pricing varies by service, artist, and salon. Current prices are shown in the salon-specific Zenoti booking flow, and eligible Expert Match result cards show artist-specific ranges where available. Contact the salon booking team if you would like help confirming a price before booking.",keywords:["price","pricing","cost","range","how much","quote"],links:[{label:"View services",href:"/services"},{label:"Contact a salon",href:"/contact"}]},{id:"change-cancel",category:"Services & Booking",question:"How do I change or cancel an appointment?",answer:"Please contact the salon where your appointment is booked for assistance with changes or cancellations. Review the current Terms & Conditions for cancellation, no-show, payment, notification, and related appointment policies.",keywords:["cancel","cancellation","reschedule","change appointment","no show","late"],links:[{label:"Contact your salon",href:"/contact"},{label:"Read Terms & Conditions",href:"/terms"}]},{id:"find-artist",category:"Artists & Expert Match",question:"How can I find the right Warren Tricomi artist?",answer:"Browse the Artists directory and filter by salon and artist discipline, or use Expert Match for a guided salon recommendation. Artist profiles include specialties, locations, and direct booking actions when available.",keywords:["artist","stylist","colorist","makeup artist","nail technician","specialist","directory"],links:[{label:"Browse artists",href:"/artists"},{label:"Begin Expert Match",href:"/expert-match"}]},{id:"expert-match",category:"Artists & Expert Match",question:"How does Expert Match work?",answer:"Expert Match asks about your salon, desired service, hair profile, and priorities. It recommends one best match and two distinct alternatives from eligible artists at the selected salon, with evidence-based specialty reasons and direct booking actions. You can also request a one-time email containing those same three recommendations, current pricing context, profiles, and booking links. Expert Match is for salon appointments, not At-Home requests.",keywords:["expert match","recommend","best artist","alternatives","hair type","match","email matches","send results"],links:[{label:"Start Expert Match",href:"/expert-match"}]},{id:"multiple-locations",category:"Artists & Expert Match",question:"Do some artists work at more than one salon?",answer:"Yes. The Artists directory and individual profiles show every approved Warren Tr
320icomi location for artists who work across multiple salons. Booking actions use the available destination for the selected artist and salon.",keywords:["multiple locations","two salons","nyc and sag harbor","greenwich and nyc","artist location"],links:[{label:"Browse artists",href:"/artists"}]},{id:"at-home-availability",category:"At-Home & Bridal",question:"Where are At-Home services available?",answer:"At-Home services are available by request in NYC, Greenwich and select nearby Connecticut towns, and the Hamptons from Southampton to Montauk. Availability varies by artist, service, date, time, and address.",keywords:["at home","home service","hotel","hotels","residence","venue","come to me","travel","southampton","montauk","hamptons"],links:[{label:"Explore At-Home",href:"/at-home"}]},{id:"at-home-services",category:"At-Home & Bridal",question:"Which services can I request At-Home?",answer:"At-Home requests may include haircuts, grooming, polished styling, makeup and event styling, and coordinated bridal or bridal-party services. Hair color is not offered through the At-Home inquiry. Your request is emailed to the booking team for the area you selectâNYC, Connecticut, or the Hamptonsâand that team confirms availability after reviewing it.",keywords:["at home service","haircut","grooming","style","blowout","makeup","bridal party","color"],links:[{label:"Request an At-Home appointment",href:"/at-home/inquiry"}]},{id:"bridal",category:"At-Home & Bridal",question:"Do you offer bridal hair and makeup?",answer:"Yes. Warren Tricomi offers bridal hair and makeup with consultation and trial planning, followed by in-salon or At-Home service for the bride and bridal party. The team coordinates the look with your setting, schedule, wardrobe, and preferences.",keywords:["bride","bridal","wedding","trial","bridal party","wedding makeup","wedding hair"],links:[{label:"Explore Bridal",href:"/bridal"},{label:"Begin a bridal conversation",href:"/contact"}]},{id:"gift-cards",category:"Gift Cards, Events & Careers",question:"How can I purchase a Warren Tricomi gift card?",answer:"Visit the Gift Cards page to review the Warren Tricomi gift-card experience and current policy guidance, then continue to the secure Zenoti gift-card catalog to choose an amount and complete the purchase.",keywords:["gift","gift card","present","buy gift card","purchase"],links:[{label:"Visit Gift Cards",href:"/gift-card"}]},{id:"events",category:"Gift Cards, Events & Careers",question:"Can I inquire about an event, production, or salon space rental?",answer:"Yes. The Events page includes a secure inquiry for productions, beauty and fashion events, education, private gatherings, and brand activations. You can select a preferred salon, date, event type, attendance estimate, and relevant production needs.",keywords:["event","events","space rental","production","photo shoot","fashion","education","private gathering","brand activation"],links:[{label:"Plan an event",href:"/space-rental-events"}]},{id:"careers",category:"Gift Cards, Events & Careers",question:"How can I apply to work at Warren Tricomi?",answer:"Use the Careers page to review the current opportunities and submit the secure application form. Applicants can select a preferred salon and include their professional background, interest, and an optional resume.",keywords:["career","careers","job","work","apply","application","resume","employment"],links:[{label:"Visit Careers",href:"/careers"}]},{id:"privacy",category:"Policies & Accessibility",question:"Where can I review Warren Tricomiâs privacy information?",answer:"The Privacy page explains the information collected through site forms, how submitted information is used, storage and security practices, browser preferences, analytics, and contact information for privacy questions.",ke
320ywords:["privacy","personal information","data","security","analytics","storage"],links:[{label:"Read Privacy",href:"/privacy"}]},{id:"terms",category:"Policies & Accessibility",question:"Where can I review appointment, payment, and product policies?",answer:"Review the Terms & Conditions page for current information about booking, cancellation and no-show terms, credit-card and payment policies, communications, gift cards, products, third-party services, and website use.",keywords:["terms","conditions","policy","payment","credit card","no show","products","notification"],links:[{label:"Read Terms & Conditions",href:"/terms"}]},{id:"accessibility",category:"Policies & Accessibility",question:"What accessibility viewing options are available on the website?",answer:"Open Accessibility from the footer on any page. The viewing panel includes larger text, high contrast, reduced motion, and a reset action. Your selected viewing preferences are saved in your browser when storage is available.",keywords:["accessibility","larger text","text size","contrast","reduced motion","viewing options"],links:[]},{id:"contact-help",category:"Policies & Accessibility",question:"What should I do if my question is not answered here?",answer:"Visit Contact to call, text, or email the appropriate salon booking team. For bridal and At-Home planning, use the dedicated page or inquiry route so the team receives the details needed to help.",keywords:["help","contact","question","not answered","support","speak to someone"],links:[{label:"Contact Warren Tricomi",href:"/contact"}]}],Pj=new Set(["about","after","also","and","any","are","can","could","does","for","from","have","how","into","is","it","may","my","of","on","the","their","there","this","to","what","when","where","which","with","you","your"]);function ts(e){return e.toLowerCase().replace(/[â']/g,"").replace(/&/g," and ").replace(/[^a-z0-9]+/g," ").trim()}function Ij(e){return Array.from(new Set(ts(e).split(" ").filter(a=>a.length>2&&!Pj.has(a))))}function U1(e,a=6){const r=ts(e),s=Ij(e);return!r||s.length===0?[]:B1.map(l=>{const d=ts(l.question),u=ts(l.answer),p=ts(l.category),m=ts(l.keywords.join(" "));let g=d.includes(r)?40:0;for(const v of s)d.includes(v)&&(g+=8),m.includes(v)&&(g+=7),p.includes(v)&&(g+=3),u.includes(v)&&(g+=2);return{entry:l,score:g}}).filter(l=>l.score>0).sort((l,d)=>d.score-l.score||l.entry.question.localeCompare(d.entry.question)).slice(0,a)}function Mj(e){const a=e[0],r=e[1];return a?a.score>=24?!0:a.score>=16&&a.score-(r?.score??0)>=5:!1}function Lj(e){const a=U1(e,6),r=a[0]?.entry;return!r||!Mj(a)?null:{mode:"local",answer:r.answer,links:r.links,related:a.slice(1,4).map(({entry:s})=>({id:s.id,question:s.question,category:s.category}))}}function _j(){const[e,a]=w.useState(""),[r,s]=w.useState(""),[l,d]=w.useState(null),[u,p]=w.useState(""),m=Da.faq.answer.useMutation(),g=w.useMemo(()=>U1(e,4),[e]),v=l??m.data??null,y=()=>{d(null),s(""),p(""),m.reset()},S=x=>{const k=x.trim();if(k.length<3){p("Please enter a complete question.");return}p(""),s(k),m.reset();const C=Lj(k);if(C){d(C);return}d(null),m.mutate({query:k})},E=x=>{x.preventDefault(),S(e)},N=x=>{a(x),S(x)};return o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:83",className:"faq-page",children:[o.jsx("section",{"data-loc":"client/src/pages/FaqPage.tsx:84",className:"faq-hero",children:o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:85",className:"content-wrap faq-hero__inner",children:[o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:86",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:87",className:"eyebrow",children:"Guest Guide"}),o.jsx("h1",{"data-loc":"client/src/pages/FaqPage.tsx:88",children:"How may we help?"})]}),o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:90",children:"Ask about salons, services, appointments, artists, At-Home requests, gifting, events, policies, or accessibility."})]})}),o.jsx("section",{"data-loc":"client/src/pages/FaqPage.tsx:94",className:"faq-search-section","aria-labelledby":"faq-search-title",children:o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:95",className:"content-wrap faq-search-layout",children:[o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:96",className:"faq-search-intro",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:97",className:"eyebrow",children:"Ask Warren Tr
320icomi"}),o.jsx("h2",{"data-loc":"client/src/pages/FaqPage.tsx:98",id:"faq-search-title",children:"Find a clear answer."}),o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:99",children:"Search our verified guest guide. If your question needs personal assistance, we will direct you to the right team."})]}),o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:102",className:"faq-search-panel",children:[o.jsxs("form",{"data-loc":"client/src/pages/FaqPage.tsx:103",className:"faq-search-form",role:"search",onSubmit:E,children:[o.jsx("label",{"data-loc":"client/src/pages/FaqPage.tsx:104",htmlFor:"faq-question",children:"What would you like to know?"}),o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:105",className:"faq-search-form__field",children:[o.jsx(gs,{"data-loc":"client/src/pages/FaqPage.tsx:106","aria-hidden":"true"}),o.jsx("input",{"data-loc":"client/src/pages/FaqPage.tsx:107",id:"faq-question",name:"question",type:"search",value:e,maxLength:240,autoComplete:"off",placeholder:"For example, where is the Greenwich salon?","aria-describedby":u?"faq-validation":void 0,onChange:x=>{a(x.target.value),y()}}),e&&o.jsx("button",{"data-loc":"client/src/pages/FaqPage.tsx:121",type:"button","aria-label":"Clear question",onClick:()=>{a(""),y()},children:o.jsx(Qr,{"data-loc":"client/src/pages/FaqPage.tsx:121","aria-hidden":"true"})})]}),u&&o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:123",id:"faq-validation",className:"faq-search-form__validation",role:"alert",children:u}),o.jsx("button",{"data-loc":"client/src/pages/FaqPage.tsx:124",className:"faq-search-form__submit",type:"submit",disabled:m.isPending,children:m.isPending?o.jsxs(o.Fragment,{children:[o.jsx(xS,{"data-loc":"client/src/pages/FaqPage.tsx:125",className:"faq-spinner","aria-hidden":"true"})," Searching our guest guide"]}):o.jsxs(o.Fragment,{children:["Ask your question ",o.jsx(st,{"data-loc":"client/src/pages/FaqPage.tsx:125","aria-hidden":"true"})]})})]}),!v&&!m.isPending&&e.trim().length>=3&&g.length>0&&o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:130",className:"faq-live-matches","aria-label":"Suggested questions",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:131",children:"Suggested questions"}),g.map(({entry:x})=>o.jsx("button",{"data-loc":"client/src/pages/FaqPage.tsx:133",type:"button",onClick:()=>N(x.question),children:x.question},x.id))]}),m.isPending&&o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:139",className:"faq-answer faq-answer--loading",role:"status","aria-live":"polite",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:140",className:"eyebrow",children:"Searching"}),o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:141",children:"Reviewing the Warren Tricomi guest guide for the most relevant information."})]}),m.error&&o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:146",className:"faq-answer faq-answer--error",role:"alert",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:147",className:"eyebrow",children:"Temporarily unavailable"}),o.jsx("h3",{"data-loc":"client/src/pages/FaqPage.tsx:148",children:"We could not complete that search."}),o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:149",children:"Browse the questions below, try again, or contact the appropriate salon team for personal assistance."}),o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:150",className:"faq-answer__actions",children:[o.jsx("button",{"data-loc":"client/src/pages/FaqPage.tsx:151",type:"button",onClick:()=>S(r),children:"Try again"}),o.jsxs(xe,{"data-loc":"client/src/pages/FaqPage.tsx:152",href:"/contact",children:["Contact Warren Tricomi ",o.jsx(st,{"data-loc":"client/src/pages/FaqPage.tsx:152","aria-hidden":"true"})]})]})]}),v&&!m.isPending&&!m.error&&o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:158",className:"faq-answer","aria-live":"polite",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:159",className:"eyebrow",children:"Guest Guide"}),o.jsx("h3",{"data-loc":"client/src/pages/FaqPage.tsx:160",children:r}),o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:161",children:v.answer}),v.links.length>0&&o.jsx("div",{"data-loc":"client/src/pages/FaqPage.tsx:163",className:"faq-answer__actions",children:v.links.map(x=>o.jsxs(xe,{"data-loc":"client/src/pages/FaqPage.tsx:164",href:x.href,children:[x.label," ",o.jsx(st,{"data-loc":"client/src/pages/FaqPage.tsx:164","aria-hidden":"true"})]},x.href))}),v.related.length>0&&o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:168",className:"faq-answer__related",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:169",children:"You may also be looking for"}),v.related.map(x=>o.jsx("button",{"data-loc":"client/src/pages/FaqPage.tsx:170",type:"button",onClick:()=>N(x.question),children:x.question},x.id))]})]}),!v&&!m.isPending&&!m.error&&e.trim().length>=3&&g.length===0&&o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:177",className:"faq-no-result",children:"No close question is listed below. Submit your question and we will search the complete guest guide."})]})]})}),o.jsx("section",{"data-loc":"client/src/pages/FaqPage.tsx:183",className:"faq-directory","aria-labelledby":"faq-directory-title",children:o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:184",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:185",className:"faq-directory__head",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:186",className:"eyebrow",children:"Frequently Asked Questions"}),o.jsx("h2",{"data-loc":"client/src/pages/FaqPage.tsx:187",id:"faq-directory-title",children:"Plan your Warren Tr
320icomi experience."})]}),o.jsx("div",{"data-loc":"client/src/pages/FaqPage.tsx:190",className:"faq-groups",children:jj.map(x=>o.jsxs("section",{"data-loc":"client/src/pages/FaqPage.tsx:192",className:"faq-group","aria-labelledby":`faq-${x.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`,children:[o.jsx("h3",{"data-loc":"client/src/pages/FaqPage.tsx:193",id:`faq-${x.toLowerCase().replace(/[^a-z0-9]+/g,"-")}`,children:x}),o.jsx("div",{"data-loc":"client/src/pages/FaqPage.tsx:194",children:B1.filter(k=>k.category===x).map(k=>o.jsxs("details",{"data-loc":"client/src/pages/FaqPage.tsx:196",id:k.id,children:[o.jsxs("summary",{"data-loc":"client/src/pages/FaqPage.tsx:197",children:[k.question,o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:197","aria-hidden":"true",children:"+"})]}),o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:198",className:"faq-detail__answer",children:[o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:199",children:k.answer}),k.links.length>0&&o.jsx("div",{"data-loc":"client/src/pages/FaqPage.tsx:200",children:k.links.map(C=>o.jsxs(xe,{"data-loc":"client/src/pages/FaqPage.tsx:200",href:C.href,children:[C.label," ",o.jsx(st,{"data-loc":"client/src/pages/FaqPage.tsx:200","aria-hidden":"true"})]},C.href))})]})]},k.id))})]},x))})]})}),o.jsx("section",{"data-loc":"client/src/pages/FaqPage.tsx:211",className:"faq-contact-cta",children:o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:212",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/FaqPage.tsx:213",children:[o.jsx("span",{"data-loc":"client/src/pages/FaqPage.tsx:213",className:"eyebrow eyebrow--light",children:"Personal assistance"}),o.jsx("h2",{"data-loc":"client/src/pages/FaqPage.tsx:213",children:"Still have a question?"})]}),o.jsx("p",{"data-loc":"client/src/pages/FaqPage.tsx:214",children:"Our salon teams can help with service availability, artist schedules, appointment changes, and planning details."}),o.jsxs(xe,{"data-loc":"client/src/pages/FaqPage.tsx:215",href:"/contact",children:["Contact Warren Tricomi ",o.jsx(st,{"data-loc":"client/src/pages/FaqPage.tsx:215","aria-hidden":"true"})]})]})})]})}const Hj=[{id:"modern-luxury-dab0cbf502",date:"August 31, 2026",year:"2026",publication:"Modern Luxury",title:"The 11 Best Hair Salons in New York City",url:"https://www.modernluxury.com/the-11-best-hair-salons-in-new-york-city/",category:"feature",sourceStatus:"verified"},{id:"modern-luxury-9e50449135",date:"August 16, 2026",year:"2026",publication:"Modern Luxury",title:"The Ultimate Guide to East Endâs Top Makeup Destinations",url:"https://www.modernluxury.com/the-ultimate-guide-to-east-ends-top-makeup-destinations/",category:"salon_location",sourceStatus:"verified"},{id:"instyle-a4e8b7a763",date:"April 26, 2026",year:"2026",publication:"InStyle",title:"25 Stunning Choppy Bob Haircuts",url:"https://www.instyle.com/choppy-bob-11952044",category:"tips-and-trends",sourceStatus:"verified"},{id:"modern-luxury-6590038a0c",date:"February 26, 2026",year:"2026",publication:"Modern Luxury",title:"Warren Tricomi Named as One of the Best Hair Salons in NYC",url:"https://www.modernluxury.com/best-hair-salons-nyc/",category:"press",sourceStatus:"verified"},{id:"popsugar-564e9740ba",date:"October 21, 2025",year:"2025",publication:"PopSugar",title:"Warren Tricomi Stylist Shares Top Hair Color Trends",url:"https://www.popsugar.com/beauty/fall-hair-color-ideas-43829447",category:"press",sourceStatus:"verified"},{id:"modern-luxury-d865793631",date:"September 15, 2025",year:"2025",publication:"Modern Luxury",title:"Warren Tricomi Wins Best Hair Color in Manhattanâs Best of the City Awards",url:"https://www.modernluxury.com/revealed-manhattans-best-of-the-city-awards/",category:"press",sourceStatus:"verified"},{id:"modern-luxury-964dc827d4",date:"August 14, 2025",year:"2025",publication:"Modern Luxury",title:"Warren Tricomi Recognized as a Top Hair Salon in the Hamptons",url:"https://www.modernluxury.com/best-hair-salons-hamptons/",category:"press",sourceStatus:"verified"},{id:"modern-luxury-1fdd035581",date:"June 20, 2025",year:"2025",publication:"Modern Luxury",title:"Warren Tr
320icomi Declared a Top Spot to Get a Blowout in the Hamptons",url:"https://www.modernluxury.com/best-blowout-the-hamptons/",category:"press",sourceStatus:"verified"},{id:"instyle-afe98377e5",date:"May 25, 2025",year:"2025",publication:"InStyle",title:"Choppy Bob Ideas for a Low-Maintenance Summer Haircut",url:"https://www.instyle.com/choppy-bob-haircut-ideas-11739863",category:"press",sourceStatus:"verified"},{id:"instyle-6027157e5c",date:"March 15, 2025",year:"2025",publication:"InStyle",title:"Low-Maintenance Haircuts for Every Hair Type, Texture, and Length",url:"https://www.instyle.com/low-maintenance-haircuts-7966609",category:"press",sourceStatus:"verified"},{id:"instyle-1f5113b61d",date:"March 5, 2025",year:"2025",publication:"InStyle",title:"Medium Shag Haircut Ideas to Copy",url:"https://www.instyle.com/medium-shag-haircut-7968461",category:"press",sourceStatus:"verified"},{id:"nbc-729c65d2a7",date:"January 30, 2025",year:"2025",publication:"NBC",title:"The Best Brushes and Combs for Your Hair",url:"https://www.nbcnews.com/select/shopping/best-hair-brushes-combs-rcna122377",category:"press",sourceStatus:"verified"},{id:"modern-luxury-5fceda5030",date:"January 2, 2025",year:"2025",publication:"Modern Luxury",title:"One of 16 of the Best Hair Salons Across America",url:"https://www.modernluxury.com/best-hair-salons-in-america-usa/",category:"press",sourceStatus:"verified"},{id:"real-simple-96e3175d84",date:"December 30, 2024",year:"2024",publication:"Real Simple",title:"Common Hair Styling Mistakes That Are Damaging Your Strands",url:"https://www.realsimple.com/hair-styling-mistakes-8765931",category:"press",sourceStatus:"verified"},{id:"oprah-daily-055096180b",date:"December 19, 2024",year:"2024",publication:"Oprah Daily",title:"Edward Tricomi Discusses the Best Hair Dryers for a Salon-Worthy Blowout",url:"https://www.oprahdaily.com/beauty/hair/g25179157/best-hair-dryers/",category:"press",sourceStatus:"verified"},{id:"instyle-f33fd8a858",date:"November 1, 2024",year:"2024",publication:"InStyle",title:"Wolf Cut Ideas for Curly and Wavy Hair",url:"https://www.instyle.com/wolf-cut-curly-hair-7966631",category:"press",sourceStatus:"verified"},{id:"forbes-63299abf2f",date:"October 15, 2024",year:"2024",publication:"Forbes",title:"Low-Porosity Hair Products That Revive and Hydrate",url:"https://www.forbes.com/sites/forbes-personal-shopper/article/best-low-porosity-hair-products/",category:"press",sourceStatus:"verified"},{id:"galavante-c21d793bca",date:"July 9, 2024",year:"2024",publication:"Galavante",title:"Best of Beauty in NYC",url:"https://galavante.com/style/beauty-and-wellness/best-of-beauty-in-nyc",category:"salon",sourceStatus:"verified"},{id:"popsugar-71ee18b178",date:"June 28, 2024",year:"2024",publication:"PopSugar",title:"Edward Tricomi Talks the Clavicut Trend",url:"https://www.popsugar.com/beauty/clavicut-haircut-ideas-47274352",category:"press",sourceStatus:"verified"},{id:"popsugar-cd239fb1a3",date:"June 25, 2024",year:"2024",publication:"PopSugar",title:"Edward Tricomi Talks the Best Short Haircuts for Curly Hair",url:"https://www.popsugar.com/beauty/short-curly-haircut-ideas-48293382",category:"press",sourceStatus:"verified"},{id:"modern-luxury-ebffd4c112",date:"June 22, 2024",year:"2024",publication:"Modern Luxury",title:"Best Blowouts in NYC: Top Salons for Luxurious Hair",url:"https://www.modernluxury.com/best-blowout-nyc",category:"press",sourceStatus:"verified"},{id:"salon-today-6e5824c34c",date:"March 5, 2024",year:"2024",publication:"Salon Today",title:"Salon Today 200: Technology",url:"https://www.salontoday.com/articles/2024-salon-today-200-environmental-sustainability-and-technology",category:"awards",sourceStatus:"verified"},{id:"modern-luxury-1a39ac0a17",date:"February 20, 2024",year:"2024",publication:"Modern Luxury",title:"Best Blowout in Manhattan Magazineâs Best of Beauty Awards",url:"https://www.modernluxury.com/best-of-beauty-manhattan-2024/",category:"press",sourceStatus:"verified"},{id:"popsugar-e0f0205267",date:"February 14, 2024",year:"2024",publication:"PopSugar",title:"Edward Tricomi Explains the Disconnected Haircut Trend",url:"https://www.popsugar.com/beauty/disconnected-haircut-trend-48094235",category:"press",sourceStatus:"verified"},{id:"parade-60a5f3e7d8",date:"December 8, 2023",year:"2023",publication:"Parade",title:"Hairstyles for Women Over 50",url:"https://parade.com/living/best-hairstyles-for-women-over-50-according-to-celebrity-stylists",category:"press",sourceStatus:"verified"},{id:"happi-c2e9c1a95f",date:"November 7, 2023",year:"2023",publication:"Happi",title:"Warren Tr
320icomi Expands Haircare with an Updated New York City Location",url:"https://www.happi.com/exclusives/warren-tricomi-expands-haircare-with-updated-location-for-new-york-city-salon/",category:"press",sourceStatus:"verified"},{id:"allure-0aa32d33ba",date:"November 1, 2023",year:"2023",publication:"Allure",title:"Dark Velvet Is the Moody Winter Hair Color You Need To Try",url:"https://www.allure.com/gallery/winter-hair-colors",category:"press",sourceStatus:"verified"},{id:"good-housekeeping-d76f812bf1",date:"October 31, 2023",year:"2023",publication:"Good Housekeeping",title:"The Best Hair Mask for Your Hair Type",url:"https://www.goodhousekeeping.com/beauty-products/g45523398/best-hair-masks/",category:"press",sourceStatus:"verified"},{id:"yahoo-life-6dfd5b2ee6",date:"September 19, 2023",year:"2023",publication:"Yahoo! Life",title:"Warren Tricomi Stylist Discusses Hair Clips",url:"https://www.yahoo.com/lifestyle/8-best-hair-clips-thin-162120727.html",category:"press",sourceStatus:"verified"},{id:"makeup-com-d0714a443c",date:"August 4, 2023",year:"2023",publication:"Makeup.com",title:"Maral Balian on Applying Sunscreen over Makeup",url:"https://www.makeup.com/product-and-reviews/all-products-and-reviews/beauty-question-how-to-apply-sunscreen-over-makeup",category:"press",sourceStatus:"verified"},{id:"allure-e4929f236e",date:"August 4, 2023",year:"2023",publication:"Allure",title:"Professional Advice on the Best Split-End Hair Treatments",url:"https://www.allure.com/gallery/best-split-ends-treatment",category:"press",sourceStatus:"verified"},{id:"shefinds-9e934ae20e",date:"July 24, 2023",year:"2023",publication:"SheFinds",title:"Artem and Angelique Discuss Volume-Boosting Hairstyles",url:"https://www.shefinds.com/collections/3-volume-boosting-hairstyles/#slide-1",category:"press",sourceStatus:"verified"},{id:"shefinds-c89856d9ed",date:"July 22, 2023",year:"2023",publication:"SheFinds",title:"Naté Bova Discusses Flattering Bob Hairstyles for Women over 40",url:"https://www.shefinds.com/collections/flattering-bob-over-40-2/",category:"press",sourceStatus:"verified"},{id:"salon-today-ca0dabf009",date:"July 19, 2023",year:"2023",publication:"Salon Today",title:"Warren Tricomi Unveils New Salon on New York's Upper East Side",url:"https://www.salontoday.com/articles/warren-tricomi-unveils-new-salon-on-new-yorks-upper-east-side",category:"news",sourceStatus:"verified"},{id:"gotham-magazine-da8affd2d9",date:"July 10, 2023",year:"2023",publication:"Gotham Magazine",title:"Warren Tricomi Recognized among the Best Hair Salons in NYC",url:"https://gothammag.com/best-hair-salons-nyc",category:"press",sourceStatus:"verified"},{id:"pr-newswire-9a0ac85254",date:"June 28, 2023",year:"2023",publication:"PR Newswire",title:"Warren Tricomi Unveils Salon on The Upper East Side",url:"https://www.prnewswire.com/news-releases/warren-tricomi-unveils-salon-on-the-upper-east-side-presenting-new-york-citys-new-premier-beauty-destination-301865860.html",category:"press-release",sourceStatus:"verified"},{id:"women-s-wear-daily-f373226a12",date:"June 23, 2023",year:"2023",publication:"Womenâs Wear Daily",title:"Warren Tricomi Debuts New Salon",url:"https://wwd.com/beauty-industry-news/beauty-features/warren-tricomi-debuts-new-salon-1235698720/",category:"press",sourceStatus:"verified"},{id:"sundays-86e85c0c12",date:"May 10, 2023",year:"2023",publication:"Sundays",title:"Warren Tricomi Featured among the Top Hair Salons in NYC",url:"https://blog.dearsundays.com/hair-salons-nyc",category:"press",sourceStatus:"verified"},{id:"hamptons-international-film--c72bd9c2fb",date:"October 4, 2022",year:"2022",publication:"Hamptons International Film Festival",title:"Official Sponsorship and Luxury Hair Care Provider to the Stars",url:"http://hamptonsfilmfest.org/",category:"press",sourceStatus:"verified"},{id:"collabs-io-subkit-ff8bf183f4",date:"July 27, 2022",year:"2022",publication:"Collabs.io / Subkit",title:"Roxana Pintilie on Entrepreneurship and the Founding of Warren Tricomi",url:"https://gosolo.subkit.com/warren-tricomi-salons/",category:"press",sourceStatus:"verified"},{id:"beauty-launchpad-fe18277a4e",date:"July 21, 2022",year:"2022",publication:"Beauty Launc
320hpad",title:"Edward Tricomi and Laara Raynier Host Train with the Masters Event",url:"https://www.beautylaunchpad.com/news/events/news/22340068/edward-tricomi-and-laara-raynier-host-train-with-the-masters-event",category:"events",sourceStatus:"verified"},{id:"modern-salon-d4045bebf8",date:"July 10, 2022",year:"2022",publication:"Modern Salon",title:'Groundbreaking "Train with the Masters" Workshop Pairs Edward Tricomi and Laara Raynier',url:"https://www.modernsalon.com/articles/groundbreaking-train-with-the-masters-workshop-pairs-edward-tricomi-and-laara-raynier",category:"press",sourceStatus:"verified"},{id:"alister-paine-48fbf7e716",date:"September 8, 2021",year:"2021",publication:"Alister & Paine",title:"A Haircut and Q&A with The Real Life Edward Scissorhands",url:"https://alisterpaine.com/2021/09/08/a-haircut-and-qa-with-the-real-life-edward-scissorhands/",category:"interviews",sourceStatus:"verified"},{id:"beauty-launchpad-e5e5b989d3",date:"November 18, 2020",year:"2020",publication:"Beauty Launchpad",title:"Warren Tricomi Salons Names Fall 2020's Hottest Color Trends",url:"https://www.beautylaunchpad.com/business/news/news/21203561/warren-tricomi-salons-names-fall-2020s-hottest-color-trends",category:"press",sourceStatus:"verified"},{id:"authority-magazine-5f52e7cd21",date:"October 1, 2020",year:"2020",publication:"Authority Magazine",title:"Edward Tricomi of Warren-Tricomi Salons: Five Things Anyone Can Do To Have Fabulous Hair",url:"https://medium.com/authority-magazine/edward-tricomi-of-warren-tricomi-salons-five-things-anyone-can-do-to-have-fabulous-hair-de1da2d4474b",category:"interview",sourceStatus:"verified"},{id:"today-a29116373c",date:"March 4, 2020",year:"2020",publication:"Today",title:"One TODAY editor relies on this $12 serum to tame frizzy hair",url:"https://www.today.com/shop/affordable-hair-serum-amazon-has-rave-reviews-t175175",category:"expert-commentary",sourceStatus:"verified"},{id:"women-s-wear-daily-d7902c1220",date:"October 1, 2019",year:"2019",publication:"Women's Wear Daily",title:"Warren Tricomi Releases Line of Hair Extensions",url:"https://wwd.com/beauty-industry-news/beauty-features/warren-tricomi-hair-extensions-1203328897/",category:"product-launch",sourceStatus:"verified"},{id:"good-morning-america-741e60295c",date:"September 25, 2019",year:"2019",publication:"Good Morning America",title:"5 fall 2019 hair color trends to try now, according to experts",url:"https://www.goodmorningamerica.com/style/story/fall-2019-hair-color-trends-now-experts-65830757",category:"expert_advice",sourceStatus:"verified"},{id:"allure-87ad00af4e",date:"May 16, 2019",year:"2019",publication:"Allure",title:"How to Avoid Getting a Bad Haircut",url:"https://www.allure.com/story/how-to-avoid-a-bad-haircut",category:"expert-advice",sourceStatus:"verified"},{id:"miami-herald-428fea1e67",date:"February 7, 2019",year:"2019",publication:"Miami Herald",title:"7 Things You Need to Know About Warren-Tricomi Studio",url:"https://www.miamiherald.com/miami-com/things-to-do/article225811155.html",category:"news",sourceStatus:"verified"},{id:"the-new-york-times-1484c8ac60",date:"August 17, 2018",year:"2018",publication:"The New York Times",title:"How Edward Tricomi, Master Stylist, Spends His Sundays",url:"https://www.nytimes.com/2018/08/17/nyregion/how-edward-tricomi-master-stylist-spends-his-sundays.html",category:"expert_profile",sourceStatus:"verified"},{id:"allure-57e2dae5e9",date:"March 3, 2017",year:"2017",publication:"Allure",title:"5 Mistakes You're Making When You Air-Dry Your Hair",url:"https://www.allure.com/story/air-drying-hair-mistakes",category:"expertise",sourceStatus:"verified"},{id:"harper-s-bazaar-5637076a20",date:"August 3, 2016",year:"2016",publication:"Harperâs Bazaar",title:"Bazaar's Guide to Black Girl Beauty",url:"https://www.harpersbazaar.com/beauty/advice/g5210/best-new-york-hair-salons-spas-for-women-of-color/",category:"press",sourceStatus:"verified"},{id:"allure-4a54fdd525",date:"July 19, 2016",year:"2016",publication:"Allure",title:"Best Salons for Haircuts",url:"https://www.allure.com/story/cuts-new-york-city",category:"recommendations",sourceStatus:"verified"},{id:"harper-s-bazaar-ea81cc07f4",date:"May 23, 2016",year:"2016",publication:"Harperâs Bazaar",title:"What to Know If You're Going Golden Copper",url:"https://www.harpersbazaar.com/beauty/hair/a15722/how-to-pull-off-red-hair/",category:"press",sourceStatus:"verified"},{id:"harper-s-bazaar-ff6c1ce54f",date:"May 16, 2016",year:"2016",publication:"Harperâs Bazaar",title:"#BeautySchool: Is It True That You Should Never Tweeze Above the Brow?",url:"https://www.harpersbazaar.com/beauty/skin-care/a15661/where-to-tweeze-your-brows/",category:"expert-quote",sourceStatus:"verified"},{id:"pr-newswire-f6dd86edd9",date:"December 18, 2015",year:"2015",publication:"PR Newswire",title:"Internationally Acclaimed Salon and Spa Chain, Warren Tr
320icomi, now Opens at Ireo Grand Arch, Gurgaon",url:"https://www.prnewswire.com/in/news-releases/internationally-acclaimed-salon-and-spa-chain-warren-tricomi-now-opens-at-ireo-grand-arch-gurgaon-562911181.html",category:"salon-opening",sourceStatus:"verified"},{id:"allure-5775fc8eec",date:"December 9, 2015",year:"2015",publication:"Allure",title:"The Best At-Home Beauty Services",url:"https://www.allure.com/gallery/best-house-call-beauty-spa-services",category:"services",sourceStatus:"verified"},{id:"observer-d89605635f",date:"July 29, 2015",year:"2015",publication:"Observer",title:"Meet Edward Tricomi and Joel Warren, Hairdressers Who Defined the New York Look",url:"https://observer.com/2015/07/meet-edward-tricomi-and-joel-warren-hairdressers-who-defined-the-new-york-look/",category:"profile",sourceStatus:"verified",image:"/manus-storage/observer-founders-2015_cec37b2b.jpg",imageAlt:"Edward Tricomi and Joel Warren inside the Warren-Tricomi salon at the Plaza Hotel",imageCredit:"Emily Assiran for Observer"},{id:"allure-db0c3c106f",date:"July 16, 2015",year:"2015",publication:"Allure",title:"I Got a Blowout at the Airport, and Here's What Happened",url:"https://www.allure.com/story/airport-blowout",category:"salon_location",sourceStatus:"verified"},{id:"allure-48065aaa7c",date:"May 6, 2015",year:"2015",publication:"Allure",title:"How to Create This Insanely Pretty Braid",url:"https://www.allure.com/story/decorated-braid-how-to",category:"salon",sourceStatus:"verified"},{id:"kdhamptons-5b38cf037d",date:"April 13, 2015",year:"2015",publication:"KDHamptons",title:"Warren Tricomi Opens New East Hampton Salon",url:"https://www.kdhamptons.com/kdhamptons-beauty-news-warren-tricomi-opens-east-hampton-salon",category:"press",sourceStatus:"verified",image:"/manus-storage/kdhamptons-east-hampton-2015_4514aa8e.jpg",imageAlt:"Bright white Warren Tricomi East Hampton salon interior",imageCredit:"Image via KDHamptons"},{id:"women-s-wear-daily-9527dc2aef",date:"January 6, 2015",year:"2015",publication:"Womenâs Wear Daily",title:"Warren-Tricomi Opens Airport Location",url:"https://wwd.com/beauty-industry-news/hair/warren-tricomi-opens-airport-location-8090977/",category:"press",sourceStatus:"verified"},{id:"marie-claire-4fa542702e",date:"December 23, 2014",year:"2014",publication:"Marie Claire",title:"60 Epic Tips, Tricks, and Secrets for the Best Hair of Your Life",url:"https://www.marieclaire.com/beauty/tips/a12866/pro-hair-tips-youve-never-heard-before/",category:"expertise",sourceStatus:"verified"},{id:"the-fashion-spot-f325f202ca",date:"November 10, 2014",year:"2014",publication:"The Fashion Spot",title:"Beauty Diary: Warren-Tricomi Co-Founder Joel Warren Shares His Must-Have Products",url:"https://www.thefashionspot.com/beauty/451641-beauty-diary-warren-tricomi-co-founder-joel-warren/",category:"interview",sourceStatus:"verified"},{id:"the-fashion-spot-9091053c00",date:"October 23, 2014",year:"2014",publication:"The Fashion Spot",title:"Beauty Diary: Warren-Tricomi Co-Founder Edward Tricomi",url:"https://www.thefashionspot.com/beauty/451645-beauty-diary-warren-tricomi-co-founder-edward-tricomi/",category:"feature",sourceStatus:"verified"},{id:"beauty-launchpad-3abb6dc56b",date:"September 17, 2014",year:"2014",publication:"Beauty Launchpad",title:"NYFW Get the Look: Undone Looks at Hanely Mellon by Edward Tricomi",url:"https://www.beautylaunchpad.com/home/article/21145994/nyfw-get-the-look-undone-looks-at-hanely-mellon-by-edward-tricomi",category:"press",sourceStatus:"verified"},{id:"vogue-f972c44feb",date:"May 5, 2014",year:"2014",publication:"Vogue",title:"Frank Ocean's Female Orchestra Strikes a Glamorous Chord at the Met Gala",url:"https://www.vogue.com/article/frank-ocean-orchestra-nars-red-lipstick-glamour-met-gala-2014",category:"event-coverage",sourceStatus:"verified",image:"/manus-storage/vogue-met-gala-2014_1c8216d1.jpg",imageAlt:"Members of Frank Oceanâs orchestra in top hats at the 2014 Met Gala",imageCredit:"Kevin Tachman for Vogue"},{id:"idiva-fd2db52734",date:"September 24, 2013",year:"2013",publication:"iDiva",title:"Spa Review: VIP Treatment at Warren Tr
320icomi",url:"https://www.idiva.com/beauty/hair/spa-review-vip-treatment-at-warren-tricomi/reviews/24508",category:"press",sourceStatus:"verified"},{id:"cosmopolitan-cd39bbc73e",date:"September 19, 2013",year:"2013",publication:"Cosmopolitan",title:"Cosmo interview: Jessica Lowndes spills her beauty secrets",url:"https://www.cosmopolitan.com/uk/beauty-hair/celebrity-hair-makeup/a22857/jessica-lowndes-interview-beauty-secrets/",category:"celebrity-mention",sourceStatus:"verified"},{id:"the-salon-guy-a1c165f8d4",date:"February 14, 2013",year:"2013",publication:"The Salon Guy",title:"Celebrity Hairstylist Edward Tricomi of Warren-Tricomi Salons & I talk biz",url:"https://www.youtube.com/watch?v=Z3jdGGLnabo",category:"interview",sourceStatus:"verified"},{id:"vogue-18d6e0ca14",date:"October 15, 2012",year:"2012",publication:"Vogue",title:"Hair Across America: Fall's Top Color and Cut Trends",url:"https://www.vogue.com/article/hair-across-america-falls-top-color-and-cut-trends",category:"expert_advice",sourceStatus:"verified"},{id:"allure-430c527be7",date:"September 19, 2012",year:"2012",publication:"Allure",title:"Straight-Across Brows Are Empirically In: Here's How to Get Them",url:"https://www.allure.com/story/how-to-get-straight-across-brows",category:"press",sourceStatus:"verified"},{id:"dan-s-papers-c9dcdf337b",date:"May 24, 2012",year:"2012",publication:"Dan's Papers",title:"New Stores to Start the Hamptons Summer Shopping Season",url:"https://www.danspapers.com/2012/05/new-shops-to-start-the-summer-shopping-season/",category:"salon-news",sourceStatus:"verified"},{id:"glamour-24dbf0b1a9",date:"March 8, 2012",year:"2012",publication:"Glamour",title:"How to Get a Braided Updo like Jessica Alba, Brooklyn Decker and Sarah Michelle Gellar",url:"https://www.glamour.com/story/how-to-get-a-braided-updo-a-la",category:"expert-quote",sourceStatus:"verified"},{id:"alister-paine-d5c8264d82",date:"March 8, 2012",year:"2012",publication:"Alister & Paine",title:"Best Haircut in NYC",url:"https://alisterpaine.com/2012/03/08/best-haircut-in-nyc/",category:"expert_profile",sourceStatus:"verified"},{id:"modern-salon-5c019b0200",date:"July 11, 2011",year:"2011",publication:"Modern Salon",title:"Station Break: Edward Tricomi",url:"https://www.modernsalon.com/articles/station-break-edward-tricomi",category:"interviews-and-profiles",sourceStatus:"verified"},{id:"vogue-768db7b9fa",date:"May 2, 2011",year:"2011",publication:"Vogue",title:"Met Mania: The Ultimate Beauty Report",url:"https://www.vogue.com/article/met-mania-the-ultimate-beauty-report",category:"salon",sourceStatus:"verified"},{id:"new-york-post-fd39036bba",date:"March 11, 2011",year:"2011",publication:"New York Post",title:"Married to the bob",url:"https://nypost.com/2011/03/11/married-to-the-bob/",category:"press",sourceStatus:"verified"},{id:"vanity-fair-6e70c996a5",date:"March 10, 2011",year:"2011",publication:"Vanity Fair",title:"Warren Tricomi Salon Is Movinâ On Up to the East Side",url:"https://www.vanityfair.com/style/2011/03/warren-tricomi-salon-is-movin-on-up-to-the-east-side",category:"press",sourceStatus:"verified"},{id:"glamour-6da5577055",date:"December 30, 2010",year:"2010",publication:"Glamour",title:"Tip For Shiny New Year's Hair",url:"https://www.glamour.com/story/heres-a-crazy-tip-for-super-sh",category:"expert-advice",sourceStatus:"verified"},{id:"the-new-york-times-5fa6e0fc28",date:"August 3, 2010",year:"2010",publication:"The New York Times",title:"Beauty Spots",url:"https://www.nytimes.com/2010/08/05/fashion/05skinside.html",category:"press",sourceStatus:"verified"},{id:"vogue-0ab6caa2d4",date:"May 3, 2010",year:"2010",publication:"Vogue",title:"Met Beauty Blitz: Who's Seeing Who for Makeup, Hair, and Beyond",url:"https://www.vogue.com/article/vd-met-beauty-blitz-whos-seeing-who-for-makeup-hair-and-beyond",category:"event-coverage",sourceStatus:"verified"},{id:"vogue-4cdfb7fb73",date:"April 20, 2010",year:"2010",publication:"Vogue",title:"Beauty: Saving Grace",url:"https://www.vogue.com/article/vd-beauty-saving-grace",category:"press",sourceStatus:"verified"},{id:"allure-c0df0c32a2",date:"October 19, 2009",year:"2009",publication:"Allure",title:"The 10 Biggest Short Hair Mistakes",url:"https://www.allure.com/gallery/short-hair-mistakes",category:"expert-quote",sourceStatus:"verified"},{id:"new-york-magazine-12e1dd5af3",date:"May 14, 2009",year:"2009",publication:"New York Magazine",title:"Top Five Budget Blowouts",url:"https://nymag.com/beauty/features/56737/",category:"product-mention",sourceStatus:"verified"},{id:"daily-news-a43050f3a6",date:"March 4, 2009",year:"2009",publication:"Daily
320News",title:"$56,000 a week for âMarley & Meâ star Jennifer Anistonâs hair? So worth it, experts say",url:"https://www.nydailynews.com/2009/03/04/56000-a-week-for-marley-me-star-jennifer-anistons-hair-so-worth-it-experts-say",category:"expert_advice",sourceStatus:"verified"},{id:"american-salon-427bd2d21d",date:"February 1, 2009",year:"2009",publication:"American Salon",title:"Landmark Luxury",url:"https://www.americansalon.com/news/landmark-luxury",category:"press",sourceStatus:"verified"},{id:"good-morning-america-93b53ae723",date:"October 21, 2008",year:"2008",publication:"Good Morning America",title:"Chris Cuomo ... Hair Stylist?",url:"https://abcnews.com/GMA/story?id=6083272&page=1",category:"media-feature",sourceStatus:"verified"},{id:"vanity-fair-6a2213f66b",date:"July 2, 2008",year:"2008",publication:"Vanity Fair",title:"Hoisting the Flagship",url:"https://www.vanityfair.com/news/2008/07/warrentricomi",category:"salon_location",sourceStatus:"verified"},{id:"allure-146989d78e",date:"June 4, 2008",year:"2008",publication:"Allure",title:"The Most Believable Hair Extensions",url:"https://www.allure.com/story/the-most-believable-hair-exten",category:"tips-and-trends",sourceStatus:"verified"},{id:"beauty-interviews-e6c2a50f1f",date:"June 1, 2008",year:"2008",publication:"Beauty Interviews",title:"Kaz Amor",url:"https://beautyinterviews.com/kaz-amor/",category:"artist",sourceStatus:"verified"},{id:"women-s-wear-daily-fce1bb5fbe",date:"May 9, 2008",year:"2008",publication:"Womenâs Wear Daily",title:"Warren-Tricomi Prepares for Plaza Hotel",url:"https://wwd.com/business-news/real-estate/warren-tricomi-prepares-for-plaza-hotel-454746/",category:"press",sourceStatus:"verified"},{id:"marie-claire-447453971c",date:"December 1, 2007",year:"2007",publication:"Marie Claire",title:"Is Your Hair Aging You?",url:"https://www.marieclaire.com/beauty/hair/a282/hair-aging/",category:"expert_advice",sourceStatus:"verified"},{id:"o-the-oprah-magazine-3c564697df",date:"July 1, 2007",year:"2007",publication:"O, The Oprah Magazine",title:"6 Ways to Beat the Limp, Frizzy, Beached-Out Summer Hair Blues",url:"https://www.oprah.com/omagazine/how-to-fix-summer-hair-fast",category:"press",sourceStatus:"verified"},{id:"the-new-york-times-acaa0ea487",date:"April 29, 2007",year:"2007",publication:"The New York Times",title:"Phil Spector's Greatest Hair",url:"https://www.nytimes.com/2007/04/29/fashion/29hair.html",category:"mention",sourceStatus:"verified"},{id:"women-s-wear-daily-21dfa23c7c",date:"January 19, 2007",year:"2007",publication:"Women's Wear Daily",title:"Warren-Tricomi Eyes Department Stores",url:"https://wwd.com/fashion-news/fashion-features/warren-tricomi-eyes-department-stores-510302/",category:"press",sourceStatus:"verified"},{id:"la-s-the-place-6b8f2901a0",date:"November 4, 2006",year:"2006",publication:"LA's The Place",title:"NYC Meets Melrose: The Warren-Tricomi Salon in West Hollywood",url:"https://lastheplace.com/2006/11/04/nyc-meets-melrose-warren-tricomi-salon-in-west-hollywood/",category:"salon-openings",sourceStatus:"verified"},{id:"new-york-magazine-2cb566d45a",date:"September 27, 2006",year:"2006",publication:"New York Magazine",title:"Phyto Universe Opens on Lexington Avenue",url:"https://nymag.com/shopping/openings/21937/",category:"press",sourceStatus:"verified"},{id:"women-s-wear-daily-06e720ae8d",date:"July 7, 2006",year:"2006",publication:"Womenâs Wear Daily",title:"Warren-Tricomi Adds Exec",url:"https://wwd.com/fashion-news/fashion-features/warren-tricomi-adds-exec-530542/",category:"business-news",sourceStatus:"verified"},{id:"new-york-magazine-cc311e32fe",date:"April 7, 2006",year:"2006",publication:"New York Magazine",title:"Much Nothing About a 'Do",url:"https://nymag.com/news/intelligencer/16661",category:"feature",sourceStatus:"verified"},{id:"women-s-wear-daily-70c303abe3",date:"February 14, 2006",year:"2006",publication:"Womenâs Wear Daily",title:"Beauty Beat: Warren, Tricomi in Reality TV Talks",url:"https://wwd.com/fashion-news/fashion-features/feature/beauty-beat-warren-tricomi-in-reality-tv-talks-perricone-lends-hand-at-newbeauty-ysl-beaute-exec-said-heading-to-dior-545672-1988381/",category:"press",sourceStatus:"verified"},{id:"wwd-5b606199e4",date:"August 19, 2005",year:"2005",publication:"WWD",title:"Snippets: Tennis Anyone? ⦠Pure H20 ⦠Sothys Man â¦",url:"https://wwd.com/beauty-industry-news/beauty-features/snippets-tennis-anyone-pure-h20-sothys-man-565664/",category:"event",sourceStatus:"verified"}
320,{id:"the-new-york-times-f8158b7775",date:"May 26, 2005",year:"2005",publication:"The New York Times",title:"Rapunzels Of a Certain Age",url:"https://www.nytimes.com/2005/05/26/style/rapunzels-of-a-certain-age.html",category:"artist",sourceStatus:"verified"},{id:"american-salon-2233558ddb",date:"February 1, 2005",year:"2005",publication:"American Salon",title:"Retail Rules",url:"https://www.americansalon.com/news/retail-rules",category:"press",sourceStatus:"verified"},{id:"women-s-wear-daily-620c260938",date:"June 11, 2004",year:"2004",publication:"Womenâs Wear Daily",title:"Snippets: East Meets West ⦠Barton's Song ⦠Sjal Expands â¦",url:"https://wwd.com/fashion-news/fashion-features/feature/snippets-east-meets-west-barton-s-song-sjal-expands-713845-1919197/",category:"news",sourceStatus:"verified"},{id:"new-york-magazine-7b8cdfe4af",date:"May 26, 2004",year:"2004",publication:"New York Magazine",title:"British Mason Pearson hair brush",url:"https://nymag.com/nymetro/shopping/sales/columns/sb/deal/9206/",category:"mention",sourceStatus:"verified"},{id:"women-s-wear-daily-9a43051ae0",date:"August 29, 2003",year:"2003",publication:"Womenâs Wear Daily",title:"Warren-Tricomi Looks Ahead",url:"https://wwd.com/fashion-news/fashion-features/warren-tricomi-looks-ahead-720948",category:"feature",sourceStatus:"verified"},{id:"new-york-magazine-8287a59858",date:"April 24, 2000",year:"2000",publication:"New York Magazine",title:"Best Blowout",url:"https://nymag.com/nymetro/bony/features/4212/",category:"press",sourceStatus:"verified"},{id:"the-new-york-times-af050605a0",date:"November 12, 1992",year:"1992",publication:"The New York Times",title:"CURRENTS; A Place to Get Styled in Style",url:"https://www.nytimes.com/1992/11/12/garden/currents-a-place-to-get-styled-in-style.html",category:"feature",sourceStatus:"verified"},{id:"the-new-york-times-1119130ad8",date:"November 24, 1991",year:"1991",publication:"The New York Times",title:"BEAUTY; Rolling Out of Bed",url:"https://www.nytimes.com/1991/11/24/magazine/beauty-rolling-out-of-bed.html",category:"expert-commentary",sourceStatus:"verified-archive"}],Kv=[{date:"August 8, 2023",publication:"And Just Like Thatâ¦",title:"Carrie and Seemaâs Madison Avenue scene at Warren Tricomi",url:"https://evanrosskatz.substack.com/p/seema-carrie-fight-and-just-like-that",image:"/manus-storage/wt-press-and-just-like-that_47e116d6.jpg",imageAlt:"Carrie and Seema in a rainy Madison Avenue scene from And Just Like That",imageCredit:"Image via Evan Ross Katz / And Just Like Thatâ¦"},{date:"June 23, 2023",publication:"Womenâs Wear Daily",title:"Warren Tricomi Debuts New Salon",url:"https://wwd.com/beauty-industry-news/beauty-features/warren-tricomi-debuts-new-salon-1235698720/",image:"/manus-storage/wt-press-wwd-salon_6f95cf50.png",imageAlt:"Rendering of the Warren Tricomi Madison Avenue salon",imageCredit:"Image via WWD; courtesy Warren Tricomi"},{date:"October 21, 2025",publication:"PopSugar",title:"Warren Tricomi Stylist Shares Top Hair Color Trends",url:"https://www.popsugar.com/beauty/fall-hair-color-ideas-43829447",image:"/manus-storage/wt-press-popsugar-color_8bec2c6d.jpg",imageAlt:"Editorial hair color inspiration featured by PopSugar",imageCredit:"Image via PopSugar"},{date:"August 4, 2023",publication:"Allure",title:"Professional Advice on the Best Split-End Hair Treatments",url:"https://www.allure.com/gallery/best-split-ends-treatment",image:"/manus-storage/wt-press-allure-treatments_0af73c94.jpg",imageAlt:"Hair treatment products featured by Allure",imageCredit:"Image via Allure"},{date:"July 29, 2015",publication:"Observer",title:"Meet Edward Tricomi and Joel Warren, Hairdressers Who Defined the New York Look",url:"https://observer.com/2015/07/meet-edward-tricomi-and-joel-warren-hairdressers-who-defined-the-new-york-look/",image:"/manus-storage/observer-founders-2015_cec37b2b.jpg",imageAlt:"Edward Tricomi and Joel Warren inside the Warren-Tricomi salon at the Plaza Hotel",imageCredit:"Emily Assiran for Observer"},{date:"April 13, 2015",publication:"KDHamptons",title:"Warren Tr
320icomi Opens New East Hampton Salon",url:"https://www.kdhamptons.com/kdhamptons-beauty-news-warren-tricomi-opens-east-hampton-salon",image:"/manus-storage/kdhamptons-east-hampton-2015_4514aa8e.jpg",imageAlt:"Bright white Warren Tricomi East Hampton salon interior",imageCredit:"Image via KDHamptons"},{date:"May 5, 2014",publication:"Vogue",title:"Frank Ocean's Female Orchestra Strikes a Glamorous Chord at the Met Gala",url:"https://www.vogue.com/article/frank-ocean-orchestra-nars-red-lipstick-glamour-met-gala-2014",image:"/manus-storage/vogue-met-gala-2014_1c8216d1.jpg",imageAlt:"Members of Frank Oceanâs orchestra in top hats at the 2014 Met Gala",imageCredit:"Kevin Tachman for Vogue"}],rs=Hj,zj=rs[0],nm=3,Dj="America/New_York";function q1(e){const a=new Intl.DateTimeFormat("en-US",{timeZone:Dj,year:"numeric",month:"numeric"}).formatToParts(e),r=Number(a.find(l=>l.type==="year")?.value),s=Number(a.find(l=>l.type==="month")?.value);return r*12+s-1}function Bj(e,a){return e<=0?0:q1(a)*nm%e}function Uj(e,a,r=nm){return!e.length||r<=0?[]:Array.from({length:Math.min(r,e.length)},(s,l)=>e[(a+l)%e.length])}function qj(e,a,r){return e<=0?0:(a+r*nm+e)%e}function Gj(){const[e]=w.useState(()=>new Date),a=w.useMemo(()=>Bj(pr.length,e),[e]),[r,s]=w.useState(a),l=Uj(pr,r),d=u=>{s(p=>qj(pr.length,p,u))};return o.jsxs("div",{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:26",className:"home-spotlight-carousel","data-month-key":q1(e),children:[o.jsx("div",{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:27",className:"home-spotlight-carousel__controls","aria-label":"Artist Spotlight carousel controls",children:o.jsxs("div",{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:28",children:[o.jsx("button",{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:29",type:"button",onClick:()=>d(-1),"aria-label":"Show previous three Artist Spotlights",children:o.jsx(ms,{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:29"})}),o.jsx("button",{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:30",type:"button",onClick:()=>d(1),"aria-label":"Show next three Artist Spotlights",children:o.jsx(st,{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:30"})})]})}),o.jsx("div",{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:33",className:"home-spotlight-carousel__track","aria-live":"polite",children:l.map(u=>o.jsx(Ho,{"data-loc":"client/src/components/MonthlySpotlightCarousel.tsx:34",story:u},u.slug))})]})}const Wj=Array.from(new Set(rs.map(e=>e.publication)));function Yj(){return o.jsxs(o.Fragment,{children:[o.jsxs("section",{"data-loc":"client/src/pages/Home.tsx:16",className:"home-hero",children:[o.jsxs("picture",{"data-loc":"client/src/pages/Home.tsx:17",className:"home-hero__media",children:[o.jsx("source",{"data-loc":"client/src/pages/Home.tsx:18",media:"(max-width: 900px)",srcSet:_t.homeHeroMobile}),o.jsx("img",{"data-loc":"client/src/pages/Home.tsx:19",src:_t.homeHero,alt:"Silver monochrome Warren Tricomi hair editorial",loading:"eager",decoding:"async",fetchPriority:"high"})]}),o.jsx("div",{"data-loc":"client/src/pages/Home.tsx:21",className:"home-hero__wash"}),o.jsxs("div",{"data-loc":"client/src/pages/Home.tsx:22",className:"home-hero__content reveal",children:[o.jsx("p",{"data-loc":"client/src/pages/Home.tsx:23",className:"home-hero__places",children:Gc.map((e,a)=>o.jsxs("span",{"data-loc":"client/src/pages/Home.tsx:25",className:"home-hero__place",children:[a>0&&o.jsx("b",{"data-loc":"client/src/pages/Home.tsx:26","aria-hidden":"true",children:"·"}),o.jsxs(xe,{"data-loc":"client/src/pages/Home.tsx:27",href:e.href,children:[o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:28",className:"hero-place-label--desktop",children:e.desktopLabel}),o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:29",className:"hero-place-label--mobile",children:e.mobileLabel})]})]},e.slug))}),o.jsxs("h1",{"data-loc":"client/src/pages/Home.tsx:34",children:["The Ultimate Experience",o.jsx("br",{"data-loc":"client/src/pages/Home.tsx:34"}),"in Luxury Hair"]}),o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:35",className:"home-hero__credential",children:"Est. 1989 â NYC"})]})]}),o.jsx("section",{"data-loc":"client/src/pages/Home.tsx:39",className:"press-marquee-section","aria-label":"Press publications featuring Warren Tr
320icomi",children:o.jsxs(xe,{"data-loc":"client/src/pages/Home.tsx:40",href:UO.href,className:"press-marquee","aria-label":`Explore Warren Tricomi Press. Latest: ${zj.title}`,children:[o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:41",className:"sr-only",children:"Featured by leading beauty, fashion, and lifestyle publications."}),o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:42",className:"press-marquee__track",children:[0,1].map(e=>o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:43",className:"press-marquee__group","aria-hidden":e===1,children:Wj.map(a=>o.jsxs("span",{"data-loc":"client/src/pages/Home.tsx:43",children:[a,o.jsx("b",{"data-loc":"client/src/pages/Home.tsx:43",children:"·"})]},`${e}-${a}`))},e))})]})}),o.jsx("section",{"data-loc":"client/src/pages/Home.tsx:48",className:"home-services editorial-section editorial-section--paper",children:o.jsx("div",{"data-loc":"client/src/pages/Home.tsx:49",className:"content-wrap",children:o.jsx("div",{"data-loc":"client/src/pages/Home.tsx:50",className:"home-service-grid",children:TS.map(e=>o.jsxs("article",{"data-loc":"client/src/pages/Home.tsx:51",className:"home-service-card",children:[o.jsx(xe,{"data-loc":"client/src/pages/Home.tsx:51",href:e.href,className:"home-service-card__image",children:o.jsx("img",{"data-loc":"client/src/pages/Home.tsx:51",src:e.image,alt:e.title})}),o.jsx("h3",{"data-loc":"client/src/pages/Home.tsx:51",children:e.title}),o.jsx("p",{"data-loc":"client/src/pages/Home.tsx:51",children:e.description}),o.jsx(xe,{"data-loc":"client/src/pages/Home.tsx:51",href:e.href,className:"home-service-card__button",children:"View service"})]},e.slug))})})}),o.jsx("section",{"data-loc":"client/src/pages/Home.tsx:56",className:"home-expert",children:o.jsxs("div",{"data-loc":"client/src/pages/Home.tsx:57",className:"content-wrap home-expert__inner",children:[o.jsxs("div",{"data-loc":"client/src/pages/Home.tsx:58",className:"home-expert__intro",children:[o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:59",className:"eyebrow eyebrow--light",children:"Expert Match"}),o.jsxs("h2",{"data-loc":"client/src/pages/Home.tsx:60",children:["Your hair.",o.jsx("br",{"data-loc":"client/src/pages/Home.tsx:60"}),"The right artist."]}),o.jsx("p",{"data-loc":"client/src/pages/Home.tsx:61",children:"Share your salon and service preferences to discover artists aligned with your goals."}),o.jsx(xe,{"data-loc":"client/src/pages/Home.tsx:62",href:"/expert-match",children:"Find your expert"})]}),o.jsxs("div",{"data-loc":"client/src/pages/Home.tsx:64",className:"home-expert__path","aria-label":"How Expert Match works",children:[o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:65",children:"Tell us what your hair needs."}),o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:66",children:"Choose the salon closest to you."}),o.jsx("span",{"data-loc":"client/src/pages/Home.tsx:67",children:"Meet artists selected for your goals."})]})]})}),o.jsx("section",{"data-loc":"client/src/pages/Home.tsx:72",className:"editorial-section home-journal",children:o.jsxs("div",{"data-loc":"client/src/pages/Home.tsx:72",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/Home.tsx:72",eyebrow:"The Journal",title:"Meet the artists shaping Warren Tricomi",copy:"Three Artist Spotlights selected from our Journal, with a new edit each month.",action:{label:"Read the Journal",href:"/journal"}}),o.jsx(Gj,{"data-loc":"client/src/pages/Home.tsx:72"})]})})]})}const G1=[{value:"new-york",label:"NYC",email:"[email protected]"},{value:"greenwich",label:"Connecticut",email:"[email protected]"},{value:"sag-harbor",label:"Hamptons",email:"[email protected]"}],W1=["Haircut & Styling","Menâs Grooming","Styling","Makeup","Bridal and bridal party","Other"],Y1=["Polished Blowout","Soft Waves & Natural Movement","Sleek & Sculpted","Voluminous Glamour","Red-Carpet Finish","Editorial Texture","Updo or Event Styling","Bridal Styling","Menâs Styling & Grooming","Personalized Artist Consultation"],$1=["Residence","Hotel","Bridal Suite","Venue","Office or Production","Other"],F1=["Email","Text","Call"],Xp=Array.from({length:288},(e,a)=>{const r=Math.floor(a/12),s=a%12*5,l=`${String(r).padStart(2,"0")}
320:${String(s).padStart(2,"0")}`;return{value:l,label:Jp(l)}}),Vv=new Set(Xp.map(e=>e.value)),Zv={clientName:"",email:"",phone:"",contactMethod:"",market:"",service:"",stylingDirection:"",partySize:"1",settingType:"",serviceAddress:"",preferredDate:"",alternateDate:"",timeWindow:"",alternateTime:"",notes:"",acknowledgment:!1},$j=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function K1(e=new Date){const a=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${a}-${r}-${s}`}function xd(e){return G1.find(a=>a.value===e)}function Qv(e){const a=new URLSearchParams(e).get("market")??"";return xd(a)?.value??""}function Fj(e,a=K1()){const r={},s=e.phone.replace(/\D/g,""),l=Number(e.partySize);e.clientName.trim().length<2?r.clientName="Enter your full name.":e.clientName.trim().length>80&&(r.clientName="Keep your name under 80 characters."),$j.test(e.email.trim())||(r.email="Enter a valid email address."),(s.length<10||s.length>15)&&(r.phone="Enter a valid phone number."),F1.includes(e.contactMethod)||(r.contactMethod="Choose how you prefer to be contacted."),xd(e.market)||(r.market="Choose the area closest to your appointment."),W1.includes(e.service)||(r.service="Choose a service."),Y1.includes(e.stylingDirection)||(r.stylingDirection="Choose a styling need or editorial direction."),(!Number.isInteger(l)||l<1||l>30)&&(r.partySize="Enter a party size from 1 to 30."),$1.includes(e.settingType)||(r.settingType="Choose the appointment setting.");const d=e.serviceAddress.trim().length;return d<8?r.serviceAddress="Enter the service address, hotel, or venue.":d>220&&(r.serviceAddress="Keep the service address under 220 characters."),e.preferredDate?e.preferredDate<a&&(r.preferredDate="Choose today or a future date."):r.preferredDate="Choose your preferred date.",e.alternateDate&&e.alternateDate<a?r.alternateDate="Choose today or a future alternate date.":e.alternateDate&&e.preferredDate&&e.alternateDate<e.preferredDate&&(r.alternateDate="Choose an alternate date on or after your preferred date."),Vv.has(e.timeWindow)||(r.timeWindow="Choose a preferred time."),e.alternateTime&&!Vv.has(e.alternateTime)&&(r.alternateTime="Choose a valid alternative time."),e.notes.trim().length>600&&(r.notes="Keep additional details under 600 characters."),e.acknowledgment||(r.acknowledgment="Confirm that this is an inquiry, not a booked appointment."),r}function Kj(e){if(!e)return"Not provided";const[a,r,s]=e.split("-").map(Number);return new Intl.DateTimeFormat("en-US",{month:"long",day:"numeric",year:"numeric"}).format(new Date(a,r-1,s))}function Jp(e){const a=/^(\d{2}):(\d{2})$/.exec(e);if(!a)return e;const r=Number(a[1]),s=a[2],l=r>=12?"PM":"AM";return`${r%12||12}:${s} ${l}`}function Vj(e,a,r="stored"){const s=xd(e.market);if(!s)throw new Error("A valid At-Home market is required.");return{title:"Your At-Home inquiry has been received.",summary:`Our ${s.label} team will review your request and follow up regarding availability, timing, travel, and pricing.`,deliveryNote:r==="sent"?`Your request is securely stored and has been emailed to the ${s.label} booking team. This is an inquiry, not a confirmed appointment. Please keep your reference for any follow-up.`:"Your request is securely stored for team review. This is an inquiry, not a confirmed appointment. Please keep your reference for any follow-up.",publicId:a,marketLabel:s.label,service:e.service,stylingDirection:e.stylingDirection,preferredDate:Kj(e.preferredDate),preferredTime:Jp(e.timeWindow),alternateTime:e.alternateTime?Jp(e.alternateTime):null}}function Bt({id:e,message:a}){return a?o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:27",id:e,className:"inquiry-field__error",children:a}):null}function Zj(){const[e,a]=w.useState(()=>({...Zv,market:Qv(window.location.search)})),[r,s]=w.useState(""),[l,d]=w.useState({}),[u,p]=w.useState(null),[m,g]=w.useState(null),[v,y]=w.useState(()=>crypto.randomUUID()),[S,E]=w.useState(!1),[N,x]=w.useState(!1),k=w.useRef(null),C=w.useRef(null),I=w.useRef(null),M=w.useRef(null),Y=w.useMemo(()=>K1(),[]),L=xd(e.market),G=Da.submissions.atHome.useMutation();w.useEffect(()=>{u&&requestAnimationFrame(()=>C.current?.focus())},[u]);const j=(U,ne)=>{a(O=>({...O,[U]:ne})),g(null),l[U]&&d(O=>({...O,[U]:void 0}))},z=()=>{E(!0),requestAnimationFrame(()=>I.current?.focus())},F=()=>{j("alternateDate",""),E(!1)},re=()=>{x(!0),requestAnimationFrame(()=>M.current?.focus())},se=()=>{j("alternateTime",""),x(!1)},ie=async U=>{U.preventDefault(),g(null);const ne=Fj(e,Y);if(d(ne),Object.keys(ne).length>0){requestAnimationFrame(()=>k.current?.focus());return}try{const O=await G.mutateAsync({idempotencyKey:v,companyWebsite:r,clientName:e.clientName,email:e.email,phone:e.phone,contactMethod:e.contactMethod,market:e.market,service:e.service,stylingDirection:e.stylingDirection,partySize:Number(e.partySize),settingType:e.settingType,serviceAddress:e.serviceAddress,preferredDate:e.preferredDate,alternateDate:e.alternateDate,preferredTime:e.timeWindow,alternateTime:e.alternateTime,notes:e.notes,acknowledgment:!0,consentVersion:M1});p(Vj(e,O.publicId,O.emailDelivery))}catch(O){g(O instanceof Error?O.message:"Your inquiry could not be submitted. Please try again."),requestAnimationFrame(()=>k.current?.focus())}},te=()=>{a({...Zv,market:Qv(window.location.search)}),s(""),d({}),g(null),p(null),E(!1),x(!1),y(crypto.randomUUID())};return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:147",className:"inquiry-hero",children:o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:148",className:"content-wrap inquiry-hero__inner",children:[o.jsxs(xe,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:149",href:at.href,className:"inquiry-back",children:[o.jsx(ms,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:149",size:15})," At-Home"]}),o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:150",className:"eyebrow",children:"At-Home"}),o.jsxs("h1",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:151",children:["Tell us where",o.jsx("br",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:151"}),"to meet you."]}),o.jsx("p",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:152",children:"Share your occasion, preferred setting, and timing. Our At-Home team will personally review your request."})]})}),o.jsx("section",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:156",className:"inquiry-section",children:o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:157",className:"content-wrap inquiry-layout",children:[o.jsxs("aside",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:158",className:"inquiry-aside",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:159",className:"eyebrow",children:"An At-Home appointment"}),o.jsx("h2",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:160",children:"Salon artistry, arranged around you."}),o.jsxs("p",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:161",children:[at.availabilityCopy," Residences, hotels, bridal suites, venues, and productions are welcome."]})]}),u?o.jsxs("section",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:165",className:"inquiry-confirmation",ref:C,tabIndex:-1,role:"status","aria-live":"polite",children:[o.jsx("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:166",className:"inquiry-confirmation__mark","aria-hidden":"true",children:o.jsx(If,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:166",size:24,strokeWidth:1.35})}),o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:167",className:"eyebrow",children:"Inquiry received"}),o.jsx("h2",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:168",children:u.title}),o.jsx("p",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:169",className:"inquiry-confirmation__lede",children:u.summary}),o.jsxs("dl",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:171",className:"inquiry-confirmation__details",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:172",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:172",children:"Preferred area"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:172",children:u.marketLabel})]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:173",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:173",children:"Preferred date"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:173",children:u.preferredDate})]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:174",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:174",children:"Preferred time"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:174",children:u.preferredTime})]}),u.alternateTime&&o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:175",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:175",children:"Alternative time"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:175",children:u.alternateTime})]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:176",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:176",children:"Service"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:176",children:u.service})]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:177",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:177",children:"Styling direction"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:177",children:u.stylingDirection})]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:178",className:"inquiry-confirmation__detail--wide",children:[o.jsx("dt",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:178",children:"Reference"}),o.jsx("dd",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:178",children:u.publicId})]})]}),o.jsx("p",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:181",className:"inquiry-confirmation__notice",children:u.deliveryNote}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:183",className:"inquiry-confirmation__actions",children:[o.jsxs("button",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:184",className:"inquiry-confirmation__primary",type:"button",onClick:te,children:["Submit another inquiry ",o.jsx(st,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:184",size:16})]}),o.jsxs(xe,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:185",className:"inquiry-confirmation__return",href:at.href,children:[o.jsx(ms,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:185",size:14})," At-Home"]})]})]}):o.jsxs("form",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:189",className:"inquiry-form",onSubmit:ie,noValidate:!0,children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:190",className:"inquiry-form__honeypot","aria-hidden":"true",children:[o.jsx("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:191",htmlFor:"inquiry-company-website",children:"Company website"}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:192",id:"inquiry-company-website",name:"companyWebsite",type:"text",tabIndex:-1,autoComplete:"off",value:r,onChange:U=>s(U.target.value)})]}),(Object.keys(l).length>0||m)&&o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:196",className:"inquiry-errors",ref:k,tabIndex:-1,role:"alert",children:[o.jsx("strong",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:197",children:m?"Your inquiry w
320as not submitted.":"Please review the highlighted fields."}),o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:198",children:m??"Your inquiry is not ready yet."})]}),o.jsxs("fieldset",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:202",children:[o.jsxs("legend",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:203",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:203",children:"01"})," Your details"]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:204",className:"inquiry-grid inquiry-grid--two",children:[o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:205",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:206",children:"Full name *"}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:207",value:e.clientName,onChange:U=>j("clientName",U.target.value),autoComplete:"name",maxLength:80,"aria-invalid":!!l.clientName,"aria-describedby":l.clientName?"clientName-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:208",id:"clientName-error",message:l.clientName})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:210",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:211",children:"Email *"}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:212",type:"email",value:e.email,onChange:U=>j("email",U.target.value),autoComplete:"email",maxLength:160,"aria-invalid":!!l.email,"aria-describedby":l.email?"email-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:213",id:"email-error",message:l.email})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:215",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:216",children:"Phone *"}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:217",type:"tel",value:e.phone,onChange:U=>j("phone",U.target.value),autoComplete:"tel",maxLength:24,"aria-invalid":!!l.phone,"aria-describedby":l.phone?"phone-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:218",id:"phone-error",message:l.phone})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:220",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:221",children:"Preferred contact *"}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:222",value:e.contactMethod,onChange:U=>j("contactMethod",U.target.value),"aria-invalid":!!l.contactMethod,"aria-describedby":l.contactMethod?"contactMethod-error":void 0,children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:223",value:"",children:"Select one"}),F1.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:224",value:U,children:U},U))]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:226",id:"contactMethod-error",message:l.contactMethod})]})]})]}),o.jsxs("fieldset",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:231",children:[o.jsxs("legend",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:232",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:232",children:"02"})," Your appointment"]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:233",className:"inquiry-grid inquiry-grid--two",children:[o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:234",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:235",children:"Preferred area *"}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:236",value:e.market,onChange:U=>j("market",U.target.value),"aria-invalid":!!l.market,"aria-describedby":l.market?"market-error":"market-help",children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:237",value:"",children:"Select one"}),G1.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:238",value:U.value,children:U.label},U.value))]}),o.jsx("small",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:240",id:"market-help",children:"Your inquiry will be addressed to the closest booking team."}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:241",id:"market-error",message:l.market})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:243",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:244",children:"Service *"}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:245",value:e.service,onChange:U=>j("service",U.target.value),"aria-invalid":!!l.service,"aria-describedby":l.service?"service-error":void 0,children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:246",value:"",children:"Select one"}),W1.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:247",value:U,children:U},U))]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:249",id:"service-error",message:l.service})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:251",className:"inquiry-field inquiry-field--full",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:252",children:"Styling need or editorial direction *"}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:253",value:e.stylingDirection,onChange:U=>j("stylingDirection",U.target.value),"aria-invalid":!!l.stylingDirection,"aria-describedby":l.stylingDirection?"stylingDirection-error":"stylingDirection-help",children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:254",value:"",children:"Select the look you have in mind"}),Y1.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:255",value:U,children:U},U))]}),o.jsx("small",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:257",
320id:"stylingDirection-help",children:"Choose the closest direction; your artist will refine the look with you."}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:258",id:"stylingDirection-error",message:l.stylingDirection})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:260",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:261",children:"Party size *"}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:262",type:"number",inputMode:"numeric",min:"1",max:"30",value:e.partySize,onChange:U=>j("partySize",U.target.value),"aria-invalid":!!l.partySize,"aria-describedby":l.partySize?"partySize-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:263",id:"partySize-error",message:l.partySize})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:265",className:"inquiry-field",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:266",children:"Setting *"}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:267",value:e.settingType,onChange:U=>j("settingType",U.target.value),"aria-invalid":!!l.settingType,"aria-describedby":l.settingType?"settingType-error":void 0,children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:268",value:"",children:"Select one"}),$1.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:269",value:U,children:U},U))]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:271",id:"settingType-error",message:l.settingType})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:273",className:"inquiry-field inquiry-field--full",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:274",children:"Service address, hotel, or venue *"}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:275",value:e.serviceAddress,onChange:U=>j("serviceAddress",U.target.value),autoComplete:"street-address",maxLength:220,placeholder:"Enter the full service address","aria-invalid":!!l.serviceAddress,"aria-describedby":l.serviceAddress?"serviceAddress-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:276",id:"serviceAddress-error",message:l.serviceAddress})]})]})]}),o.jsxs("fieldset",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:281",children:[o.jsxs("legend",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:282",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:282",children:"03"})," Timing & details"]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:283",className:"inquiry-grid inquiry-grid--two",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:284",className:"inquiry-schedule-grid inquiry-field--full",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:285",className:"inquiry-preference-block",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:286",className:"inquiry-preference-heading",children:[o.jsx("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:287",htmlFor:"preferred-date",children:"Preferred date *"}),!S&&o.jsx("button",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:288",type:"button",className:"inquiry-add-alternative",onClick:z,"aria-label":"Add an alternative date",title:"Add an alternative date","aria-expanded":"false","aria-controls":"alternate-date-field",children:o.jsx(_o,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:288",size:14,"aria-hidden":"true"})})]}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:290",id:"preferred-date",type:"date",min:Y,value:e.preferredDate,onChange:U=>j("preferredDate",U.target.value),"aria-invalid":!!l.preferredDate,"aria-describedby":l.preferredDate?"preferredDate-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:291",id:"preferredDate-error",message:l.preferredDate}),S&&o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:292",className:"inquiry-field inquiry-alternative-field",id:"alternate-date-field",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:293",className:"inquiry-field__label-row",children:[o.jsx("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:293",htmlFor:"alternate-date",children:"Alternative date"}),o.jsxs("button",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:293",type:"button",className:"inquiry-field__remove",onClick:F,children:[o.jsx(Qr,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:293",size:12,"aria-hidden":"true"})," Remove"]})]}),o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:294",id:"alternate-date",ref:I,type:"date",min:e.preferredDate||Y,value:e.alternateDate,onChange:U=>j("alternateDate",U.target.value),"aria-invalid":!!l.alternateDate,"aria-describedby":l.alternateDate?"alternateDate-error":void 0}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:295",id:"alternateDate-error",message:l.alternateDate})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:298",className:"inquiry-preference-block",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:299",className:"inquiry-preference-heading",children:[o.jsx("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:300",htmlFor:"preferred-time",children:"Preferred time *"}),!N&&o.jsx("button",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:301",type:"button",className:"inquiry-add-alternative",onClick:re,"aria-label":"Add an alternative time",title:"Add an alternative time","aria-expanded":"false","aria-controls":"alternate-time-field",children:o.jsx(_o,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:301",size:14,"aria-hidden":"true"})})]}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:303",id:"preferred-time",value:e.timeWindow,onChange:U=>j("timeWindow",U.target.value),"aria-invalid":!!l.timeWindow,"aria-describedby":l.timeWindow?"timeWindow-error":void 0,children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:304",value:"",children:"Select a time"}),Xp.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:305",value:U.value,children:U.label},U.value))]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:307",id:"timeWindow-error",message:l.timeWindow}),N&&o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:308",className:"inquiry-field inquiry-alternative-field",id:"alternate-time-field",children:[o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:309",className:"inquiry-field__label-row",children:[o.jsx("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:309",htmlFor:"alternate-time",children:"Alternative time"}),o.jsxs("button",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:309",type:"button",className:"inquiry-field__remove",onClick:se,children:[o.jsx(Qr,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:309",size:12,"aria-hidden":"true"})," Remove"]})]}),o.jsxs("select",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:310",id:"alternate-time",ref:M,value:e.alternateTime,onChange:U=>j("alternateTime",U.target.value),"aria-invalid":!!l.alternateTime,"aria-describedby":l.alternateTime?"alternateTime-error":void 0,children:[o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:311",value:"",children:"Select a time"}),Xp.map(U=>o.jsx("option",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:312",value:U.value,children:U.label},U.value))]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:314",id:"alternateTime-error",message:l.alternateTime})]})]})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:318",className:"inquiry-field inquiry-field--full",children:[o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:319",children:"Additional details"}),o.jsx("textarea",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:320",value:e.notes,onChange:U=>j("notes",U.target.value),maxLength:600,rows:5,placeholder:"Tell us about your desired look, artists, occasion, access notes, or timing flexibility.","aria-invalid":!!l.notes,"aria-describedby":l.notes?"notes-error":"notes-help"}),o.jsxs("small",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:321",id:"notes-help",children:[e.notes.length,"/600 characters"]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:322",id:"notes-error",message:l.notes})]})]})]}),o.jsxs("label",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:327",className:`inquiry-consent ${l.acknowledgment?"has-error":""}`,children:[o.jsx("input",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:328",type:"checkbox",checked:e.acknowledgment,onChange:U=>j("acknowledgment",U.target.checked),"aria-invalid":!!l.acknowledgment,"aria-describedby":l.acknowledgment?"acknowledgment-error":void 0}),o.jsx("span",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:329",children:"I understand this is an inquiry and does not confirm an appointment. Warren Tr
320icomi will follow up regarding availability, travel, and pricing."})]}),o.jsx(Bt,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:331",id:"acknowledgment-error",message:l.acknowledgment}),o.jsxs("div",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:333",className:"inquiry-privacy",children:[o.jsxs("p",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:334",children:["Your details are submitted securely to Warren Tricomi for booking follow-up and are not sent to Zenoti. See ",o.jsx(xe,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:334",href:"/privacy",children:"Privacy"})," and ",o.jsx(xe,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:334",href:"/terms",children:"Terms & Conditions"}),"."]}),L&&o.jsxs("strong",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:335",children:["Routed to the ",L.label," booking team"]})]}),o.jsxs("button",{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:338",type:"submit",className:"inquiry-submit",disabled:G.isPending,children:[G.isPending?"Submitting inquiryâ¦":"Submit At-Home inquiry"," ",o.jsx(st,{"data-loc":"client/src/pages/OnLocationInquiryPage.tsx:338",size:17})]})]})]})})]})}const Xv={clientName:"",companyName:"",email:"",phone:"",preferredLocation:"",eventType:"",preferredDate:"",estimatedGuests:"",details:"",acknowledgment:!1},Qj=["clientName","email","phone","preferredLocation","eventType","preferredDate","estimatedGuests","details","acknowledgment"],Xj=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Jj=/^\d{4}-\d{2}-\d{2}$/;function sm(e=new Date){const a=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),s=String(e.getDate()).padStart(2,"0");return`${a}-${r}-${s}`}function V1(e,a=sm()){const r={},s=e.clientName.trim().length,l=e.companyName.trim().length,d=e.email.trim(),u=e.phone.replace(/\D/g,""),p=Number(e.estimatedGuests),m=e.details.trim().length;return s<2?r.clientName="Enter your full name.":s>80&&(r.clientName="Keep your name under 80 characters."),l>120&&(r.companyName="Keep the company or organization under 120 characters."),(!Xj.test(d)||d.length>320)&&(r.email="Enter a valid email address."),(u.length<10||u.length>15)&&(r.phone="Enter a valid phone number."),tm.includes(e.preferredLocation)||(r.preferredLocation="Choose a preferred salon or Flexible."),am.includes(e.eventType)||(r.eventType="Choose an event type."),Jj.test(e.preferredDate)?e.preferredDate<a&&(r.preferredDate="Choose today or a future date."):r.preferredDate="Choose your preferred date.",(!e.estimatedGuests||!Number.isInteger(p)||p<1||p>500)&&(r.estimatedGuests="Enter an estimated guest count from 1 to 500."),m<20?r.details="Share at least 20 characters about your event.":m>1500&&(r.details="Keep event details under 1,500 characters."),e.acknowledgment||(r.acknowledgment="Confirm that this is an inquiry, not a reservation."),r}function Jv(e,a,r=sm()){return V1(e,r)[a]}function eP(){return Object.fromEntries(Qj.map(e=>[e,!0]))}function Ja({id:e,message:a}){return a?o.jsx("small",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:23",id:e,className:"space-rental-field__error","aria-live":"polite",children:a}):null}function Ta(e){return`space-rental-${e}-error`}function tP(){const[e,a]=w.useState(Xv),[r,s]=w.useState(""),[l,d]=w.useState(()=>crypto.randomUUID()),[u,p]=w.useState(null),[m,g]=w.useState({}),[v,y]=w.useState({}),[S,E]=w.useState(!1),[N,x]=w.useState(null),k=w.useRef(null),C=w.useRef(null),I=Da.submissions.spaceRental.useMutation(),[M]=w.useState(sm);w.useEffect(()=>{u&&requestAnimationFrame(()=>C.current?.focus())},[u]);const Y=(F,re)=>{const se={...e,[F]:re};a(se),x(null),g(ie=>{if(!v[F]&&!ie[F])return ie;const te=Jv(se,F,M);return ie[F]===te?ie:{...ie,[F]:te}})},L=F=>{y(re=>({...re,[F]:!0})),g(re=>({...re,[F]:Jv(e,F,M)}))},G=F=>m[F]?Ta(F):void 0,j=async F=>{F.preventDefault(),x(null);const re=V1(e,M);if(g(re),y({...eP(),...e.companyName?{companyName:!0}:{}}),Object.values(re).some(Boolean)){E(!0),requestAnimationFrame(()=>k.current?.focus());return}try{const se=await I.mutateAsync({idempotencyKey:l,companyWebsite:r,clientName:e.clientName.trim(),companyName:e.companyName.trim(),email:e.email.trim(),phone:e.phone.trim(),preferredLocation:e.preferredLocation,eventType:e.eventType,preferredDate:e.preferredDate,estimatedGuests:Number(e.estimatedGuests),details:e.details.trim(),acknowledgment:!0,consentVersion:L1});p({publicId:se.publicId,emailDelivery:se.emailDelivery}),a(Xv),g({}),y({}),E(!1),s(""),d(crypto.randomUUID())}catch(se){E(!0),x(se instanceof Error?se.message:"Your inquiry could not be submitted. Please try again."),requestAnimationFrame(()=>k.current?.focus())}}
320,z=Object.values(m).filter(Boolean).length;return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:138",className:"utility-page-head space-rental-head",children:o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:139",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:140",className:"utility-page-head__intro",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:141",className:"eyebrow",children:"Warren Tricomi"}),o.jsx("p",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:142",children:"Distinctive salon environments for considered productions, brand moments, education, and private gatherings."})]}),o.jsxs("h1",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:147",children:["Space Rental",o.jsx("br",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:149"}),"& Event"]})]})}),o.jsxs("section",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:155",className:"space-rental-page",children:[o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:156",className:"space-rental-page__intro",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:157",className:"eyebrow",children:"Begin a conversation"}),o.jsx("h2",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:158",children:"Tell us what you are planning."}),o.jsx("p",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:159",children:"Share your preferred salon, timing, scale, and creative direction. The Warren Tricomi team will review the request and follow up regarding fit, availability, and next steps."}),o.jsx("a",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:164",href:"mailto:[email protected]",children:"[email protected]"})]}),u?o.jsxs("section",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:168",className:"inquiry-confirmation space-rental-receipt",ref:C,role:"status","aria-live":"polite","aria-labelledby":"space-rental-success-title","aria-describedby":"space-rental-success-message",tabIndex:-1,children:[o.jsx("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:177",className:"inquiry-confirmation__mark","aria-hidden":"true",children:o.jsx(If,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:178",size:24,strokeWidth:1.35})}),o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:180",className:"eyebrow",children:"Submission successful"}),o.jsx("h2",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:181",id:"space-rental-success-title",children:"Your event inquiry was submitted successfully."}),o.jsx("p",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:184",id:"space-rental-success-message",className:"inquiry-confirmation__lede",children:u.emailDelivery==="sent"?"Your request is securely stored and has been emailed to the Warren Tricomi events team. We will review the details and follow up regarding availability and next steps.":"Your request is securely stored for the Warren Tricomi events team to review. We will follow up regarding availability and next steps."}),o.jsx("dl",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:192",className:"inquiry-confirmation__details",children:o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:193",className:"inquiry-confirmation__detail--wide",children:[o.jsx("dt",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:194",children:"Reference"}),o.jsx("dd",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:195",children:u.publicId})]})}),o.jsxs("button",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:198",className:"inquiry-confirmation__primary",type:"button",onClick:()=>p(null),children:["Submit another inquiry ",o.jsx(st,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:203",size:16})]})]}):o.jsxs("form",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:207",className:"careers-application space-rental-form",onSubmit:j,noValidate:!0,children:[o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:212",className:"careers-application__honeypot","aria-hidden":"true",children:[o.jsx("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:213",htmlFor:"space-company-website",children:"Company website"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:214",id:"space-company-website",type:"text",tabIndex:-1,autoComplete:"off",value:r,onChange:F=>s(F.target.value)})]}),(S&&z>0||N)&&o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:225",className:"space-rental-errors",ref:k,tabIndex:-1,role:"alert",children:[o.jsx("strong",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:231",children:N?"Your inquiry w
320as not submitted.":"Please review the highlighted fields."}),o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:236",children:N??`${z} ${z===1?"field needs":"fields need"} your attention.`})]}),o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:243",className:"careers-application__grid",children:[o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:244",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:245",children:"Name *"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:246",value:e.clientName,onChange:F=>Y("clientName",F.target.value),onBlur:()=>L("clientName"),autoComplete:"name",maxLength:80,required:!0,"aria-invalid":!!m.clientName,"aria-describedby":G("clientName")}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:256",id:Ta("clientName"),message:m.clientName})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:262",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:263",children:"Company or organization (optional)"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:264",value:e.companyName,onChange:F=>Y("companyName",F.target.value),onBlur:()=>L("companyName"),autoComplete:"organization",maxLength:120,"aria-invalid":!!m.companyName,"aria-describedby":G("companyName")}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:273",id:Ta("companyName"),message:m.companyName})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:279",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:280",children:"Email *"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:281",type:"email",value:e.email,onChange:F=>Y("email",F.target.value),onBlur:()=>L("email"),autoComplete:"email",maxLength:320,required:!0,"aria-invalid":!!m.email,"aria-describedby":G("email")}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:292",id:Ta("email"),message:m.email})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:295",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:296",children:"Phone *"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:297",type:"tel",value:e.phone,onChange:F=>Y("phone",F.target.value),onBlur:()=>L("phone"),autoComplete:"tel",maxLength:32,required:!0,"aria-invalid":!!m.phone,"aria-describedby":G("phone")}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:308",id:Ta("phone"),message:m.phone})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:311",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:312",children:"Preferred salon *"}),o.jsxs("select",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:313",value:e.preferredLocation,onChange:F=>Y("preferredLocation",F.target.value),onBlur:()=>L("preferredLocation"),required:!0,"aria-invalid":!!m.preferredLocation,"aria-describedby":G("preferredLocation"),children:[o.jsx("option",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:321",value:"",disabled:!0,children:"Select a salon"}),tm.map(F=>o.jsx("option",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:325",value:F,children:F},F))]}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:330",id:Ta("preferredLocation"),message:m.preferredLocation})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:336",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:337",children:"Event type *"}),o.jsxs("select",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:338",value:e.eventType,onChange:F=>Y("eventType",F.target.value),onBlur:()=>L("eventType"),required:!0,"aria-invalid":!!m.eventType,"aria-describedby":G("eventType"),children:[o.jsx("option",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:346",value:"",disabled:!0,children:"Select an event type"}),am.map(F=>o.jsx("option",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:350",value:F,children:F},F))]}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:355",id:Ta("eventType"),message:m.eventType})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:361",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:362",children:"Preferred date *"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:363",type:"date",min:M,value:e.preferredDate,onChange:F=>Y("preferredDate",F.target.value),onBlur:()=>L("preferredDate"),required:!0,"aria-invalid":!!m.preferredDate,"aria-describedby":G("preferredDate")}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:373",id:Ta("preferredDate"),message:m.preferredDate})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:379",className:"space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:380",children:"Estimated guests *"}),o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:381",type:"number",inputMode:"numeric",min:"1",max:"500",step:"1",value:e.estimatedGuests,onChange:F=>Y("estimatedGuests",F.target.value),onBlur:()=>L("estimatedGuests"),required:!0,"aria-invalid":!!m.estimatedGuests,"aria-describedby":G("estimatedGuests")}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:394",id:Ta("estimatedGuests"),message:m.estimatedGuests})]})]}),o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:401",className:"careers-application__wide space-rental-field",children:[o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:402",children:"Event details *"}),o.jsx("textarea",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:403",value:e.details,onChange:F=>Y("details",F.target.value),onBlur:()=>L("details"),placeholder:"Describe the concept, schedule, production needs, and anything our team should know.",minLength:20,maxLength:1500,rows:
3207,required:!0,"aria-invalid":!!m.details,"aria-describedby":m.details?`${Ta("details")} space-rental-details-count`:"space-rental-details-count"}),o.jsxs("small",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:419",id:"space-rental-details-count",className:"space-rental-field__count",children:[e.details.length,"/1,500 characters"]}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:422",id:Ta("details"),message:m.details})]}),o.jsxs("div",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:425",className:"space-rental-consent-field",children:[o.jsxs("label",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:426",className:`careers-application__consent ${m.acknowledgment?"has-error":""}`,children:[o.jsx("input",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:429",type:"checkbox",checked:e.acknowledgment,onChange:F=>{Y("acknowledgment",F.target.checked),y(re=>({...re,acknowledgment:!0}))},required:!0,"aria-invalid":!!m.acknowledgment,"aria-describedby":G("acknowledgment")}),o.jsxs("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:440",children:["I understand this is an inquiry, not a confirmed reservation, and agree to the ",o.jsx(xe,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:442",href:"/privacy",children:"Privacy"})," notice."]})]}),o.jsx(Ja,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:445",id:Ta("acknowledgment"),message:m.acknowledgment})]}),o.jsx("button",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:451",className:"careers-application__submit space-rental-submit",type:"submit",disabled:I.isPending,"aria-busy":I.isPending,children:I.isPending?o.jsxs(o.Fragment,{children:[o.jsx(xS,{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:459",className:"space-rental-submit__spinner",size:15,strokeWidth:1.75,"aria-hidden":"true"}),o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:465",children:"Submitting inquiryâ¦"})]}):o.jsx("span",{"data-loc":"client/src/pages/SpaceRentalEventsPage.tsx:468",children:"Submit inquiry"})})]})]})]})}function aP(){const e=Da.useUtils(),a=Da.auth.me.useQuery(void 0,{retry:!1,refetchOnWindowFocus:!1}),r=Da.auth.logout.useMutation(),s=w.useCallback(async()=>{try{await r.mutateAsync()}catch(d){if(!(d instanceof Ro))throw d}finally{try{sessionStorage.removeItem("manus-cookie")}catch{}e.auth.me.setData(void 0,null),await e.auth.me.invalidate()}},[r,e]);return{...w.useMemo(()=>({user:a.data??null,loading:a.isLoading||r.isPending,error:a.error??r.error??null,isAuthenticated:!!a.data}),[a.data,a.error,a.isLoading,r.error,r.isPending]),refresh:()=>a.refetch(),logout:s}}const iP=()=>{const e="https://manus.im",a="ZjBhV4xHM48oCsm65mysp8",r=`${window.location.origin}/api/oauth/callback`,s=crypto.randomUUID();document.cookie=`${z5}=${s}; Path=/; Max-Age=600; SameSite=None; Secure`;const l=D5({redirectUri:r,nonce:s}),d=new URL(`${e}/app-auth`);d.searchParams.set("appId",a),d.searchParams.set("redirectUri",r),d.searchParams.set("state",l),d.searchParams.set("type","signIn"),window.location.href=d.toString()},rP=[{value:"all",label:"All records"},{value:"at-home",label:"At-Home"},{value:"careers",label:"Careers"},{value:"events",label:"Events"},{value:"expert-match",label:"Saved Matches"}],ef=e=>new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",timeZone:"America/New_York"}).format(e),nP=e=>`"${String(e??"").replaceAll('"','""')}"`;function sP(e){const r=[["Reference","Type","Submitted","Name","Email","Location","Subject","Status","Email delivery"],...e.map(d=>[d.publicId,d.kindLabel,ef(d.createdAt),d.customerName,d.email,d.location,d.subject,d.status,d.deliveryStatus])].map(d=>d.map(nP).join(",")).join(` 321`),s=URL.createObjectURL(new Blob([r],{type:"text/csv;charset=utf-8"})),l=document.createElement("a");l.href=s,l.download=`warren-tricomi-owner-report-${new Date().toISOString().slice(0,10)}.csv`,l.click(),URL.revokeObjectURL(s)}function oP(){return o.jsxs("main",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:74",className:"owner-gate",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:75",className:"owner-gate__brand",children:["WARREN ",o.jsx("b",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:75",children:"â¢"})," TRICOMI"]}),o.jsxs("section",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:76",className:"owner-gate__c
321ard","aria-labelledby":"owner-gate-title",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:77",className:"eyebrow",children:"Private reporting"}),o.jsx(SO,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:78","aria-hidden":"true"}),o.jsx("h1",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:79",id:"owner-gate-title",children:"Owner Dashboard"}),o.jsx("p",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:80",children:"Sign in with the Manus account that owns this website. Access is checked server-side against the project owner identity."}),o.jsx("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:84",type:"button",onClick:iP,className:"owner-primary-action",children:"Sign in securely"}),o.jsxs(xe,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:87",href:"/",className:"owner-text-link",children:[o.jsx(ms,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:88","aria-hidden":"true"})," Return to website"]})]})]})}function ew(){return o.jsxs("main",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:97",className:"owner-dashboard owner-dashboard--loading","aria-busy":"true",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:98",className:"owner-loading-mark",children:["WARREN ",o.jsx("b",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:98",children:"â¢"})," TRICOMI"]}),o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:99",className:"owner-loading-line"}),o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:100",className:"owner-loading-grid",children:Array.from({length:4},(e,a)=>o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:101"},a))}),o.jsx("p",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:103",children:"Loading private reportsâ¦"})]})}function tw({value:e}){const a=e==="sent"?"Sent":e==="failed"?"Failed":"Pending";return o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:110",className:`owner-status owner-status--${e}`,children:a})}function lP(){const{user:e,loading:a,logout:r}=aP(),s=Da.ownerDashboard.report.useQuery(void 0,{enabled:!!e,retry:!1,refetchInterval:300*1e3}),[l,d]=w.useState("all"),[u,p]=w.useState("");w.useEffect(()=>(document.body.classList.add("owner-portal-active"),()=>document.body.classList.remove("owner-portal-active")),[]);const m=w.useMemo(()=>{const y=u.trim().toLowerCase();return(s.data?.recent??[]).filter(S=>l!=="all"&&S.kind!==l?!1:y?[S.publicId,S.customerName,S.email,S.location,S.subject].some(E=>String(E??"").toLowerCase().includes(y)):!0)},[l,u,s.data?.recent]);if(a)return o.jsx(ew,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:143"});if(!e)return o.jsx(oP,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:144"});if(s.error){const y=s.error.data?.code==="FORBIDDEN";return o.jsxs("main",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:149",className:"owner-gate",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:150",className:"owner-gate__brand",children:["WARREN ",o.jsx("b",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:150",children:"â¢"})," TRICOMI"]}),o.jsxs("section",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:151",className:"owner-gate__card","aria-labelledby":"owner-error-title",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:152",className:"eyebrow",children:"Private reporting"}),o.jsx(SS,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:153","aria-hidden":"true"}),o.jsx("h1",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:154",id:"owner-error-title",children:y?"Owner access required":"Reports unavailable"}),o.jsx("p",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:155",children:y?"This account is signed in, but it is not the registered owner of this website.":"The reporting service could not be reached. Please refresh and try again."}),y?o.jsx("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:161",type:"button",onClick:()=>r(),className:"owner-primary-action",children:"Sign out"}):o.jsx("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:165",type:"button",onClick:()=>s.refetch(),className:"owner-primary-action",children:"Try again"}),o.jsxs(xe,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:169",href:"/",className:"owner-text-link",children:[o.jsx(ms,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:170","aria-hidden":"true"})," Return to website"]})]})]})}if(!s.data)return o.jsx(ew,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:177"});const g=s.data,v=Math.max(...g.markets.map(y=>y.total),1);return o.jsxs("main",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:182",className:"owner-dashboard",children:[o.jsxs("aside",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:183",className:"owner-sidebar",children:[o.jsxs(xe,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:184",href:"/",className:"owner-sidebar__brand","aria-label":"Warren Tr
321icomi home",children:["WARREN ",o.jsx("b",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:185",children:"â¢"})," TRICOMI"]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:187",className:"owner-sidebar__section",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:188",children:"Private portal"}),o.jsxs("a",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:189",href:"#overview",className:"is-active",children:[o.jsx(Hp,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:189","aria-hidden":"true"})," Overview"]}),o.jsxs("a",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:190",href:"#records",children:[o.jsx(gO,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:190","aria-hidden":"true"})," Submissions"]}),o.jsxs("a",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:191",href:"#markets",children:[o.jsx(tv,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:191","aria-hidden":"true"})," Markets"]})]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:193",className:"owner-sidebar__account",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:194",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:195",children:"Signed in as"}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:196",children:e.name||"Website owner"}),o.jsx("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:197",children:e.email||"Verified Manus owner"})]}),o.jsxs("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:199",type:"button",onClick:()=>r(),children:[o.jsx(mO,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:200","aria-hidden":"true"})," Sign out"]})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:205",className:"owner-dashboard__main",children:[o.jsxs("header",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:206",className:"owner-dashboard__header",id:"overview",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:207",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:208",className:"eyebrow",children:"Owner reporting"}),o.jsx("h1",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:209",children:"Website activity"}),o.jsx("p",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:210",children:"Stored inquiries and email-delivery health. Times display in New York time."})]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:214",className:"owner-dashboard__header-actions",children:[o.jsxs("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:215",type:"button",onClick:()=>s.refetch(),disabled:s.isFetching,children:[o.jsx(xO,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:216",className:s.isFetching?"is-spinning":"","aria-hidden":"true"}),s.isFetching?"Refreshing":"Refresh"]}),o.jsxs("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:219",type:"button",onClick:()=>sP(m),disabled:!m.length,children:[o.jsx(pO,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:220","aria-hidden":"true"})," Export CSV"]})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:225",className:"owner-metric-grid","aria-label":"Website report summary",children:[o.jsxs("article",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:226",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:227",children:"Total stored records"}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:228",children:g.totals.records}),o.jsxs("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:229",children:[g.totals.last30Days," in the last 30 days"]})]}),o.jsxs("article",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:231",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:232",children:"Last 7 days"}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:233",children:g.totals.last7Days}),o.jsx("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:234",children:"Across all inquiry types"})]}),o.jsxs("article",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:236",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:237",children:"Needs follow-up"}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:238",children:g.totals.actionRequired}),o.jsx("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:239",children:"New At-Home, Careers, and Events records"})]}),o.jsxs("article",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:241",className:g.totals.failed?"has-alert":"",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:242",children:"Email delivery issues"}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:243",children:g.totals.failed}),o.jsxs("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:244",children:[g.totals.pending," pending · ",g.totals.sent," sent"]})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:248",className:"owner-panel owner-panel--categories","aria-labelledby":"activity-title",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:249",className:"owner-panel__heading",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:250",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:251",className:"eyebrow",children:"Activity"}),o.jsx("h2",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:252",id:"activity-title",children:"Submission overview"})]}),o.jsxs("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:254",children:["Updated ",ef(g.generatedAt)]})]}),o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:256",className:"owner-category-grid",children:g.categories.map(y=>{const S=y.key==="at-home"?Hp:y.key==="careers"?oO:y.key==="events"?tv:AO;return o.jsxs("article",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:266",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:267",className:"owner-category-card__top",children:[o.jsx(S,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:268","aria-hidden":"true"}),o.jsx(tw,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:269",value:y.failed?"failed":y.pending?"pending":"sent"})]}),o.jsx("h3",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:271",children:y.label}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:272",children:y.total}),o.jsxs("dl",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:273",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:274",children:[o.jsx("dt",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:274",children:"7 days"}),o.jsx("dd",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:274",children:y.last7Days})]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:275",children:[o.jsx("dt",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:275",children:"Needs follow-up"}),o.jsx("dd",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:275",children:y.actionRequired})]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:276",children:[o.jsx("dt",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:276",children:"Email failed"}),o.jsx("dd",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:276",children:y.failed})]})]})]},y.key)})})]}),o.jsxs("section",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:284",className:"owner-panel",id:"records","aria-labelledby":"records-title",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:285",className:"owner-panel__heading owner-panel__heading--records",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:286",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:287",className:"eyebrow",children:"Recent records"}),o.jsx("h2",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:288",id:"records-title",children:"Latest website submissions"})]}),o.jsxs("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:290",children:[m.length," shown"]})]}),o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:292",className:"owner-record-controls",children:[o.jsxs("label",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:293",children:[o.jsx(gs,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:294","aria-hidden":"true"}),o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:295",className:"sr-only",children:"Search recent records"}),o.jsx("input",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:296",value:u,onChange:y=>p(y.target.value),placeholder:"Search name, email, location, service, or reference"})]}),o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:302",className:"owner-filter-row","aria-label":"Filter by record type",children:rP.map(y=>o.jsx("button",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:304",type:"button",className:l===y.value?"is-active":"",onClick:()=>
321d(y.value),children:y.label},y.value))})]}),m.length?o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:317",className:"owner-record-table-wrap",children:o.jsxs("table",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:318",className:"owner-record-table",children:[o.jsx("thead",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:319",children:o.jsxs("tr",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:320",children:[o.jsx("th",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:321",children:"Submitted"}),o.jsx("th",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:322",children:"Type"}),o.jsx("th",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:323",children:"Client"}),o.jsx("th",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:324",children:"Request"}),o.jsx("th",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:325",children:"Status"}),o.jsx("th",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:326",children:"Email"})]})}),o.jsx("tbody",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:329",children:m.map(y=>o.jsxs("tr",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:331",children:[o.jsxs("td",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:332",children:[o.jsx("time",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:332",dateTime:y.createdAt.toISOString(),children:ef(y.createdAt)}),o.jsx("small",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:332",children:y.publicId})]}),o.jsx("td",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:333",children:o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:333",className:"owner-kind",children:y.kindLabel})}),o.jsxs("td",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:334",children:[o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:334",children:y.customerName}),o.jsx("a",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:334",href:`mailto:${y.email}`,children:y.email})]}),o.jsxs("td",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:335",children:[o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:335",children:y.subject}),o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:335",children:y.location})]}),o.jsx("td",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:336",children:o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:336",className:`owner-status owner-status--record-${y.status}`,children:y.status})}),o.jsx("td",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:337",children:o.jsx(tw,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:337",value:y.deliveryStatus})})]},`${y.kind}-${y.publicId}`))})]})}):o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:344",className:"owner-empty-state",children:[o.jsx(gs,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:345","aria-hidden":"true"}),o.jsx("h3",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:346",children:"No matching records"}),o.jsx("p",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:347",children:"Adjust the search or select a different record type."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:352",className:"owner-panel owner-panel--markets",id:"markets","aria-labelledby":"markets-title",children:[o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:353",className:"owner-panel__heading",children:o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:354",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:355",className:"eyebrow",children:"Demand"}),o.jsx("h2",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:356",id:"markets-title",children:"Activity by market"})]})}),g.markets.length?o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:360",className:"owner-market-list",children:g.markets.map(y=>o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:362",children:[o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:363",children:[o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:363",children:y.label}),o.jsx("strong",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:363",children:y.total})]}),o.jsx("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:364",className:"owner-market-bar","aria-hidden":"true",children:o.jsx("i",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:365",style:{transform:`scaleX(${y.total/v})`}})})]},y.label))}):o.jsxs("div",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:371",className:"owner-empty-state owner-empty-state--compact",children:[o.jsx(uO,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:372","aria-hidden":"true"}),o.jsx("h3",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:373",children:"Market activity will appear here"}),o.jsx("p",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:374",children:"Reports begin with the first stored website submission."})]})]}),o.jsxs("footer",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:379",className:"owner-dashboard__footer",children:[o.jsxs("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:380",children:[o.jsx(If,{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:380","aria-hidden":"true"})," Owner-only server authorization active"]}),o.jsx("span",{"data-loc":"client/src/pages/OwnerDashboardPage.tsx:381",children:"Submission data is not exposed on public routes."})]})]})]})}
321const aw={firstName:"",lastName:"",email:"",phone:"",position:"",preferredLocation:"",experienceLevel:"",backgroundInterest:"",companyWebsite:"",consent:!1},cP=".pdf,.doc,.docx,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document";function iw(){return crypto.randomUUID()}async function dP(e){const a=new Uint8Array(await e.arrayBuffer());let r="";const s=32768;for(let l=0;l<a.length;l+=s)r+=String.fromCharCode(...Array.from(a.subarray(l,l+s)));return btoa(r)}function rw(e){if(!e)return"Attach your resume as a PDF, DOC, or DOCX file.";const a=e.name.split(".").pop()?.toLowerCase();return a==="pdf"||a==="doc"||a==="docx"?e.size>Vp?"Keep your resume under 2 MB.":e.size===0?"The selected resume file is empty.":null:"Attach a PDF, DOC, or DOCX resume."}function uP(){const[e,a]=w.useState(aw),[r,s]=w.useState(null),[l,d]=w.useState(null),[u,p]=w.useState(null),[m,g]=w.useState(null),[v,y]=w.useState(iw),S=w.useRef(null),E=Da.submissions.career.useMutation(),N=C=>I=>{const M=I.target instanceof HTMLInputElement&&I.target.type==="checkbox"?I.target.checked:I.target.value;a(Y=>({...Y,[C]:M}))},x=C=>{const I=C.target.files?.[0]??null;s(I),d(rw(I))},k=async C=>{C.preventDefault(),p(null);const I=rw(r);if(d(I),!(I||!r))try{const M=await E.mutateAsync({idempotencyKey:v,companyWebsite:e.companyWebsite,firstName:e.firstName,lastName:e.lastName,email:e.email,phone:e.phone,position:e.position,preferredLocation:e.preferredLocation,experienceLevel:e.experienceLevel,backgroundInterest:e.backgroundInterest,referredBy:"",resume:{name:r.name,type:r.type,size:r.size,base64:await dP(r)},consent:e.consent,consentVersion:I1});g({publicId:M.publicId,emailDelivery:M.emailDelivery}),a(aw),s(null),y(iw()),S.current&&(S.current.value="")}catch(M){p(M instanceof Error?M.message:"Your application could not be sent. Please review the form and try again.")}};return m?o.jsxs("div",{"data-loc":"client/src/components/CareersApplicationForm.tsx:144",className:"careers-application__receipt",role:"status",tabIndex:-1,children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:145",className:"eyebrow eyebrow--light",children:"Application received"}),o.jsx("h3",{"data-loc":"client/src/components/CareersApplicationForm.tsx:146",children:"Thank you for introducing yourself."}),o.jsxs("p",{"data-loc":"client/src/components/CareersApplicationForm.tsx:147",children:[m.emailDelivery==="sent"?"Your application is securely stored and has been emailed to the Warren Tricomi team for review.":"Your application is securely stored for the Warren Tricomi team to review."," This does not guarantee an interview or position."]}),o.jsx("dl",{"data-loc":"client/src/components/CareersApplicationForm.tsx:148",children:o.jsxs("div",{"data-loc":"client/src/components/CareersApplicationForm.tsx:149",children:[o.jsx("dt",{"data-loc":"client/src/components/CareersApplicationForm.tsx:149",children:"Reference"}),o.jsx("dd",{"data-loc":"client/src/components/CareersApplicationForm.tsx:149",children:m.publicId})]})}),o.jsx("button",{"data-loc":"client/src/components/CareersApplicationForm.tsx:151",type:"button",onClick:()=>g(null),children:"Submit another application"})]}):o.jsxs("form",{"data-loc":"client/src/components/CareersApplicationForm.tsx:157",className:"careers-application",onSubmit:k,noValidate:!1,children:[o.jsxs("div",{"data-loc":"client/src/components/CareersApplicationForm.tsx:158",className:"careers-application__honeypot","aria-hidden":"true",children:[o.jsx("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:159",htmlFor:"career-company-website",children:"Company website"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:160",id:"career-company-website",name:"companyWebsite",type:"text",tabIndex:-1,autoComplete:"off",value:e.companyWebsite,onChange:N("companyWebsite")})]}),o.jsxs("div",{"data-loc":"client/src/components/CareersApplicationForm.tsx:171",className:"careers-application__grid",children:[o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:172",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:173",children:"First name"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:174",value:e.firstName,onChange:N("firstName"),autoComplete:"given-name",maxLength:80,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:176",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:177",children:"Last name"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:178",value:e.lastName,onChange:N("lastName"),autoComplete:"family-name",maxLength:80,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:180",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:181",children:"Email"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:182",type:"email",value:e.email,onChange:N("email"),autoComplete:"email",maxLength:320,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:184",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:185",children:"Phone"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:186",type:"tel",value:e.phone,onChange:N("phone"),autoComplete:"tel",maxLength:32,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:188",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:189",children:"Position of interest"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:190",value:e.position,onChange:N("position"),maxLength:120,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:192",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:193",children:"Preferred location"}),o.jsxs("select",{"data-loc":"client/src/components/CareersApplicationForm.tsx:194",value:e.preferredLocation,onChange:N("preferredLocation"),required:!0,children:[o.jsx("option",{"data-loc":"client/src/components/CareersApplicationForm.tsx:195",value:"",disabled:!0,children:"Select a location"}),H1.map(C=>o.jsx("option",{"data-loc":"client/src/components/CareersApplicationForm.tsx:196",value:C,children:C},C))]})]})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:201",className:"careers-application__wide",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:202",children:"Current role, workplace, and industry experience"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:203",value:e.experienceLevel,onChange:N("experienceLevel"),maxLength:160,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:206",className:"careers-application__wide",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:207",children:"Why Warren Tr
321icomi?"}),o.jsx("textarea",{"data-loc":"client/src/components/CareersApplicationForm.tsx:208",value:e.backgroundInterest,onChange:N("backgroundInterest"),placeholder:"Tell us about your background, experience, and interest in joining Warren Tricomi.",minLength:20,maxLength:1500,rows:6,required:!0})]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:219",className:"careers-application__file",children:[o.jsx("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:220",children:"Resume"}),o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:221",ref:S,type:"file",accept:cP,onChange:x,"aria-describedby":"career-resume-help career-resume-error",required:!0}),o.jsx("small",{"data-loc":"client/src/components/CareersApplicationForm.tsx:229",id:"career-resume-help",children:"PDF, DOC, or DOCX · 2 MB maximum"}),l?o.jsx("small",{"data-loc":"client/src/components/CareersApplicationForm.tsx:230",id:"career-resume-error",className:"careers-application__error",children:l}):null]}),o.jsxs("label",{"data-loc":"client/src/components/CareersApplicationForm.tsx:233",className:"careers-application__consent",children:[o.jsx("input",{"data-loc":"client/src/components/CareersApplicationForm.tsx:234",type:"checkbox",checked:e.consent,onChange:N("consent"),required:!0}),o.jsxs("span",{"data-loc":"client/src/components/CareersApplicationForm.tsx:235",children:["I agree that Warren Tricomi may use my application and resume to consider me for employment, as described in ",o.jsx(xe,{"data-loc":"client/src/components/CareersApplicationForm.tsx:235",href:"/privacy",children:"Privacy"}),"."]})]}),u?o.jsx("p",{"data-loc":"client/src/components/CareersApplicationForm.tsx:238",className:"careers-application__error careers-application__error--form",role:"alert",children:u}):null,o.jsx("button",{"data-loc":"client/src/components/CareersApplicationForm.tsx:240",className:"careers-application__submit",type:"submit",disabled:E.isPending,children:E.isPending?"Submitting applicationâ¦":"Submit application"}),o.jsx("small",{"data-loc":"client/src/components/CareersApplicationForm.tsx:243",className:"careers-application__equal",children:"Warren Tricomi is an equal opportunity employer. All qualified applicants receive consideration for employment."})]})}function hP(){return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:8",className:"gift-card-hero",children:o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:9",className:"content-wrap gift-card-hero__inner",children:[o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:10",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:11",className:"eyebrow",children:"Warren Tricomi Gift Cards"}),o.jsx("h1",{"data-loc":"client/src/pages/UtilityPages.tsx:12",children:"Give the gift of luxury."})]}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:14",children:"Invite someone to experience Warren Tricomi artistry with a gift chosen for any occasion."})]})}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:18",className:"gift-card-feature content-wrap",children:[o.jsx("figure",{"data-loc":"client/src/pages/UtilityPages.tsx:19",className:"gift-card-feature__visual",children:o.jsx("img",{"data-loc":"client/src/pages/UtilityPages.tsx:20",src:_t.giftCard,alt:"Silver Warren Tricomi gift card on a black presentation field"})}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:22",className:"gift-card-feature__copy",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:23",className:"eyebrow",children:"Gift Cards"}),o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:24",children:"A Warren Tricomi gift card."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:25",children:"More than a present, it is an invitation to experience the considered artistry and hospitality of our salons. Choose the amount and complete your purchase through our secure gift-card partner."}),o.jsxs("a",{"data-loc":"client/src/pages/UtilityPages.tsx:26",className:"gift-card-feature__action",href:BO,target:"_blank",rel:"noreferrer",children:["Purchase a gift card ",o.jsx(st,{"data-loc":"client/src/pages/UtilityPages.tsx:27","aria-hidden":"true"})]}),o.jsx("small",{"data-loc":"client/src/pages/UtilityPages.tsx:29",children:"Gift-card purchases continue securely through Zenoti."})]})]}),o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:33",className:"gift-card-assurance",children:o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:34",className:"content-wrap",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:35",className:"eyebrow eyebrow--light",children:"A considered gift"}),o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:36",children:"Luxury, chosen personally."}),o.jsxs("p",{"data-loc":"client/src/pages/UtilityPages.tsx:37",children:["Virtual gift cards may be redeemed by presenting the gift card ID from the purchase receipt. Review our ",o.jsx("a",{"data-loc":"client/src/pages/UtilityPages.tsx:37",href:"/terms",children:"Terms & Conditions"})," for current gift-card policies."]})]})})]})}function pP(){const e=[["Excellence","A disciplined approach to craft, consultation, and every client detail."],["Individuality","A clear point of view and the confidence to express it with purpose."],["Belonging","A generous team mindset and respect for every shape, culture, and identity."]];return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:53",className:"careers-hero",children:o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:54",className:"content-wrap",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:55",className:"eyebrow",children:"Careers at Warren Tr
321icomi"}),o.jsx("h1",{"data-loc":"client/src/pages/UtilityPages.tsx:56",children:"Make your mark."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:57",children:"We are looking for visionaries in beauty and fashionâartists who bring discipline, individuality, and a commitment to excellence."})]})}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:61",className:"careers-intro content-wrap",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:62",className:"eyebrow",children:"Join Warren Tricomi"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:63",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:64",children:"Become a Certified Warren Tricomi Hair Artist."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:65",children:"Build your craft within a salon culture shaped by precision, creative freedom, and an enduring standard of service. Bring your point of view, care for the client in front of you, and grow alongside artists who take the work seriously."})]})]}),o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:69",className:"careers-qualities content-wrap","aria-label":"What Warren Tricomi values",children:e.map(([a,r],s)=>o.jsxs("article",{"data-loc":"client/src/pages/UtilityPages.tsx:71",children:[o.jsxs("span",{"data-loc":"client/src/pages/UtilityPages.tsx:72",children:["0",s+1]}),o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:73",children:a}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:74",children:r})]},a))}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:79",className:"careers-apply",children:[o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:80",className:"careers-apply__intro",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:81",className:"eyebrow eyebrow--light",children:"Introduce yourself"}),o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:82",children:"Tell us where you would like to grow."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:83",children:"Share your experience, preferred position and location, and a resume. Your application is submitted securely to Warren Tricomi for review."})]}),o.jsx(uP,{"data-loc":"client/src/pages/UtilityPages.tsx:85"})]})]})}function fP(){return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:94",className:"utility-page-head",children:o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:95",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:96",className:"utility-page-head__intro",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:97",className:"eyebrow",children:"Warren Tricomi"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:98",children:"A clear summary of the information this website collects, why it is used, and the choices available to you."})]}),o.jsx("h1",{"data-loc":"client/src/pages/UtilityPages.tsx:100",children:"Privacy"})]})}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:104",className:"utility-document",children:[o.jsxs("aside",{"data-loc":"client/src/pages/UtilityPages.tsx:105",className:"utility-document__meta",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:106",className:"eyebrow",children:"Effective"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:107",children:"September 17, 2026"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:108",className:"utility-document__review",children:"Working notice. Review with qualified counsel before relying on it."}),o.jsxs("a",{"data-loc":"client/src/pages/UtilityPages.tsx:109",href:"mailto:[email protected]?subject=Privacy%20Question",children:["Ask a privacy question ",o.jsx(st,{"data-loc":"client/src/pages/UtilityPages.tsx:110",size:15})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:114",className:"utility-document__body",children:[o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:115",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:116",children:"01"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:117",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:118",children:"Information you provide"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:119",children:"Warren Tr
321icomi collects the information you choose to provide through Careers applications, At-Home requests, Expert Match email requests, Space Rental & Event inquiries, salon communications, and other direct contact. Depending on the form, this may include contact details, requested services, event or appointment details, professional background, and a resume."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:120",children:"Payment-card information entered through Zenoti is handled by Zenoti and its payment providers. This website does not store payment-card numbers."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:124",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:125",children:"02"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:126",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:127",children:"How information is used"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:128",children:"Careers information is used to review employment interest. At-Home details are used to evaluate requested services, artist availability, timing, travel, and pricing. Space Rental & Event details are used to assess fit, availability, logistics, and next steps. Contact information is used to respond to you and maintain ordinary business records."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:129",children:"Form submissions are securely stored for review and follow-up by the relevant Warren Tricomi team. At-Home inquiries are forwarded through Microsoft 365 to the booking email for the area selected by the client. Careers applications are forwarded to [email protected] with the validated resume attached, and Space Rental & Event inquiries are forwarded to [email protected]. When a client requests an Expert Match email, the site stores the email address, questionnaire choices, selected artist identifiers, and delivery status, then sends the three server-generated recommendations from [email protected] to that address. These forms do not create or modify Zenoti records."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:133",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:134",children:"03"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:135",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:136",children:"Storage, access, and retention"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:137",children:"Access to submitted information is limited to people who need it for hiring, booking, event coordination, site administration, security, or applicable obligations. Records are retained only as long as reasonably necessary for those purposes and then deleted or de-identified when appropriate."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:138",children:"Resumes are stored in restricted file storage. Submission records are protected by validation, idempotency controls, and rate limits designed to reduce abuse."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:142",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:143",children:"04"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:144",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:145",children:"Preferences and analytics"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:146",children:"Accessibility and display preferences may be saved locally in your browser so they remain available on a later visit. You can clear these preferences through your browser settings or reset the accessibility controls on the site."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:147",children:"Aggregated website analytics may be used to understand page visits and improve the site. Technical information such as browser type, device type, page viewed, approximate location, and referring page may be processed by the analytics service depending on its configuration."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:151",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:152",children:"05"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:153",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:154",children:"Third-party services"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:155",children:"The site links to or uses services operated by others, including Zenoti booking, Google Maps, Instagram, file storage, and website analytics. Those services operate under their own terms and privacy practices. Warren Tr
321icomi is not responsible for the content or operation of third-party services."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:159",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:160",children:"06"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:161",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:162",children:"Your choices and questions"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:163",children:"You may choose not to use optional site features, clear locally stored preferences, or contact Warren Tricomi to ask about access to or deletion of a Careers application, At-Home inquiry, or Space Rental & Event request. Depending on where you live, privacy law may provide additional rights relating to personal information."}),o.jsxs("p",{"data-loc":"client/src/pages/UtilityPages.tsx:164",children:["For privacy questions, email ",o.jsx("a",{"data-loc":"client/src/pages/UtilityPages.tsx:164",href:"mailto:[email protected]?subject=Privacy%20Question",children:"[email protected]"}),"."]})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:168",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:169",children:"07"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:170",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:171",children:"Updates"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:172",children:"Warren Tricomi may update this notice as the website, business practices, or legal requirements change. The effective date above identifies the current version."})]})]})]})]})]})}function mP(){return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:184",className:"utility-page-head",children:o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:185",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:186",className:"utility-page-head__intro",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:187",className:"eyebrow",children:"Salon Visit Guidelines"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:188",children:"Booking, cancellation, payment, service, product, and guest policies for Warren Tricomi appointments."})]}),o.jsxs("h1",{"data-loc":"client/src/pages/UtilityPages.tsx:190",children:["Terms &",o.jsx("br",{"data-loc":"client/src/pages/UtilityPages.tsx:190"}),"Conditions"]})]})}),o.jsx("section",{"data-loc":"client/src/pages/UtilityPages.tsx:194",className:"utility-document utility-document--body-only",children:o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:195",className:"utility-document__body",children:[o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:196",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:196",children:"01"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:196",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:196",children:"Booking, deposits, and cancellations"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:196",children:"A credit card is required to secure appointments. A 50% deposit is required when booking specialty services such as straightening treatments, bridal, and extensions."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:196",children:"Warren Tricomi requires at least 24 hoursâ notice for appointment cancellations. Late cancellations and no-shows are charged in full for the service or services booked."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:197",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:197",children:"02"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:197",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:197",children:"Rescheduling and arrival"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:197",children:"Appointments may be cancelled or rescheduled through the online booking portal, the Warren Tr
321icomi mobile app, or by contacting the salon by phone, email, or text."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:197",children:"Guests arriving more than 15 minutes late may need to reschedule and may be expected to pay for the reserved time. Express services, consultations, and services for new guests cannot accommodate lateness."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:198",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:198",children:"03"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:198",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:198",children:"Pricing, payment, and gratuity"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:198",children:"Prices vary by artist and location. Pricing confirmed after consultation is final, excludes tax and gratuity, and may change without notice at managementâs discretion."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:198",children:"Warren Tricomi is cashless and accepts Visa, Mastercard, American Express, and debit cards. Cash is accepted only for gratuities. Gratuities are discretionary, cannot be added to credit cards, and may be given in cash or through Venmo."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:199",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:199",children:"04"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:199",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:199",children:"Service and product satisfaction"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:199",children:"Please notify management within seven days of the original appointment if you are not satisfied. Monetary refunds are not issued for services rendered; an adjustment to the original service may be offered with stylist approval. Corrective color and model services are not eligible for service adjustments."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:199",children:"Products may be returned or exchanged only when sold damaged or when an allergic reaction occurs."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:200",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:200",children:"05"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:200",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:200",children:"Purchases and gift cards"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:200",children:"Retail sales are final. Gift cards are not redeemable for cash and cannot be returned. Tickets to advanced education are non-refundable. To redeem a virtual gift card, present the gift card ID number shown in the receipt email."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:201",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:201",children:"06"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:201",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:201",children:"Appointment notifications and virtual consultations"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:201",children:"Appointment and consultation notices may be sent by email or text using the contact information associated with the booking. For complimentary virtual consultations, the team sends a meeting link by text and email within 24 hours of the appointment time; contact the salon if the link does not arrive."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/UtilityPages.tsx:202",children:[o.jsx("span",{"data-loc":"client/src/pages/UtilityPages.tsx:202",children:"07"}),o.jsxs("div",{"data-loc":"client/src/pages/UtilityPages.tsx:202",children:[o.jsx("h2",{"data-loc":"client/src/pages/UtilityPages.tsx:202",children:"Providers, personal items, children, and pets"}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:202",children:"Clients are welcome to see a different artist due to schedule, pricing, or a desire for a new perspective. The salon team can help with referrals."}),o.jsx("p",{"data-loc":"client/src/pages/UtilityPages.tsx:202",children:"Warren Tr
321icomi is not responsible for lost, damaged, or soiled clothing or personal items. Children should visit only when they have an appointment and are accompanied by an adult. Only registered service animals are permitted during business hours."})]})]})]})})]})}const tf="https://warrentricomi.com",Mi="/manus-storage/wt-athome-fallback_06232fc9.jpg",Li="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",gP={title:"Warren Tricomi â Luxury Hair in NYC, Greenwich & Sag Harbor",description:"Warren Tricomi luxury hair salons in NYC, Greenwich, and Sag Harbor, with expert artists, bridal services, and At-Home beauty.",canonicalPath:"/",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi luxury hair artistry"},yP={title:"At-Home Hair & Makeup Services | Warren Tricomi",description:"Request Warren Tricomi At-Home haircuts, styling, grooming, makeup, and bridal services in NYC, Greenwich, nearby Connecticut, and the Hamptons.",canonicalPath:"/at-home",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi At-Home hair styling service"},bP={title:"Request At-Home Hair & Makeup | Warren Tricomi",description:"Request a Warren Tricomi At-Home appointment for hair, styling, grooming, makeup, or bridal services. Choose your area, date, setting, and preferred look.",canonicalPath:"/at-home/inquiry",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi At-Home appointment inquiry"},vP={title:"Privacy | Warren Tricomi",description:"Review Warren Tricomi privacy practices for Careers applications, At-Home requests, event inquiries, site preferences, analytics, and third-party services.",canonicalPath:"/privacy",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi luxury hair artistry"},wP={title:"Salon Terms & Conditions | Warren Tricomi",description:"Review Warren Tricomi booking, deposit, cancellation, no-show, payment, gratuity, product, gift card, and salon visit policies.",canonicalPath:"/terms",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi salon interior"},xP={title:"Space Rental & Event Inquiries | Warren Tricomi",description:"Inquire about Warren Tricomi salon space for productions, beauty and fashion events, private gatherings, education, and brand activations.",canonicalPath:"/space-rental-events",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi salon interior"},SP={title:"Salon Careers | Warren Tricomi",description:"Explore careers at Warren Tricomi for beauty and fashion visionaries committed to excellence, individuality, client service, and artistic growth.",canonicalPath:"/careers",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi luxury hair artistry"},AP={title:"Luxury Salon Gift Cards | Warren Tricomi",description:"Give a Warren Tricomi salon experience with a luxury gift card, then complete your purchase securely through Zenoti.",canonicalPath:"/gift-card",robots:Li,socialImagePath:"/manus-storage/warren-tricomi-silver-gift-card_41b259ba.png",socialImageAlt:"Silver Warren Tricomi gift card"},EP={title:"Frequently Asked Questions | Warren Tricomi",description:"Find Warren Tricomi answers about salon locations, hours, services, artists, booking, Expert Match, At-Home appointments, bridal, gift cards, events, careers, policies, and accessibility.",canonicalPath:"/faq",robots:Li,socialImagePath:Mi,socialImageAlt:"Warren Tricomi luxury hair artistry"},NP={title:"Owner Dashboard | Warren Tricomi",description:"Private Warren Tricomi owner reporting dashboard.",canonicalPath:"/owner",robots:"noindex, nofollow, noarchive",socialImagePath:Mi,socialImageAlt:"Warren Tricomi"},kP=new Set(["/at-home","/on-location","/private-services"]),OP=new Set(["/at-home/inquiry","/on-location/inquiry","/private-services/inquiry"]);function TP(e){const a=e.split(/[?#]/,1)[0]||"/";return a==="/"?a:a.replace(/\/+$/,"")||"/"}function CP(e){const a=TP(e);return a==="/owner"?NP:OP.has(a)?bP:kP.has(a)?yP:a==="/privacy"||a==="/terms-privacy"?vP:a==="/terms"?wP:a==="/space-rental-events"?xP:a==="/careers"?SP:a==="/gift-card"?AP:a==="/faq"?EP:{...gP,canonicalPath:a}}function nw(e,a=tf){return new URL(e,a).toString()}function Ca(e,a){let r=document.head.querySelector(e);r||(r=document.createElement("meta"),r.dataset.seo="route",document.head.appendChild(r));for(const[s,l]of Object.entries(a))r.setAttribute(s,l)}function RP(e){let a=document.head.querySelector('link[rel="canonical"]');a||(a=document.createElement("link"),a.rel="canonical",a.dataset.seo="route",document.head.appendChild(a)),a.href=e}function jP(){const[e]=Vo();return w.useEffect(()=>{const a=CP(e),r=nw(a.canonicalPath,tf),s=nw(a.socialImagePath,tf);document.title=a.title,Ca('meta[name="description"]',{name:"description",content:a.description}),Ca('meta[name="robots"]',{name:"robots",content:a.robots}),RP(r),Ca('meta[property="og:title"]',{property:"og:title",content:a.title}),Ca('meta[property="og:description"]',{property:"og:description",content:a.description}),Ca('meta[property="og:type"]',{property:"og:type",content:"website"}),Ca('meta[property="og:url"]',{property:"og:url",content:r}),Ca('meta[property="og:image"]',{property:"og:image",content:s}),Ca('meta[property="og:image:alt"]',{property:"og:image:alt",content:a.socialImageAlt}),Ca('meta[name="twitter:card"]',{name:"twitter:card",content:"summary_large_image"}),Ca('meta[name="twitter:title"]',{name:"twitter:title",content:a.title}),Ca('meta[name="twitter:description"]',{name:"twitter:description",content:a.description}),Ca('meta[name="twitter:image"]',{name:"twitter:image",content:s})},[e]),null}function PP(e){const a=w.useRef(e);a.current=e;const r=w.useRef(null);return r.current||(r.current=function(...s){return a.current.apply(this,s)}),r.current}const IP="ZKoNWXPmBDVRuVDemuzmSu",MP="https://forge.manus.ai",LP=`${MP}/v1/maps/proxy`,sw="wt-google-maps-api";function _P(){return typeof window.google?.maps?.importLibrary=="function"?Promise.resolve(window.google):(window.__wtGoogleMapsPromise||(window.__wtGoogleMapsPromise=new Promise((e,a)=>{const r=document.getElementById(sw),s=r??document.createElement("script"),l=(u=0)=>{if(typeof window.google?.maps?.importLibrary=="function"){e(window.google);return}if(u<200){window.setTimeout(()=>l(u+1),50);return}window.__wtGoogleMapsPromise=void 0,a(new Error("Google Maps loaded without exposing the Maps API"))},d=()=>{s.remove(),window.__wtGoogleMapsPromise=void 0,a(new Error("Failed to load Google Maps script"))};s.addEventListener("load",()=>l(),{once:!0}),s.addEventListener("error",d,{once:!0}),r?l():(s.id=sw,s.src=`${LP}/maps/api/js?key=${IP}&v=weekly&loading=async&libraries=marker,places,geocoding,geometry`,s.async=!0,s.crossOrigin="anonymous",document.head.appendChild(s))})),window.__wtGoogleMapsPromise)}function HP({className:e,initialCenter:a={lat:37.7749,lng:-122.4194},initialZoom:r=12,onMapReady:s,options:l}){const d=w.useRef(null),u=w.useRef(null),p=PP(async()=>{try{const m=await _P();if(!d.current||u.current)return;const{Map:g}=await m.maps.importLibrary("maps");if(!d.current||u.current)return;
vendor: 18,431 bytes, line 321
321u.current=new g(d.current,{zoom:r,center:a,mapTypeControl:!0,fullscreenControl:!0,zoomControl:!0,streetViewControl:!0,mapId:"DEMO_MAP_ID",...l}),s&&s(u.current)}catch(m){console.error(m)}});return w.useEffect(()=>{p()},[p]),o.jsx("div",{"data-loc":"client/src/components/Map.tsx:187",ref:d,className:qt("w-full h-[500px]",e)})}function ow(e,[a,r]){return Math.min(r,Math.max(a,e))}function zP(e){const a=e+"CollectionProvider",[r,s]=Yo(a),[l,d]=r(a,{collectionRef:{current:null},itemMap:new Map}),u=x=>{const{scope:k,children:C}=x,I=le.useRef(null),M=le.useRef(new Map).current;return o.jsx(l,{scope:k,itemMap:M,collectionRef:I,children:C})};u.displayName=a;const p=e+"CollectionSlot",m=hs(p),g=le.forwardRef((x,k)=>{const{scope:C,children:I}=x,M=d(p,C),Y=lt(k,M.collectionRef);return o.jsx(m,{ref:Y,children:I})});g.displayName=p;const v=e+"CollectionItemSlot",y="data-radix-collection-item",S=hs(v),E=le.forwardRef((x,k)=>{const{scope:C,children:I,...M}=x,Y=le.useRef(null),L=lt(k,Y),G=d(v,C);return le.useEffect(()=>(G.itemMap.set(Y,{ref:Y,...M}),()=>void G.itemMap.delete(Y))),o.jsx(S,{[y]:"",ref:L,children:I})});E.displayName=v;function N(x){const k=d(e+"CollectionConsumer",x);return le.useCallback(()=>{const I=k.collectionRef.current;if(!I)return[];const M=Array.from(I.querySelectorAll(`[${y}]`));return Array.from(k.itemMap.values()).sort((G,j)=>M.indexOf(G.ref.current)-M.indexOf(j.ref.current))},[k.collectionRef,k.itemMap])}return[{Provider:u,Slot:g,ItemSlot:E},N,s]}var DP=w.createContext(void 0);function BP(e){const a=w.useContext(DP);return e||a||"ltr"}function UP(e){const a=w.useRef({value:e,previous:e});return w.useMemo(()=>(a.current.value!==e&&(a.current.previous=a.current.value,a.current.value=e),a.current.previous),[e])}var qP=[" ","Enter","ArrowUp","ArrowDown"],GP=[" ","Enter"],tn="Select",[Sd,Ad,WP]=zP(tn),[Es]=Yo(tn,[WP,cd]),Ed=cd(),[YP,wr]=Es(tn),[$P,FP]=Es(tn),Z1=e=>{const{__scopeSelect:a,children:r,open:s,defaultOpen:l,onOpenChange:d,value:u,defaultValue:p,onValueChange:m,dir:g,name:v,autoComplete:y,disabled:S,required:E,form:N}=e,x=Ed(a),[k,C]=w.useState(null),[I,M]=w.useState(null),[Y,L]=w.useState(!1),G=BP(g),[j,z]=Pp({prop:s,defaultProp:l??!1,onChange:d,caller:tn}),[F,re]=Pp({prop:u,defaultProp:p,onChange:m,caller:tn}),se=w.useRef(null),ie=k?N||!!k.closest("form"):!0,[te,U]=w.useState(new Set),ne=Array.from(te).map(O=>O.props.value).join(";");return o.jsx(Nk,{...x,children:o.jsxs(YP,{required:E,scope:a,trigger:k,onTriggerChange:C,valueNode:I,onValueNodeChange:M,valueNodeHasChildren:Y,onValueNodeHasChildrenChange:L,contentId:ns(),value:F,onValueChange:re,open:j,onOpenChange:z,dir:G,triggerPointerDownPosRef:se,disabled:S,children:[o.jsx(Sd.Provider,{scope:a,children:o.jsx($P,{scope:e.__scopeSelect,onNativeOptionAdd:w.useCallback(O=>{U(D=>new Set(D).add(O))},[]),onNativeOptionRemove:w.useCallback(O=>{U(D=>{const _=new Set(D);return _.delete(O),_})},[]),children:r})}),ie?o.jsxs(b2,{"aria-hidden":!0,required:E,tabIndex:-1,name:v,autoComplete:y,value:F,onChange:O=>re(O.target.value),disabled:S,form:N,children:[F===void 0?o.jsx("option",{value:""}):null,Array.from(te)]},ne):null]})})};Z1.displayName=tn;var Q1="SelectTrigger",X1=w.forwardRef((e,a)=>{const{__scopeSelect:r,disabled:s=!1,...l}=e,d=Ed(r),u=wr(Q1,r),p=u.disabled||s,m=lt(a,u.onTriggerChange),g=Ad(r),v=w.useRef("touch"),[y,S,E]=w2(x=>{const k=g().filter(M=>!M.disabled),C=k.find(M=>M.value===u.value),I=x2(k,x,C);I!==void 0&&u.onValueChange(I.value)}),N=x=>{p||(u.onOpenChange(!0),E()),x&&(u.triggerPointerDownPosRef.current={x:Math.round(x.pageX),y:Math.round(x.pageY)})};return o.jsx(qx,{asChild:!0,...d,children:o.jsx(Ze.button,{type:"button",role:"combobox","aria-controls":u.contentId,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:p,"data-disabled":p?"":void 0,"data-placeholder":v2(u.value)?"":void 0,...l,ref:m,onClick:Ge(l.onClick,x=>{x.currentTarget.focus(),v.current!=="mouse"&&N(x)}),onPointerDown:Ge(l.onPointerDown,x=>{v.current=x.pointerType;const k=x.target;k.hasPointerCapture(x.pointerId)&&k.releasePointerCapture(x.pointerId),x.button===0&&x.ctrlKey===!1&&x.pointerType==="mouse"&&(N(x),x.preventDefault())}),onKeyDown:Ge(l.onKeyDown,x=>{const k=y.current!=="";!(x.ctrlKey||x.altKey||x.metaKey)&&x.key.length===1&&S(x.key),!(k&&x.key===" ")&&qP.includes(x.key)&&(N(),x.preventDefault())})})})});X1.displayName=Q1;var J1="SelectValue",e2=w.forwardRef((e,a)=>{const{__scopeSelect:r,className:s,style:l,children:d,placeholder:u="",...p}=e,m=wr(J1,r),{onValueNodeHasChildrenChange:g}=m,v=d!==void 0,y=lt(a,m.onValueNodeChange);return Ut(()=>{g(v)},[g,v]),o.jsx(Ze.span,{...p,ref:y,style:{pointerEvents:"none"},children:v2(m.value)?o.jsx(o.Fragment,{children:u}):d})});e2.displayName=J1;var KP="SelectIcon",t2=w.forwardRef((e,a)=>{const{__scopeSelect:r,children:s,...l}=e;return o.jsx(Ze.span,{"aria-hidden":!0,...l,ref:a,children:s||"â¼"})});t2.displayName=KP;var VP="SelectPortal",a2=e=>o.jsx(Of,{asChild:!0,...e});a2.displayName=VP;var an="SelectContent",i2=w.forwardRef((e,a)=>{const r=wr(an,e.__scopeSelect),[s,l]=w.useState();if(Ut(()=>{l(new DocumentFragment)},[]),!r.open){const d=s;return d?Wo.createPortal(o.jsx(r2,{scope:e.__scopeSelect,children:o.jsx(Sd.Slot,{scope:e.__scopeSelect,children:o.jsx("div",{children:e.children})})}),d):null}return o.jsx(n2,{...e,ref:a})});i2.displayName=an;var za=10,[r2,xr]=Es(an),ZP="SelectContentImpl",QP=hs("SelectContent.RemoveScroll"),n2=w.forwardRef((e,a)=>{const{__scopeSelect:r,position:s="item-aligned",onCloseAutoFocus:l,onEscapeKeyDown:d,onPointerDownOutside:u,side:p,sideOffset:m,align:g,alignOffset:v,arrowPadding:y,collisionBoundary:S,collisionPadding:E,sticky:N,hideWhenDetached:x,avoidCollisions:k,...C}=e,I=wr(an,r),[M,Y]=w.useState(null),[L,G]=w.useState(null),j=lt(a,ae=>Y(ae)),[z,F]=w.useState(null),[re,se]=w.useState(null),ie=Ad(r),[te,U]=w.useState(!1),ne=w.useRef(!1);w.useEffect(()=>{if(M)return US(M)},[M]),PS();const O=w.useCallback(ae=>{const[pe,...Se]=ie().map(Ie=>Ie.ref.current),[ke]=Se.slice(-1),Ce=document.activeElement;for(const Ie of ae)if(Ie===Ce||(Ie?.scrollIntoView({block:"nearest"}),Ie===pe&&L&&(L.scrollTop=0),Ie===ke&&L&&(L.scrollTop=L.scrollHeight),Ie?.focus(),document.activeElement!==Ce))return},[ie,L]),D=w.useCallback(()=>O([z,M]),[O,z,M]);w.useEffect(()=>{te&&D()},[te,D]);const{onOpenChange:_,triggerPointerDownPosRef:ce}=I;w.useEffect(()=>{if(M){let ae={x:0,y:0};const pe=ke=>{ae={x:Math.abs(Math.round(ke.pageX)-(ce.current?.x??0)),y:Math.abs(Math.round(ke.pageY)-(ce.current?.y??0))}},Se=ke=>{ae.x<=10&&ae.y<=10?ke.preventDefault():M.contains(ke.target)||_(!1),document.removeEventListener("pointermove",pe),ce.current=null};return ce.current!==null&&(document.addEventListener("pointermove",pe),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",pe),document.removeEventListener("pointerup",Se,{capture:!0})}}},[M,_,ce]),w.useEffect(()=>{const ae=()=>_(!1);return window.addEventListener("blur",ae),window.addEventListener("resize",ae),()=>{window.removeEventListener("blur",ae),window.removeEventListener("resize",ae)}},[_]);const[he,T]=w2(ae=>{const pe=ie().filter(Ce=>!Ce.disabled),Se=pe.find(Ce=>Ce.ref.current===document.activeElement),ke=x2(pe,ae,Se);ke&&setTimeout(()=>ke.ref.current.focus())}),V=w.useCallback((ae,pe,Se)=>{const ke=!ne.current&&!Se;(I.value!==void 0&&I.value===pe||ke)&&(F(ae),ke&&(ne.current=!0))},[I.value]),W=w.useCallback(()=>M?.focus(),[M]),Z=w.useCallback((ae,pe,Se)=>{const ke=!ne.current&&!Se;(I.value!==void 0&&I.value===pe||ke)&&se(ae)},[I.value]),oe=s==="popper"?af:s2,ue=oe===af?{side:p,sideOffset:m,align:g,alignOffset:v,arrowPadding:y,collisionBoundary:S,collisionPadding:E,sticky:N,hideWhenDetached:x,avoidCollisions:k}:{};return o.jsx(r2,{scope:r,content:M,viewport:L,onViewportChange:G,itemRefCallback:V,selectedItem:z,onItemLeave:W,itemTextRefCallback:Z,focusSelectedItem:D,selectedItemText:re,position:s,isPositioned:te,searchRef:he,children:o.jsx(Gf,{as:QP,allowPinchZoom:!0,children:o.jsx(qf,{asChild:!0,trapped:I.open,onMountAutoFocus:ae=>{ae.preventDefault()},onUnmountAutoFocus:Ge(l,ae=>{I.trigger?.focus({preventScroll:!0}),ae.preventDefault()}),children:o.jsx(rd,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:ae=>ae.preventDefault(),onDismiss:()=>I.onOpenChange(!1),children:o.jsx(oe,{role:"listbox",id:I.contentId,"data-state":I.open?"open":"closed",dir:I.dir,onContextMenu:ae=>ae.preventDefault(),...C,...ue,onPlaced:()=>U(!0),ref:j,style:{display:"flex",flexDirection:"column",outline:"none",...C.style},onKeyDown:Ge(C.onKeyDown,ae=>{const pe=ae.ctrlKey||ae.altKey||ae.metaKey;if(ae.key==="Tab"&&ae.preventDefault(),!pe&&ae.key.length===1&&T(ae.key),["ArrowUp","ArrowDown","Home","End"].includes(ae.key)){let ke=ie().filter(Ce=>!Ce.disabled).map(Ce=>Ce.ref.current);if(["ArrowUp","End"].includes(ae.key)&&(ke=ke.slice().reverse()),["ArrowUp","ArrowDown"].includes(ae.key)){const Ce=ae.target,Ie=ke.indexOf(Ce);ke=ke.slice(Ie+1)}setTimeout(()=>O(ke)),ae.preventDefault()}})})})})})})});n2.displayName=ZP;var XP="SelectItemAlignedPosition",s2=w.forwardRef((e,a)=>{const{__scopeSelect:r,onPlaced:s,...l}=e,d=wr(an,r),u=xr(an,r),[p,m]=w.useState(null),[g,v]=w.useState(null),y=lt(a,j=>v(j)),S=Ad(r),E=w.useRef(!1),N=w.useRef(!0),{viewport:x,selectedItem:k,selectedItemText:C,focusSelectedItem:I}=u,M=w.useCallback(()=>{if(d.trigger&&d.valueNode&&p&&g&&x&&k&&C){const j=d.trigger.getBoundingClientRect(),z=g.getBoundingClientRect(),F=d.valueNode.getBoundingClientRect(),re=C.getBoundingClientRect();if(d.dir!=="rtl"){const Ce=re.left-z.left,Ie=F.left-Ce,Rt=j.left-Ie,At=j.width+Rt,li=Math.max(At,z.width),Wa=window.innerWidth-za,Pa=ow(Ie,[za,Math.max(za,Wa-li)]);p.style.minWidth=At+"px",p.style.left=Pa+"px"}else{const Ce=z.right-re.right,Ie=window.innerWidth-F.right-Ce,Rt=window.innerWidth-j.right-Ie,At=j.width+Rt,li=Math.max(At,z.width),Wa=window.innerWidth-za,Pa=ow(Ie,[za,Math.max(za,Wa-li)]);p.style.minWidth=At+"px",p.style.right=Pa+"px"}const se=S(),ie=window.innerHeight-za*2,te=x.scrollHeight,U=window.getComputedStyle(g),ne=parseInt(U.borderTopWidth,10),O=parseInt(U.paddingTop,10),D=parseInt(U.borderBottomWidth,10),_=parseInt(U.paddingBottom,10),ce=ne+O+te+_+D,he=Math.min(k.offsetHeight*5,ce),T=window.getComputedStyle(x),V=parseInt(T.paddingTop,10),W=parseInt(T.paddingBottom,10),Z=j.top+j.height/2-za,oe=ie-Z,ue=k.offsetHeight/2,ae=k.offsetTop+ue,pe=ne+O+ae,Se=ce-pe;if(pe<=Z){const Ce=se.length>0&&k===se[se.length-1].ref.current;p.style.bottom="0px";const Ie=g.clientHeight-x.offsetTop-x.offsetHeight,Rt=Math.max(oe,ue+(Ce?W:0)+Ie+D),At=pe+Rt;p.style.height=At+"px"}else{const Ce=se.length>0&&k===se[0].ref.current;p.style.top="0px";const Rt=Math.max(Z,ne+x.offsetTop+(Ce?V:0)+ue)+Se;p.style.height=Rt+"px",x.scrollTop=pe-Z+x.offsetTop}p.style.margin=`${za}px 0`,p.style.minHeight=he+"px",p.style.maxHeight=ie+"px",s?.(),requestAnimationFrame(()=>E.current=!0)}},[S,d.trigger,d.valueNode,p,g,x,k,C,d.dir,s]);Ut(()=>M(),[M]);const[Y,L]=w.useState();Ut(()=>{g&&L(window.getComputedStyle(g).zIndex)},[g]);const G=w.useCallback(j=>{j&&N.current===!0&&(M(),I?.(),N.current=!1)},[M,I]);return o.jsx(eI,{scope:r,contentWrapper:p,shouldExpandOnScrollRef:E,onScrollButtonChange:G,children:o.jsx("div",{ref:m,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:Y},children:o.jsx(Ze.div,{...l,ref:y,style:{boxSizing:"border-box",maxHeight:"100%",...l.style}})})})});s2.displayName=XP;var JP="SelectPopperPosition",af=w.forwardRef((e,a)=>{const{__scopeSelect:r,align:s="start",collisionPadding:l=za,...d}=e,u=Ed(r);return o.jsx(Gx,{...u,...d,ref:a,align:s,collisionPadding:l,style:{boxSizing:"border-box",...d.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});af.displayName=JP;var[eI,om]=Es(an,{}),rf="SelectViewport",o2=w.forwardRef((e,a)=>{const{__scopeSelect:r,nonce:s,...l}=e,d=xr(rf,r),u=om(rf,r),p=lt(a,d.onViewportChange),m=w.useRef(0);return o.jsxs(o.Fragment,{children:[o.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),o.jsx(Sd.Slot,{scope:r,children:o.jsx(Ze.div,{"data-radix-select-viewport":"",role:"presentation",...l,ref:p,style:{position:"relative",flex:1,overflow:"hidden auto",...l.style},onScroll:Ge(l.onScroll,g=>{const v=g.currentTarget,{contentWrapper:y,shouldExpandOnScrollRef:S}=u;if(S?.current&&y){const E=Math.abs(m.current-v.scrollTop);if(E>0){const N=window.innerHeight-za*2,x=parseFloat(y.style.minHeight),k=parseFloat(y.style.height),C=Math.max(x,k);if(C<N){const I=C+E,M=Math.min(N,I),Y=I-M;y.style.height=M+"px",y.style.bottom==="0px"&&(v.scrollTop=Y>0?Y:0,y.style.justifyContent="flex-end")}}}m.current=v.scrollTop})})})]})});o2.displayName=rf;var l2="SelectGroup",[tI,aI]=Es(l2),iI=w.forwardRef((e,a)=>{const{__scopeSelect:r,...s}=e,l=ns();return o.jsx(tI,{scope:r,id:l,children:o.jsx(Ze.div,{role:"group","aria-labelledby":l,...s,ref:a})})});iI.displayName=l2;var c2="SelectLabel",rI=w.forwardRef((e,a)=>{const{__scopeSelect:r,...s}=e,l=aI(c2,r);return o.jsx(Ze.div,{id:l.id,...s,ref:a})});rI.displayName=c2;var Kc="SelectItem",[nI,d2]=Es(Kc),u2=w.forwardRef((e,a)=>{const{__scopeSelect:r,value:s,disabled:l=!1,textValue:d,...u}=e,p=wr(Kc,r),m=xr(Kc,r),g=p.value===s,[v,y]=w.useState(d??""),[S,E]=w.useState(!1),N=lt(a,I=>m.itemRefCallback?.(I,s,l)),x=ns(),k=w.useRef("touch"),C=()=>{l||(p.onValueChange(s),p.onOpenChange(!1))};if(s==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return o.jsx(nI,{scope:r,value:s,disabled:l,textId:x,isSelected:g,onItemTextChange:w.useCallback(I=>{y(M=>M||(I?.textContent??"").trim())},[]),children:o.jsx(Sd.ItemSlot,{scope:r,value:s,disabled:l,textValue:v,children:o.jsx(Ze.div,{role:"option","aria-labelledby":x,"data-highlighted":S?"":void 0,"aria-selected":g&&S,"data-state":g?"checked":"unchecked","aria-disabled":l||void 0,"data-disabled":l?"":void 0,tabIndex:l?void 0:-1,...u,ref:N,onFocus:Ge(u.onFocus,()=>E(!0)),onBlur:Ge(u.onBlur,()=>E(!1)),onClick:Ge(u.onClick,()=>{k.current!=="mouse"&&C()}),onPointerUp:Ge(u.onPointerUp,()=>{k.current==="mouse"&&C()}),onPointerDown:Ge(u.onPointerDown,I=>{k.current=I.pointerType}),onPointerMove:Ge(u.onPointerMove,I=>{k.current=I.pointerType,l?m.onItemLeave?.():k.current==="mouse"&&I.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ge(u.onPointerLeave,I=>{I.currentTarget===document.activeElement&&m.onItemLeave?.()}),onKeyDown:Ge(u.onKeyDown,I=>{m.searchRef?.current!==""&&I.key===" "||(GP.includes(I.key)&&C(),I.key===" "&&I.preventDefault())})})})})});u2.displayName=Kc;var No="SelectItemText",h2=w.forwardRef((e,a)=>{const{__scopeSelect:r,className:s,style:l,...d}=e,u=wr(No,r),p=xr(No,r),m=d2(No,r),g=FP(No,r),[v,y]=w.useState(null),S=lt(a,C=>y(C),m.onItemTextChange,C=>p.itemTextRefCallback?.(C,m.value,m.disabled)),E=v?.textContent,N=w.useMemo(()=>o.jsx("option",{value:m.value,disabled:m.disabled,children:E},m.value),[m.disabled,m.value,E]),{onNativeOptionAdd:x,onNativeOptionRemove:k}=g;return Ut(()=>(x(N),()=>k(N)),[x,k,N]),o.jsxs(o.Fragment,{children:[o.jsx(Ze.span,{id:m.textId,...d,ref:S}),m.isSelected&&u.valueNode&&!u.valueNodeHasChildren?Wo.createPortal(d.children,u.valueNode):null]})});h2.displayName=No;var p2="SelectItemIndicator",f2=w.forwardRef((e,a)=>{const{__scopeSelect:r,...s}=e;return d2(p2,r).isSelected?o.jsx(Ze.span,{"aria-hidden":!0,...s,ref:a}):null});f2.displayName=p2;var nf="SelectScrollUpButton",m2=w.forwardRef((e,a)=>{const r=xr(nf,e.__scopeSelect),s=om(nf,e.__scopeSelect),[l,d]=w.useState(!1),u=lt(a,s.onScrollButtonChange);return Ut(()=>{if(r.viewport&&r.isPositioned){let p=function(){const g=m.scrollTop>0;d(g)};const m=r.viewport;return p(),m.addEventListener("scroll",p),()=>m.removeEventListener("scroll",p)}},[r.viewport,r.isPositioned]),l?o.jsx(y2,{...e,ref:u,onAutoScroll:()=>{const{viewport:p,selectedItem:m}=r;p&&m&&(p.scrollTop=p.scrollTop-m.offsetHeight)}}):null});m2.displayName=nf;var sf="SelectScrollDownButton",g2=w.forwardRef((e,a)=>{const r=xr(sf,e.__scopeSelect),s=om(sf,e.__scopeSelect),[l,d]=w.useState(!1),u=lt(a,s.onScrollButtonChange);return Ut(()=>{if(r.viewport&&r.isPositioned){let p=function(){const g=m.scrollHeight-m.clientHeight,v=Math.ceil(m.scrollTop)<g;d(v)};const m=r.viewport;return p(),m.addEventListener("scroll",p),()=>m.removeEventListener("scroll",p)}},[r.viewport,r.isPositioned]),l?o.jsx(y2,{...e,ref:u,onAutoScroll:()=>{const{viewport:p,selectedItem:m}=r;p&&m&&(p.scrollTop=p.scrollTop+m.offsetHeight)}}):null});g2.displayName=sf;var y2=w.forwardRef((e,a)=>{const{__scopeSelect:r,onAutoScroll:s,...l}=e,d=xr("SelectScrollButton",r),u=w.useRef(null),p=Ad(r),m=w.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return w.useEffect(()=>()=>m(),[m]),Ut(()=>{p().find(v=>v.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[p]),o.jsx(Ze.div,{"aria-hidden":!0,...l,ref:a,style:{flexShrink:0,...l.style},onPointerDown:Ge(l.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(s,50))}),onPointerMove:Ge(l.onPointerMove,()=>{d.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(s,50))}),onPointerLeave:Ge(l.onPointerLeave,()=>{m()})})}),sI="SelectSeparator",oI=w.forwardRef((e,a)=>{const{__scopeSelect:r,...s}=e;return o.jsx(Ze.div,{"aria-hidden":!0,...s,ref:a})});oI.displayName=sI;var of="SelectArrow",lI=w.forwardRef((e,a)=>{const{__scopeSelect:r,...s}=e,l=Ed(r),d=wr(of,r),u=xr(of,r);return d.open&&u.position==="popper"?o.jsx(Wx,{...l,...s,ref:a}):null});lI.displayName=of;var cI="SelectBubbleInput",b2=w.forwardRef(({__scopeSelect:e,value:a,...r},s)=>{const l=w.useRef(null),d=lt(s,l),u=UP(a);return w.useEffect(()=>{const p=l.current;
vendor: 6,323 bytes, line 321
321if(!p)return;const m=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(m,"value").set;if(u!==a&&v){const y=new Event("change",{bubbles:!0});v.call(p,a),p.dispatchEvent(y)}},[u,a]),o.jsx(Ze.select,{...r,style:{...Yx,...r.style},ref:d,defaultValue:a})});b2.displayName=cI;function v2(e){return e===""||e===void 0}function w2(e){const a=Vr(e),r=w.useRef(""),s=w.useRef(0),l=w.useCallback(u=>{const p=r.current+u;a(p),(function m(g){r.current=g,window.clearTimeout(s.current),g!==""&&(s.current=window.setTimeout(()=>m(""),1e3))})(p)},[a]),d=w.useCallback(()=>{r.current="",window.clearTimeout(s.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(s.current),[]),[r,l,d]}function x2(e,a,r){const l=a.length>1&&Array.from(a).every(g=>g===a[0])?a[0]:a,d=r?e.indexOf(r):-1;let u=dI(e,Math.max(d,0));l.length===1&&(u=u.filter(g=>g!==r));const m=u.find(g=>g.textValue.toLowerCase().startsWith(l.toLowerCase()));return m!==r?m:void 0}function dI(e,a){return e.map((r,s)=>e[(a+s)%e.length])}var uI=Z1,hI=X1,pI=e2,fI=t2,mI=a2,gI=i2,yI=o2,bI=u2,vI=h2,wI=f2,xI=m2,SI=g2;function lw({...e}){return o.jsx(uI,{"data-loc":"client/src/components/ui/select.tsx:10","data-slot":"select",...e})}function cw({...e}){return o.jsx(pI,{"data-loc":"client/src/components/ui/select.tsx:22","data-slot":"select-value",...e})}function dw({className:e,size:a="default",children:r,...s}){return o.jsxs(hI,{"data-loc":"client/src/components/ui/select.tsx:34","data-slot":"select-trigger","data-size":a,className:qt("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...s,children:[r,o.jsx(fI,{"data-loc":"client/src/components/ui/select.tsx:44",asChild:!0,children:o.jsx(Uc,{"data-loc":"client/src/components/ui/select.tsx:45",className:"size-4 opacity-50"})})]})}function uw({className:e,children:a,position:r="popper",align:s="center",...l}){return o.jsx(mI,{"data-loc":"client/src/components/ui/select.tsx:59",children:o.jsxs(gI,{"data-loc":"client/src/components/ui/select.tsx:60","data-slot":"select-content",className:qt("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:s,...l,children:[o.jsx(AI,{"data-loc":"client/src/components/ui/select.tsx:72"}),o.jsx(yI,{"data-loc":"client/src/components/ui/select.tsx:73","data-slot":"select-viewport",className:qt("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),o.jsx(EI,{"data-loc":"client/src/components/ui/select.tsx:83"})]})})}function hw({className:e,children:a,...r}){return o.jsxs(bI,{"data-loc":"client/src/components/ui/select.tsx:108","data-slot":"select-item",className:qt("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[o.jsx("span",{"data-loc":"client/src/components/ui/select.tsx:116",className:"absolute right-2 flex size-3.5 items-center justify-center",children:o.jsx(wI,{"data-loc":"client/src/components/ui/select.tsx:117",children:o.jsx(lO,{"data-loc":"client/src/components/ui/select.tsx:118",className:"size-4"})})}),o.jsx(vI,{"data-loc":"client/src/components/ui/select.tsx:121",children:a})]})}function AI({className:e,...a}){return o.jsx(xI,{"data-loc":"client/src/components/ui/select.tsx:144","data-slot":"select-scroll-up-button",className:qt("flex cursor-default items-center justify-center py-1",e),...a,children:o.jsx(cO,{"data-loc":"client/src/components/ui/select.tsx:152",className:"size-4"})})}function EI({className:e,...a}){return o.jsx(SI,{"data-loc":"client/src/components/ui/select.tsx:162","data-slot":"select-scroll-down-button",className:qt("flex cursor-default items-center justify-center py-1",e),...a,children:o.jsx(Uc,{"data-loc":"client/src/components/ui/select.tsx:170",className:"size-4"})})}const NI={"new-york":[{slug:"womens-haircuts",title:"Womenâs Haircuts",sourceLabel:"WOMENS HAIRCUTS",services:[{name:"WOMEN'S HAIRCUT",description:"Blowout included",price:"$185.00 - $400.00"}]},{slug:"blowout-styling",title:"Blowout & Styling",sourceLabel:"BLOWOUT & STYLING",services:[{name:"CLASSIC BLOWOUT-BLOWDRY",price:"$75.00 - $125.00"},{name:"BLOWOUT & STYLE",description:"Tools with curling or flat iron",price:"$125.00 - $155.00"},{name:"UPDO",price:"$235.00 - $310.00"},{name:"SHAMPOOING + TOWEL DRY",price:"$40.00"}]},{slug:"mens-grooming",title:"Menâs Grooming",sourceLabel:"MENS GROOMING",services:[{name:"MEN'S HAIRCUT",price:"$185.00 - $400.00"},{name:"MEN'S BARBER CUT",price:"$110.00 - $275.00"},{name:"MEN'S KERASTASE TREATMENTS",price:"$65.00"},{name:"MEN'S HAIR TINT",price:"$150.00"}
321,{name:"MEN'S HAIR GLOSS",price:"$150.00"}]},{slug:"kids-students",title:"Kids & Students",sourceLabel:"KIDS & STUDENTS",services:[{name:"KIDS HAIRCUT",description:"For kids 14 & under; Parent must be present; Participated stylists only.",price:"$130.00"},{name:"STUDENT HAIRCUT",description:"For students (15-21) with valid student ID. Participated stylists only.",price:"$160.00 - $175.00"},{name:"STUDENT HIGHLIGHT",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$385.00"},{name:"STUDENT BLOWOUT",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$80.00 - $90.00"},{name:"STUDENT UPDO",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$160.00"}]},{slug:"hair-color-balayage",title:"Hair Color & Balayage",sourceLabel:"HAIR COLOR & BALAYAGE",services:[{name:"SUMMER GLOSS AND GLOW PACKAGE",description:"signature summer shine service includes a gloss, hydrating conditioning treatment and a blowout",price:"$275.00 - $285.00"},{name:"COLOR HIGHLIGHTS",price:"$385.00 - $670.00"},{name:"COLOR HIGHLIGHTS + GLOSS",price:"$485.00 - $730.00"},{name:"COLOR HIGHLIGHTS + ONE PROCESS",price:"$570.00 - $880.00"},{name:"COLOR HIGHLIGHT FACE FRAME",price:"$310.00 - $350.00"},{name:"COLOR HIGHLIGHT FACE FRAME + GLOSS",price:"$370.00 - $420.00"},{name:"COLOR BALAYAGE",price:"$385.00 - $620.00"},{name:"COLOR BALAYAGE + GLOSS",price:"$485.00 - $730.00"},{name:"COLOR INOA ONE PROCESS",price:"$210.00 - $315.00"},{name:"COLOR INOA ONE PROCESS + GLOSS",price:"$320.00 - $420.00"},{name:"COLOR ONE PROCESS (SINGLE PROCESS)",price:"$185.00 - $260.00"},{name:"COLOR ONE PROCESS + GLOSS",price:"$285.00 - $370.00"},{name:"BASE BREAKER",price:"$185.00 - $210.00"},{name:"BASE BREAKER + GLOSS",price:"$220.00 - $320.00"},{name:"COLOR DOUBLE PROCESS",price:"$550.00 - $650.00"},{name:"GLOSS & TONER",price:"$150.00 - $160.00"},{name:"CORRECTIVE COLOR",price:"$600.00 - $950.00"},{name:"COLOR IN-SALON CONSULTATION",price:"$0.00"}]},{slug:"hair-smoothing-treatments",title:"Hair Smoothing Treatments",sourceLabel:"HAIR SMOOTHING TREATMENTS",services:[{name:"ORGANIC STRAIGHTENING TREATMENT",description:"Deposit Required: $418.00 This treatment provides a formaldehyde free hair straightening treatment that also works as a ha... Show more",price:"$800.00"},{name:"PROADDICTION TREATMENT",description:"Deposit Required: $522.50 A transformative experience that strengthens and revitalizes your hair, offering healthier and s... Show more",price:"$1,000.00"},{name:"HAIR BOTOX SMOOTHING TREATMENT",description:"Deposit Required: $339.62 Rejuvenate your hair with our innovative Hair B smoothing treatment designed to restore vitality... Show more",price:"$600.00 - $650.00"},{name:"MAGIC SLEEK TREATMENT",description:"Deposit Required: $418.00 Magic Sleek is the latest in hair straightening advancements. It's truly a revolutionary system ... Show more",price:"$800.00"},{name:"JAPANESE SMOOTHING TREATMENT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $627.00 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$1,200.00"},{name:"LASIO (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $365.75 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$700.00"},{name:"BRAZILIAN BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $365.75 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$700.00"},{name:"HAIR STRAIGHTENING-RELAXER-SMOOTHING IN-SALON CONSULTATION",description:"Transform your unruly, curly, or frizzy hair with our Hair Straightening-Relaxer-Smoothing In-Sa... Show more",price:"$0.00"}]},{slug:"hair-conditioning-treatments",title:"Hair Conditioning Treatments",sourceLabel:"HAIR CONDITIONING TREATMENTS",services:[{name:"FRIZZ FIX EXPRESS CONDITIONING TREATMENT",price:"$75.00"},{name:"K18 CONDITIONING TREATMENT",price:"$85.00"},{name:"KERASTASE FUSIO DOSE",price:"$65.00"},{name:"MALIBU HARD WATER WELLNESS TREATMENT",price:"$85.00"},{name:"MASQUE HAIR TREATMENT",price:"$75.00"},{name:"MILBON HEADSPA DETOX TREATMENT",price:"$100.00 - $255.00"},{name:"MILBON PROTEIN TREATMENT",price:"$130.00"},{name:"MILBON REPAIR TREATMENT",price:"$130.00"},{name:"WT PURE STRENGTH TREATMENT",price:"$50.00"},{name:"LOREAL METAL DETOX TREATMENT",price:"$85.00"},{name:"LOREAL MOLECULAR REPAIR",price:"$85.00"}]},{slug:"hair-extensions",title:"Hair Extensions",sourceLabel:"HAIR EXTENSIONS",services:[{name:"HAIR EXTENSIONS BLOWOUT",description:"Extension blowout does not include extension installation or removal. The
321se services must be booked separately.",price:"$135.00 - $180.00"},{name:"HAIR EXTENSIONS IN-SALON CONSULTATION",description:"We offer consultation for Tape -in, K-tips, Clip-in, and Weft beaded sew in extensions.",price:"$0.00"},{name:"HAIR EXTENSIONS REMOVAL",price:"$150.00 - $350.00"},{name:"TAPE IN FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $1,306.25 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$2,000.00 - $2,500.00"},{name:"TAPE IN FULL HEAD VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $679.25 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$800.00 - $1,300.00"},{name:"TAPE IN SIDE VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $313.50 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$600.00"},{name:"FUSION FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $1,463.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$2,800.00 - $3,000.00"},{name:"FUSION SIDE-SPOT VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $391.88 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$750.00"},{name:"FUSION VOLUME ONLY (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $783.75 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,500.00"},{name:"WEFT BEADED SEW IN (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $783.75 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,500.00 - $2,000.00"},{name:"WEFT HALF HEAD (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $783.75 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$1,000.00 - $1,500.00"},{name:"CLIP IN + HAIRCUT & BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $313.50 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$600.00 - $2,000.00"},{name:"CLIP IN APPLICATION + BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $209.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$400.00 - $1,000.00"}]},{slug:"bridal",title:"Bridal",sourceLabel:"BRIDAL",services:[{name:"BRIDAL HAIR TRIAL IN SALON",description:"Deposit Required: $261.25",price:"$500.00"},{name:"BRIDAL MAKE-UP TRIAL IN SALON",description:"Deposit Required: $261.25",price:"$500.00"}]},{slug:"brows-facial",title:"Brows & Facial",sourceLabel:"BROWS-FACIAL",services:[{name:"BROW SHAPING",description:"We use hot wax, tweezer, or both.",price:"$95.00 - $110.00"},{name:"BROW LAMINATION",price:"$120.00"},{name:"LASH LIFT",price:"$130.00"},{name:"BROW LAMINATION + SHAPING",price:"$160.00"},{name:"BROW LAMINATION + SHAPING + LASH LIFT",price:"$260.00"},{name:"BROW LAMINATION + SHAPING + TINT + LASH LIFT",price:"$290.00"},{name:"BROW LAMINATION + SHAPING + TINTING",price:"$190.00"}
321]},{slug:"waxing",title:"Waxing",sourceLabel:"WAXING",services:[{name:"BIKINI WAX",price:"$78.00"},{name:"BRAZILIAN BIKINI WAX",price:"$100.00"},{name:"CHIN WAX",price:"$48.00"},{name:"CHIN WAX WITH ESTHETICIANS",price:"$48.00 - $50.00"},{name:"FULL ARM WAX",price:"$78.00"},{name:"FULL LEG WAX",price:"$110.00"},{name:"HALF ARM WAX",price:"$58.00"},{name:"HALF LEG WAX",price:"$78.00"},{name:"LIP WAX",price:"$38.00 - $48.00"},{name:"LIP WAX WITH ESTHETICIANS",price:"$38.00 - $39.00"}]},{slug:"makeup",title:"Makeup",sourceLabel:"MAKEUP",services:[{name:"MAKEUP APPLICATION",price:"$160.00 - $197.00"},{name:"MAKEUP WITH LASHES",price:"$208.00 - $242.00"}]},{slug:"nails-manicure-pedicure",title:"Nails â Manicure & Pedicure",sourceLabel:"NAILS - MANICURE & PEDICURE",services:[{name:"CLASSIC MANICURE",price:"$45.00 - $54.00"},{name:"CLASSIC PEDICURE",price:"$90.00 - $120.00"},{name:"CLASSIC PEDICURE + MANICURE",price:"$174.00"},{name:"DAZZLE DRY MANICURE",price:"$68.00"},{name:"DAZZLE DRY PEDICURE",price:"$135.00"},{name:"GEL MANICURE ESSIE/SHELLAC",price:"$103.00"},{name:"GEL PEDICURE ESSIE/SHELLAC",price:"$165.00"},{name:"GEL REMOVAL",price:"$38.00"},{name:"FRENCH MANICURE",price:"$64.00"},{name:"FRENCH PEDICURE",price:"$130.00"},{name:"POLISH CHANGE NAILS",price:"$38.00"},{name:"POLISH CHANGE TOES",price:"$65.00"},{name:"NAIL BUFF & SHINE",price:"$11.00"},{name:"MEDICAL PEDICURE",price:"$150.00"},{name:"PARAFFIN",price:"$21.00"},{name:"REFLEXOLOGY 15 MIN",description:"Revitalize your body and mind with our efficient 15-minute Reflexology session at Warren Tricomi... Show more",price:"$50.00"},{name:"REFLEXOLOGY 30 MIN",description:"Experience enhanced relaxation and revitalization with our 30-minute Reflexology session at Warr... Show more",price:"$80.00"},{name:"REFLEXOLOGY 60 MIN",description:"ndulge in an hour of pure relaxation and revitalization with our 60-minute Reflexology session a... Show more",price:"$160.00"}]}],greenwich:[{slug:"womens-haircuts",title:"Womenâs Haircuts",sourceLabel:"WOMENS HAIRCUTS",services:[{name:"WOMEN'S HAIRCUT",description:"Blowout included",price:"$185.00 - $400.00"}]},{slug:"blowout-styling",title:"Blowout & Styling",sourceLabel:"BLOWOUT & STYLING",services:[{name:"CLASSIC BLOWOUT-BLOWDRY",price:"$80.00 - $100.00"},{name:"BLOWOUT & STYLE",description:"Tools with curling or flat iron",price:"$125.00 - $135.00"},{name:"UPDO",price:"$225.00 - $310.00"},{name:"SHAMPOOING + TOWEL DRY",price:"$40.00"}]},{slug:"mens-grooming",title:"Menâs Grooming",sourceLabel:"MENS GROOMING",services:[{name:"MEN'S HAIRCUT",price:"$185.00 - $400.00"},{name:"MEN'S BARBER CUT",price:"$110.00 - $135.00"},{name:"MEN'S KERASTASE TREATMENTS",price:"$65.00"},{name:"MEN'S HAIR TINT",price:"$150.00"},{name:"MEN'S HAIR GLOSS",price:"$150.00"}]},{slug:"kids-students",title:"Kids & Students",sourceLabel:"KIDS & STUDENTS",services:[{name:"KIDS HAIRCUT",description:"For kids 14 & under; Parent must be present; Participated stylists only.",price:"$130.00"},{name:"STUDENT HAIRCUT",description:"For students (15-21) with valid student ID. Participated stylists only.",price:"$160.00"},{name:"STUDENT HIGHLIGHT",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$385.00"},{name:"STUDENT BLOWOUT",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$90.00"},{name:"STUDENT UPDO",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$160.00"}]},{slug:"hair-color-balayage",title:"Hair Color & Balayage",sourceLabel:"HAIR COLOR & BALAYAGE",services:[{name:"SUMMER GLOSS AND GLOW PACKAGE",description:"signature summer shine service includes a gloss, hydrating conditioning treatment and a blowout",price:"$275.00"},{name:"COLOR HIGHLIGHTS",price:"$385.00 - $585.00"},{name:"COLOR HIGHLIGHTS + GLOSS",price:"$425.00 - $670.00"},{name:"COLOR HIGHLIGHTS + ONE PROCESS",price:"$570.00 - $870.00"},{name:"COLOR HIGHLIGHT FACE FRAME",price:"$310.00 - $425.00"},{name:"COLOR HIGHLIGHT FACE FRAME + GLOSS",price:"$325.00 - $445.00"},{name:"COLOR BALAYAGE",price:"$385.00 - $560.00"},{name:"COLOR BALAYAGE + GLOSS",price:"$385.00 - $595.00"},{name:"COLOR INOA ONE PROCESS",price:"$235.00 - $335.00"},{name:"COLOR INOA ONE PROCESS + GLOSS",price:"$275.00 - $370.00"},{name:"COLOR ONE PROCESS (SINGLE PROCESS)",price:"$185.00 - $285.00"},{name:"COLOR ONE PROCESS + GLOSS",price:"$225.00 - $370.00"},{name:"BASE BREAKER",price:"$175.00 - $185.00"},{name:"BASE BREAKER + GLOSS",price:"$200.00 - $295.00"},{name:"GLOSS & TONER",price:"$150.00 - $210.00"},{name:"CORRECTIVE COLOR",price:"$600.00"},{name:"COLOR IN-SALON CONSULTATION",price:"$0.00"}]},{slug:"hair-smoothing-treatments",title:"Hair Smoothing Treatments",sourceLabel:"HAIR SMOOTHING TREATMENTS",services:[{name:"ORGANIC STRAIGHTENING TREATMENT",description:"Deposit Required: $400.00 This treatment provides a formaldehyde free hair straightening treatment that also works as a ha... Show more",price:"$800.00"},{name:"PROADDICTION TREATMENT",description:"Deposit Required: $500.00 A transformative experience that strengthens and revitalizes your hair, offering healthier and s... Show more",price:"$1,000.00"},{name:"HAIR BOTOX SMOOTHING TREATMENT",description:"Deposit Required: $325.00 Rejuvenate your hair with our innovative Hair B smoothing treatment designed to restore vitality... Show more",price:"$650.00"},{name:"MAGIC SLEEK TREATMENT",description:"Deposit Required: $400.00 Magic Sleek is the latest in hair straightening advancements. It's truly a revolutionary system ... Show more",price:"$800.00"},{name:"JAPANESE SMOOTHING TREATMENT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $600.00 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$1,200.00"},{name:"CEZANNE (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $337.50 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salon directly at 203-863-9300 for Greenwich Salon; Or email [email protected]",price:"$675.00"},{name:"LASIO (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $350.00 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$700.00"},{name:"BRAZILIAN BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $350.00 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$700.00"},{name:"HAIR STRAIGHTENING-RELAXER-SMOOTHING IN-SALON CONSULTATION",description:"Transform your unruly, curly, or frizzy hair with our Hair Straightening-Relaxer-Smoothing In-Sa... Show more",price:"$0.00"}]},{slug:"hair-conditioning-treatments",title:"Hair Conditioning Treatments",sourceLabel:"HAIR CONDITIONING TREATMENTS",services:[{name:"FRIZZ FIX EXPRESS CONDITIONING TREATMENT",price:"$75.00"},{name:"K18 CONDITIONING TREATMENT",price:"$85.00"},{name:"MALIBU HARD WATER WELLNESS TREATMENT",price:"$85.00"},{name:"MILBON PROTEIN TREATMENT",price:"$130.00"},{name:"MILBON REPAIR TREATMENT",price:"$130.00"},{name:"ORIBE REMEDY TREATMENT",price:"$75.00"},{name:"WT PURE STRENGTH TREATMENT",price:"$50.00"},{name:"LOREAL METAL DETOX TREATMENT",price:"$85.00"},{name:"LOREAL MOLECULAR REPAIR",price:"$85.00"}]},{slug:"hair-extensions",title:"Hair Extensions",sourceLabel:"HAIR EXTENSIONS",services:[{name:"HAIR EXTENSIONS BLOWOUT",description:"Extension blowout does not include extension installation or removal. The
321se services must be booked separately.",price:"$135.00 - $155.00"},{name:"HAIR EXTENSIONS IN-SALON CONSULTATION",description:"We offer consultation for Tape -in, K-tips, Clip-in, and Weft beaded sew in extensions.",price:"$0.00"},{name:"HAIR EXTENSIONS REMOVAL",price:"$150.00 - $200.00"},{name:"TAPE IN FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $1,250.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,800.00 - $2,500.00"},{name:"TAPE IN FULL HEAD VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $650.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$800.00 - $1,350.00"},{name:"TAPE IN SIDE VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $300.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$600.00"},{name:"FUSION FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $1,400.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$2,800.00 - $3,120.00"},{name:"FUSION SIDE-SPOT VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $375.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$750.00"},{name:"FUSION VOLUME ONLY (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $750.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,500.00 - $1,560.00"},{name:"WEFT BEADED SEW IN (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $750.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,500.00 - $1,565.00"},{name:"CLIP IN + HAIRCUT & BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $300.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$600.00 - $2,080.00"},{name:"CLIP IN APPLICATION + BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $200.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$400.00 - $1,040.00"}]},{slug:"bridal",title:"Bridal",sourceLabel:"BRIDAL",services:[{name:"BRIDAL HAIR TRIAL IN SALON",description:"Deposit Required: $250.00",price:"$500.00"},{name:"BRIDAL MAKE-UP TRIAL IN SALON",description:"Deposit Required: $250.00",price:"$500.00"}]},{slug:"brows-facial",title:"Brows & Facial",sourceLabel:"BROWS-FACIAL",services:[{name:"BROW SHAPING",description:"We use hot wax, tweezer, or both.",price:"$100.00 - $130.00"},{name:"EYEBROW TINT - VEGETABLE DYE",price:"$80.00"},{name:"LASH TINT",price:"$90.00"},{name:"LASH LIFT",price:"$150.00"},{name:"EAR PIERCING",price:"$150.00"},{name:"FALSE LASHES",price:"$85.00"}]},{slug:"waxing",title:"Waxing",sourceLabel:"WAXING",services:[{name:"BIKINI WAX",price:"$70.00"},{name:"BRAZILIAN BIKINI WAX",price:"$100.00"},{name:"CHIN WAX",price:"$48.00 - $53.00"},{name:"FULL ARM WAX",price:"$78.00"},{name:"FULL LEG WAX",price:"$110.00"},{name:"HALF ARM WAX",price:"$58.00"},{name:"HALF LEG WAX",price:"$78.00"},{name:"LIP WAX",price:"$38.00 - $43.00"},{name:"SIDES OF FACE WAX",price:"$80.00"}
321,{name:"UNDERARM WAX",price:"$53.00"},{name:"NECK WAX",price:"$55.00"},{name:"NOSE WAX",price:"$50.00"}]},{slug:"makeup",title:"Makeup",sourceLabel:"MAKEUP",services:[{name:"MAKEUP APPLICATION",price:"$185.00 - $300.00"},{name:"MAKEUP LESSON",price:"$400.00"},{name:"MAKEUP WITH LASHES",price:"$220.00 - $350.00"},{name:"MAKEUP AIRBRUSH",price:"$350.00"}]},{slug:"nails-manicure-pedicure",title:"Nails â Manicure & Pedicure",sourceLabel:"NAILS - MANICURE & PEDICURE",services:[{name:"CLASSIC MANICURE",price:"$54.00"},{name:"CLASSIC PEDICURE",price:"$120.00"},{name:"CLASSIC PEDICURE + MANICURE",price:"$178.00"},{name:"DAZZLE DRY MANICURE",price:"$68.00"},{name:"DAZZLE DRY PEDICURE",price:"$135.00"},{name:"GEL MANICURE ESSIE/SHELLAC",price:"$85.00"},{name:"GEL PEDICURE ESSIE/SHELLAC",price:"$165.00"},{name:"GEL REMOVAL",price:"$38.00"},{name:"FRENCH MANICURE",price:"$64.00"},{name:"FRENCH PEDICURE",price:"$130.00"},{name:"POLISH CHANGE NAILS",price:"$38.00"},{name:"POLISH CHANGE TOES",price:"$65.00"},{name:"NAIL BUFF & SHINE",price:"$11.00"}]}],"sag-harbor":[{slug:"womens-haircuts",title:"Womenâs Haircuts",sourceLabel:"WOMENS HAIRCUTS",services:[{name:"WOMEN'S HAIRCUT",description:"Blowout included",price:"$185.00 - $310.00"}]},{slug:"blowout-styling",title:"Blowout & Styling",sourceLabel:"BLOWOUT & STYLING",services:[{name:"CLASSIC BLOWOUT-BLOWDRY",price:"$100.00 - $125.00"},{name:"BLOWOUT & STYLE",description:"Tools with curling or flat iron",price:"$130.00 - $135.00"},{name:"UPDO",price:"$235.00 - $260.00"},{name:"SHAMPOOING + TOWEL DRY",price:"$40.00"}]},{slug:"mens-grooming",title:"Menâs Grooming",sourceLabel:"MENS GROOMING",services:[{name:"MEN'S HAIRCUT",price:"$185.00 - $310.00"},{name:"MEN'S BARBER CUT",price:"$110.00 - $170.00"},{name:"MEN'S KERASTASE TREATMENTS",price:"$65.00"},{name:"MEN'S HAIR TINT",price:"$150.00"},{name:"MEN'S HAIR GLOSS",price:"$150.00"}]},{slug:"kids-students",title:"Kids & Students",sourceLabel:"KIDS & STUDENTS",services:[{name:"KIDS HAIRCUT",description:"For kids 14 & under; Parent must be present; Participated stylists only.",price:"$130.00"},{name:"STUDENT HAIRCUT",description:"For students (15-21) with valid student ID. Participated stylists only.",price:"$160.00"},{name:"STUDENT HIGHLIGHT",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$385.00"},{name:"STUDENT BLOWOUT",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$80.00 - $90.00"},{name:"STUDENT UPDO",description:"For students (15-21) with valid student ID. Participated stylists only",price:"$160.00"}]},{slug:"hair-color-balayage",title:"Hair Color & Balayage",sourceLabel:"HAIR COLOR & BALAYAGE",services:[{name:"SUMMER GLOSS AND GLOW PACKAGE",description:"signature summer shine service includes a gloss, hydrating conditioning treatment and a blowout",price:"$275.00"},{name:"COLOR HIGHLIGHTS",price:"$385.00 - $670.00"},{name:"COLOR HIGHLIGHTS + GLOSS",price:"$495.00 - $720.00"},{name:"COLOR HIGHLIGHT FACE FRAME",price:"$265.00 - $310.00"},{name:"COLOR HIGHLIGHT FACE FRAME + GLOSS",price:"$375.00 - $420.00"},{name:"COLOR BALAYAGE",price:"$385.00 - $560.00"},{name:"COLOR BALAYAGE + GLOSS",price:"$495.00 - $670.00"},{name:"COLOR INOA ONE PROCESS",price:"$235.00 - $310.00"},{name:"COLOR INOA ONE PROCESS + GLOSS",price:"$345.00 - $420.00"},{name:"COLOR ONE PROCESS (SINGLE PROCESS)",price:"$185.00 - $260.00"},{name:"COLOR ONE PROCESS + GLOSS",price:"$295.00 - $370.00"},{name:"BASE BREAKER",price:"$185.00"},{name:"BASE BREAKER + GLOSS",price:"$295.00"},{name:"GLOSS & TONER",price:"$150.00"},{name:"CORRECTIVE COLOR",price:"$600.00 - $700.00"},{name:"COLOR IN-SALON CONSULTATION",price:"$0.00"}]},{slug:"hair-smoothing-treatments",title:"Hair Smoothing Treatments",sourceLabel:"HAIR SMOOTHING TREATMENTS",services:[{name:"ORGANIC STRAIGHTENING TREATMENT",description:"Deposit Required: $400.00 This treatment provides a formaldehyde free hair straightening treatment that also works as a ha... Show more",price:"$800.00"},{name:"BRAZILIAN BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $350.00 Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$700.00"},{name:"HAIR STRAIGHTENING-RELAXER-SMOOTHING IN-SALON CONSULTATION",description:"Transform your unruly, curly, or frizzy hair with our Hair Straightening-Relaxer-Smoothing In-Sa... Show more",price:"$0.00"}]},{slug:"hair-conditioning-treatments",title:"Hair Conditioning Treatments",sourceLabel:"HAIR CONDITIONING TREATMENTS",services:[{name:"K18 CONDITIONING TREATMENT",price:"$85.00"},{name:"KERASTASE FUSIO DOSE",price:"$65.00"},{name:"MALIBU HARD WATER WELLNESS TREATMENT",price:"$85.00"},{name:"MASQUE HAIR TREATMENT",price:"$75.00"},{name:"MILBON PROTEIN TREATMENT",price:"$130.00"},{name:"MILBON REPAIR TREATMENT",price:"$130.00"},{name:"WT PURE STRENGTH TREATMENT",price:"$50.00"},{name:"LOREAL METAL DETOX TREATMENT",price:"$85.00"},{name:"LOREAL MOLECULAR REPAIR",price:"$85.00"}]},{slug:"hair-extensions",title:"Hair Extensions",sourceLabel:"HAIR EXTENSIONS",services:[{name:"HAIR EXTENSIONS BLOWOUT",description:"Extension blowout does not include extension installation or removal. The
321se services must be booked separately.",price:"$150.00 - $155.00"},{name:"HAIR EXTENSIONS IN-SALON CONSULTATION",description:"We offer consultation for Tape -in, K-tips, Clip-in, and Weft beaded sew in extensions.",price:"$0.00"},{name:"HAIR EXTENSIONS REMOVAL",price:"$150.00"},{name:"TAPE IN FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $1,250.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$2,500.00"},{name:"TAPE IN FULL HEAD VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $650.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,300.00"},{name:"TAPE IN SIDE VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $300.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$600.00"},{name:"FUSION FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $1,400.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$2,800.00"},{name:"FUSION SIDE-SPOT VOLUME (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $375.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$750.00"},{name:"FUSION VOLUME ONLY (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $750.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,500.00"},{name:"WEFT BEADED SEW IN (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $750.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$1,500.00"},{name:"CLIP IN + HAIRCUT & BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $300.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon",price:"$600.00"},{name:"CLIP IN APPLICATION + BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)",description:"Deposit Required: $200.00 Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon",price:"$400.00"},{name:"TINSEL HAIR EXTENSIONS",price:"$100.00"}]},{slug:"bridal",title:"Bridal",sourceLabel:"BRIDAL",services:[{name:"BRIDAL HAIR TRIAL IN SALON",description:"Deposit Required: $250.00",price:"$500.00"},{name:"BRIDAL MAKE-UP TRIAL IN SALON",description:"Deposit Required: $250.00",price:"$500.00"}]},{slug:"makeup",title:"Makeup",sourceLabel:"MAKEUP",services:[{name:"MAKEUP APPLICATION",price:"$180.00 - $185.00"},{name:"MAKEUP WITH LASHES",price:"$208.00"},{name:"MAKEUP AIRBRUSH",price:"$415.00"}]}]},kI=JSON.parse(`{"centerId":"d851257d-416b-4bd3-8409-bd7048d96c18","categories":[{"categoryId":"561ce3ee-a632-4d83-bff2-51904b569899","category":"WOMENS HAIRCUTS","services":[{"id":"5e0e7747-1b99-4252-85cc-a260f1961e2e","name":"WOMEN'S HAIRCUT","description":"Blowout included","min":185,"max":400}]},{"categoryId":"c5a6a8b5-a686-4b89-9533-0bbd61dd1ef7","category":"BLOWOUT & STYLING","services":[{"id":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","name":"CLASSIC BLOWOUT-BLOWDRY","min":80,"max":100},{"id":"803642e0-d217-4771-970b-52e33de3ca0e","name":"BLOWOUT & STYLE","description":"Tools with curling or flat iron","min":125,"max":135},{"id":"30d31ecc-4bf5-41e4-9440-bc4690988263","name":"UPDO","min":225,"max":310},{"id":"c4879f51-7ac5-4e02-900b-5be60b79876a","name":"SHAMPOOING + TOWEL DRY","min":40,"max":40}]},{"categoryId":"4cb6f129-35e9-4de7-bc4c-caa79a51a4fc","category":"MENS GROOMING","services":[{"id":"2e249b4a-0642-45b6-8607-79682f1cd4fb","name":"MEN'S HAIRCUT","min":185,"max":400},{"id":"e9c47c62-0560-4949-baa0-4d3f722e4c88","name":"MEN'S BARBER CUT","min":110,"max":135},{"id":"80258426-1397-40c5-953c-c81c79872503","name":"MEN'S KERASTASE TREATMENTS","min":65,"max":65},{"id":"bfc6ce39-8d47-40cc-a0c5-a5eed7d32584","name":"MEN'S HAIR TINT","min":150,"max":150},{"id":"4977afbc-c5fb-4a63-825d-215f38d99a0d","name":"MEN'S HAIR G
321LOSS","min":150,"max":150}]},{"categoryId":"ecbada1b-17fb-4238-a913-7352cddf8b5f","category":"KIDS & STUDENTS","services":[{"id":"60b5a418-974d-4466-816b-bb4febfcd7ef","name":"KIDS HAIRCUT","description":"For kids 14 & under; Parent must be present; Participated stylists only.","min":130,"max":130},{"id":"51b7bdcd-af4a-48ae-8d89-4203a255202e","name":"STUDENT HAIRCUT","description":"For students (15-21) with valid student ID. Participated stylists only.","min":160,"max":160},{"id":"11617651-0ca7-478f-ae47-2b191785e966","name":"STUDENT HIGHLIGHT","description":"For students (15-21) with valid student ID. Participated stylists only","min":385,"max":385},{"id":"b72769c3-c426-4a4e-b6dd-268e0919fb48","name":"STUDENT BLOWOUT","description":"For students (15-21) with valid student ID. Participated stylists only","min":90,"max":90},{"id":"a40dc664-655e-49a5-bfe9-95b6a6e46060","name":"STUDENT UPDO","description":"For students (15-21) with valid student ID. Participated stylists only","min":160,"max":160}]},{"categoryId":"cc93bb3a-c20c-4b11-a305-b3119368c84f","category":"HAIR COLOR & BALAYAGE","services":[{"id":"8898dfcd-2a18-4887-84d8-89b5374e48a8","name":"SUMMER GLOSS AND GLOW PACKAGE","description":"signature summer shine service includes a gloss, hydrating conditioning treatment and a blowout","min":275,"max":275},{"id":"109ac0a5-9b10-4151-9356-b85a05cb71fd","name":"COLOR HIGHLIGHTS","min":385,"max":585},{"id":"ff3520f6-ef66-4a18-8871-52f5e5b0afad","name":"COLOR HIGHLIGHTS + GLOSS","min":425,"max":670},{"id":"9fbaf2e4-6701-4188-b0ac-f16b56c075a3","name":"COLOR HIGHLIGHTS + ONE PROCESS","min":570,"max":870},{"id":"863f20cd-21a9-4cd7-906e-67cf8ef03622","name":"COLOR HIGHLIGHT FACE FRAME","min":310,"max":425},{"id":"f82e3595-2d9d-4f85-91d8-8811d8f463f4","name":"COLOR HIGHLIGHT FACE FRAME + GLOSS","min":325,"max":445},{"id":"859395c8-b798-45b5-84c2-e4b19e50ff89","name":"COLOR BALAYAGE","min":385,"max":560},{"id":"b328d99a-330e-4f5a-8a5d-e5ccb5f2ef31","name":"COLOR BALAYAGE + GLOSS","min":385,"max":595},{"id":"9a32a4fa-a767-4070-802e-f32466ce774f","name":"COLOR INOA ONE PROCESS","min":235,"max":335},{"id":"7134c9bb-a887-47d9-a6c5-7304fdf6f01d","name":"COLOR INOA ONE PROCESS + GLOSS","min":275,"max":370},{"id":"3c4d2b5b-4b0e-4542-a6e6-ed1585ba0116","name":"COLOR ONE PROCESS (SINGLE PROCESS)","min":185,"max":285},{"id":"aab85a46-95c9-4f36-a13a-f48e0580eb2b","name":"COLOR ONE PROCESS + GLOSS","min":225,"max":370},{"id":"b4373ccb-68d5-4a9f-8393-062e61632016","name":"BASE BREAKER","min":175,"max":185},{"id":"fbd0f48f-f881-4026-a85a-3c1d0793d55f","name":"BASE BREAKER + GLOSS","min":200,"max":295},{"id":"4fdd9ace-0fdb-4a16-82a3-2215e49f10f0","name":"GLOSS & TONER","min":150,"max":210},{"id":"fb930571-da48-41db-a68c-a0f69112cfed","name":"CORRECTIVE COLOR","min":600,"max":600},{"id":"258d2f22-55cd-4260-9b2b-1883c803a44a","name":"COLOR IN-SALON CONSULTATION","min":0,"max":0}]},{"categoryId":"497abd05-9575-4757-8cfd-bddc91824fae","category":"HAIR SMOOTHING TREATMENTS","services":[{"id":"b0e30ed1-553d-43a3-98d0-bbb8ca48d1f7","name":"ORGANIC STRAIGHTENING TREATMENT","description":"This treatment provides a formaldehyde free hair straightening treatment that also works as a hair relaxer too! With top of the line ingredients to help enrich and eliminate frizz your hair. No harmful ingredients or chemicals are in this product. We do suggest if you have color services. The treatment is most effective when applied prior to coloring, as it may occasionally lighten the hue.","min":800,"max":800},{"id":"27388075-98cb-4e6e-9a9b-51b097c57bc8","name":"PROADDICTION TREATMENT","description":"A transformative experience that strengthens and revitalizes your hair, offering healthier and shinier locks for up to 4 months. ProAddiction is a revolutionary system that repairs and rebuilds your hair, infusing it with more strength, structure, and vitality. The treatment consists of a series of products rich in keratin and botanical extracts designed to smooth the hair, reducing frizz and offering incredible shine.","min":1000,"max":1000}
321,{"id":"2b0c5ac4-69cc-47e7-b84d-01046ae198c6","name":"HAIR BOTOX SMOOTHING TREATMENT","description":"Rejuvenate your hair with our innovative Hair B smoothing treatment designed to restore vitality to hair that has been damaged due to chemical processes, heat styling, or environmental factors. It works by replenishing the proteins and nutrients your hair loses over time, leading to a smoother, more youthful appearance.","min":650,"max":650},{"id":"d053dd56-a2b0-4ca4-8752-6d2fa5d86bae","name":"MAGIC SLEEK TREATMENT","description":"Magic Sleek is the latest in hair straightening advancements. It's truly a revolutionary system for all types of hair, designed for maximum frizz control, incredible shine, and unparalleled smoothness. This treatment can transform even the most unruly and difficult hair, taming frizz and enhancing shine for a sleek, straight finish with results lasting up to 6 months depending on your hair type and maintenance.","min":800,"max":800},{"id":"42fa56da-40d1-464b-b4e7-570f0aad5290","name":"JAPANESE SMOOTHING TREATMENT (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon.","min":1200,"max":1200},{"id":"992bc237-78f0-476b-8f1f-61e8bad32dae","name":"CEZANNE (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note:50% deposit is required to book this service. The service can only be booked by calling/texting the salon directly at 203-863-9300 for Greenwich Salon; Or email [email protected]","min":675,"max":675},{"id":"4136d9ab-1ac3-40c4-bf3d-74e9a753763d","name":"LASIO (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon.","min":700,"max":700},{"id":"40130fcb-921c-4935-97a2-c5fe22ddcf3d","name":"BRAZILIAN BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":700,"max":700},{"id":"5ac73a0c-b4d2-4003-95f6-6443a3285ed1","name":"HAIR STRAIGHTENING-RELAXER-SMOOTHING IN-SALON CONSULTATION","description":"Transform your unruly, curly, or frizzy hair with our Hair Straightening-Relaxer-Smoothing In-Salon Consultation for Organic, Magic Sleek, Japanese, Brazilian, Keratin, Lasio, Proaddiction, Cezanne, or Hair Botox.","min":0,"max":0}]},{"categoryId":"2639237f-ee12-4c0e-af12-9d562ec0704b","category":"HAIR CONDITIONING TREATMENTS","services":[{"id":"8324fd36-03e6-4619-9e13-3473eb5e3074","name":"FRIZZ FIX EXPRESS CONDITIONING TREATMENT","min":75,"max":75},{"id":"b8d612f9-3d93-4fdb-a550-d27ab3e78813","name":"K18 CONDITIONING TREATMENT","min":85,"max":85},{"id":"31089b5a-d483-44cd-9400-ba620917649b","name":"MALIBU HARD WATER WELLNESS TREATMENT","min":85,"max":85},{"id":"76e8f9b4-859a-40d1-9ff9-0ecf6cb69f7e","name":"MILBON PROTEIN TREATMENT","min":130,"max":130},{"id":"8003ea55-e813-4b91-8b40-30368cdb949d","name":"MILBON REPAIR TREATMENT","min":130,"max":130},{"id":"675b224b-ee4d-4be5-80ea-764ea83f20b6","name":"ORIBE REMEDY TREATMENT","min":75,"max":75},{"id":"5b7808dc-a776-4182-9b1e-bb8fd3eae89c","name":"WT PURE STRENGTH TREATMENT","min":50,"max":50},{"id":"4f4dd240-72f9-4b5d-b2e4-52182538fe72","name":"LOREAL METAL DETOX TREATMENT","min":85,"max":85},{"id":"52b8ca80-1ac2-4bbf-9a2f-8a375efe995e","name":"LOREAL MOLECULAR REPAIR","min":85,"max":85}]},{"categoryId":"aa0797a8-32de-44ae-acda-ccdadc70be6c","category":"HAIR EXTENSIONS","services":[{"id":"e3a2f338-3811-4cc7-8e76-2cf967b6dbd2","name":"HAIR EXTENSIONS BLOWOUT","min":135,"max":155},{"id":"7ec3586d-b7dc-474c-8345-8f85bd823c18","name":"HAIR EXTENSIONS IN-SALON CONSULTATION","de
321scription":"We offer consultation for Tape -in, K-tips, Clip-in, and Weft beaded sew in extensions. ","min":0,"max":0},{"id":"201dbbcf-c880-4f23-b59a-37d207717968","name":"HAIR EXTENSIONS REMOVAL","min":150,"max":200},{"id":"b5c95953-71ca-4ff8-96e8-85b263acbf3c","name":"TAPE IN FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1800,"max":2500},{"id":"b245fba4-f47b-4f52-85d6-382b481af843","name":"TAPE IN FULL HEAD VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":800,"max":1350},{"id":"cdb2680d-9890-46d5-88cb-69351c7fac06","name":"TAPE IN SIDE VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":600,"max":600},{"id":"d9cddb9a-5986-46d9-ad04-4e4e2f0943e0","name":"FUSION FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":2800,"max":3120},{"id":"bed35214-5fc1-4f44-aecb-f5bbc26d0bb8","name":"FUSION SIDE-SPOT VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":750,"max":750},{"id":"85ca00c0-e55d-49f1-95d2-0a73560f6df2","name":"FUSION VOLUME ONLY (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1500,"max":1560},{"id":"3279e12a-c780-451f-8c32-39c15c6010a5","name":"WEFT BEADED SEW IN (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1500,"max":1565},{"id":"320d8623-b50f-4905-b171-4c5a663ed630","name":"CLIP IN + HAIRCUT & BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","de
321scription":"Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon","min":600,"max":2080},{"id":"60475637-af0f-476f-bee3-c4f05378c981","name":"CLIP IN APPLICATION + BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":400,"max":1040}]},{"categoryId":"e69ef80d-ec30-41ef-8453-a4a58a8d6f25","category":"BRIDAL","services":[{"id":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","name":"BRIDAL HAIR TRIAL IN SALON","min":500,"max":500},{"id":"49522551-4649-4b14-86a3-e26effb46615","name":"BRIDAL MAKE-UP TRIAL IN SALON","min":500,"max":500}]},{"categoryId":"186049f0-0c92-468b-a84d-a1d78ddb494e","category":"BROWS-FACIAL","services":[{"id":"4bd07a0a-ba87-4e61-ad06-b70b1d28fbae","name":"BROW SHAPING","description":"We use hot wax, tweezer, or both.","min":100,"max":130},{"id":"361c2860-ced8-4ba4-9893-40f3b2c363a7","name":"EYEBROW TINT - VEGETABLE DYE","min":80,"max":80},{"id":"78a90436-0627-4bd8-9641-d256af384990","name":"LASH TINT","min":90,"max":90},{"id":"1f00bed7-86b4-4e3f-85cd-91551819a4f4","name":"LASH LIFT","min":150,"max":150},{"id":"5e5fb80a-72b9-464d-9474-fb57e4d92ecd","name":"EAR PIERCING","min":150,"max":150},{"id":"912f1b5b-f04a-437c-8c0b-8865d0ebf450","name":"FALSE LASHES","min":85,"max":85}]},{"categoryId":"c6c09948-f4f9-42a0-a486-585cc495bcb5","category":"WAXING","services":[{"id":"5ddf1a4f-9272-42f5-8d1a-1fbc7e402126","name":"BIKINI WAX","min":70,"max":70},{"id":"7b74334a-fd85-496a-90ef-fc47f3beef7c","name":"BRAZILIAN BIKINI WAX","min":0,"max":0},{"id":"dca93554-c252-42f9-ba51-dba60cd42aad","name":"CHIN WAX","min":48,"max":53},{"id":"5c9fb438-a707-4c1d-a888-b9325a723efe","name":"FULL ARM WAX","min":78,"max":78},{"id":"42a94a4e-f206-4ef1-ae11-db3723c49bb2","name":"FULL LEG WAX","min":110,"max":110},{"id":"0595cbf9-d356-426d-aeef-6f68748d4c82","name":"HALF ARM WAX","min":58,"max":58},{"id":"33282446-5dd8-4bc9-bf82-2211a6c2d494","name":"HALF LEG WAX","min":78,"max":78},{"id":"e7d5a32d-40f9-4f46-961d-e5ac780ddc08","name":"LIP WAX","min":38,"max":43},{"id":"60ee2b9b-0666-4abc-abfa-813391aec1a0","name":"SIDES OF FACE WAX","min":80,"max":80},{"id":"aaae9c5a-c6a1-45b5-a26e-ebdd05f13701","name":"UNDERARM WAX","min":53,"max":53},{"id":"655a74ca-6996-4a8e-8c0e-a1bfa49356fa","name":"NECK WAX","min":55,"max":55},{"id":"a330d72c-fda0-40d3-bc67-e20a2588b175","name":"NOSE WAX","min":50,"max":50}]},{"categoryId":"4a19c047-e216-4d48-aa47-cd4d95f764df","category":"MAKEUP","services":[{"id":"a10ff1a7-a448-45c6-b64b-7133273a4ac4","name":"MAKEUP APPLICATION","min":185,"max":300},{"id":"f7b694cf-8a08-494d-a011-ba0bfa31efe6","name":"MAKEUP LESSON","min":400,"max":400},{"id":"dcca6120-fd37-4b9c-8660-b9cd0dc356e4","name":"MAKEUP WITH LASHES","min":220,"max":350},{"id":"ad3c9572-5a99-45ae-b008-70507ffe4bc0","name":"MAKEUP AIRBRUSH","min":350,"max":350}]},{"categoryId":"34c72927-08c8-4f53-a00c-2f3d6e79b628","category":"NAILS - MANICURE & PEDICURE","services":[{"id":"c722b07f-032a-4c10-8f59-52a4c2b59cf7","name":"CLASSIC MANICURE","min":54,"max":54},{"id":"79f78f86-7200-4f82-8781-6a18ceff1cc6","name":"CLASSIC PEDICURE","min":120,"max":120},{"id":"02fb9b26-cddc-4c13-a33c-a71811afd4de","name":"CLASSIC PEDICURE + MANICURE","min":178,"max":178},{"id":"9351d7b4-4b94-43e9-a070-d04ad40fcaf1","name":"DAZZLE DRY MANICURE","min":68,"max":68},{"id":"12cc0879-f0b8-4251-9a8c-0c07e65a8a9a","name":"DAZZLE DRY PEDICURE","min":135,"max":135}
321,{"id":"3e6e4058-0763-4c2f-a5bb-b85064e8efca","name":"GEL MANICURE ESSIE/SHELLAC","min":85,"max":85},{"id":"0896b46c-2c01-4a10-905c-e124a876d5f1","name":"GEL PEDICURE ESSIE/SHELLAC","min":165,"max":165},{"id":"ee008105-d485-4ff4-87bf-559095e182af","name":"GEL REMOVAL","min":38,"max":38},{"id":"70269e76-3aeb-451c-afce-a7164f19e90e","name":"FRENCH MANICURE","min":64,"max":64},{"id":"1302f7ea-b2eb-46fb-8227-9bbf27a0a56f","name":"FRENCH PEDICURE","min":130,"max":130},{"id":"ac39f232-1c8f-4a65-a116-cda04921e996","name":"POLISH CHANGE NAILS","min":38,"max":38},{"id":"25f9d7d5-9067-4258-9214-a57f149ef197","name":"POLISH CHANGE TOES","min":65,"max":65},{"id":"83de812c-6267-41a3-98fe-fd31c9005771","name":"NAIL BUFF & SHINE","min":11,"max":11}]}]}`),OI={"new-york":JSON.parse(`{"centerId":"c600bf53-3c0b-44f4-9645-7d57f4b7e374","categories":[{"categoryId":"561ce3ee-a632-4d83-bff2-51904b569899","category":"WOMENS HAIRCUTS","services":[{"id":"5e0e7747-1b99-4252-85cc-a260f1961e2e","name":"WOMEN'S HAIRCUT","description":"Blowout included","min":185,"max":400}]},{"categoryId":"c5a6a8b5-a686-4b89-9533-0bbd61dd1ef7","category":"BLOWOUT & STYLING","services":[{"id":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","name":"CLASSIC BLOWOUT-BLOWDRY","min":75,"max":125},{"id":"803642e0-d217-4771-970b-52e33de3ca0e","name":"BLOWOUT & STYLE","description":"Tools with curling or flat iron","min":125,"max":155},{"id":"30d31ecc-4bf5-41e4-9440-bc4690988263","name":"UPDO","min":235,"max":310},{"id":"c4879f51-7ac5-4e02-900b-5be60b79876a","name":"SHAMPOOING + TOWEL DRY","min":40,"max":40}]},{"categoryId":"4cb6f129-35e9-4de7-bc4c-caa79a51a4fc","category":"MENS GROOMING","services":[{"id":"2e249b4a-0642-45b6-8607-79682f1cd4fb","name":"MEN'S HAIRCUT","min":185,"max":400},{"id":"e9c47c62-0560-4949-baa0-4d3f722e4c88","name":"MEN'S BARBER CUT","min":110,"max":275},{"id":"80258426-1397-40c5-953c-c81c79872503","name":"MEN'S KERASTASE TREATMENTS","min":65,"max":65},{"id":"bfc6ce39-8d47-40cc-a0c5-a5eed7d32584","name":"MEN'S HAIR TINT","min":150,"max":150},{"id":"4977afbc-c5fb-4a63-825d-215f38d99a0d","name":"MEN'S HAIR GLOSS","min":150,"max":150}]},{"categoryId":"ecbada1b-17fb-4238-a913-7352cddf8b5f","category":"KIDS & STUDENTS","services":[{"id":"60b5a418-974d-4466-816b-bb4febfcd7ef","name":"KIDS HAIRCUT","description":"For kids 14 & under; Parent must be present; Participated stylists only.","min":130,"max":130},{"id":"51b7bdcd-af4a-48ae-8d89-4203a255202e","name":"STUDENT HAIRCUT","description":"For students (15-21) with valid student ID. Participated stylists only.","min":160,"max":175},{"id":"11617651-0ca7-478f-ae47-2b191785e966","name":"STUDENT HIGHLIGHT","description":"For students (15-21) with valid student ID. Participated stylists only","min":385,"max":385},{"id":"b72769c3-c426-4a4e-b6dd-268e0919fb48","name":"STUDENT BLOWOUT","description":"For students (15-21) with valid student ID. Participated stylists only","min":80,"max":90},{"id":"a40dc664-655e-49a5-bfe9-95b6a6e46060","name":"STUDENT UPDO","description":"For students (15-21) with valid student ID. Participated stylists only","min":160,"max":160}]},{"categoryId":"cc93bb3a-c20c-4b11-a305-b3119368c84f","category":"HAIR COLOR & BALAYAGE","services":[{"id":"8898dfcd-2a18-4887-84d8-89b5374e48a8","name":"SUMMER GLOSS AND GLOW PACKAGE","description":"signature summer shine service includes a gloss, hydrating conditioning treatment and a blowout","min":275,"max":285},{"id":"109ac0a5-9b10-4151-9356-b85a05cb71fd","name":"COLOR HIGHLIGHTS","min":385,"max":670},{"id":"ff3520f6-ef66-4a18-8871-52f5e5b0afad","name":"COLOR HIGHLIGHTS + GLOSS","min":485,"max":730},{"id":"9fbaf2e4-6701-4188-b0ac-f16b56c075a3","name":"COLOR HIGHLIGHTS + ONE PROCESS","min":570,"max":880},{"id":"863f20cd-21a9-4cd7-906e-67cf8ef03622","name":"COLOR HIGHLIGHT FACE FRAME","min":310,"max":350},{"id":"f82e3595-2d9d-4f85-91d8-8811d8f463f4","name":"COLOR HIGHLIGHT FACE FRAME + GLOSS","min":370,"max":420},{"id":"859395c8-b798-45b5-84c2-e4b19e50ff89","name":"COLOR BALAYAGE","min":385,"max":620},{"id":"b328d99a-330e-4f5a-8a5d-e5ccb5f2ef31","name":"COLOR BALAYAGE + GLOSS","min":485,"max":730},{"id":"9a32a4fa-a767-4070-802e-f32466ce774f","name":"COLOR INOA ONE PROCESS","min":210,"max":315},{"id":"7134c9bb-a887-47d9-a6c5-7304fdf6f01d","name":"COLOR INOA ONE PROCESS + GLOSS","min":320,"max":420},{"id":"3c4d2b5b-4b0e-4542-a6e6-ed1585ba0116","name":"COLOR ONE PROCESS (SINGLE PROCESS)","min":185,"max":260},{"id":"aab85a46-95c9-4f36-a13a-f48e0580eb2b","name":"COLOR ONE PROCESS + GLOSS","min":285,"max":370},{"id":"b4373ccb-68d5-4a9f-8393-062e61632016","name":"BASE BREAKER","min":185,"max":210},{"id":"fbd0f48f-f881-4026-a85a-3c1d0793d55f","name":"BASE BREAKER + GLOSS","min":220,"max":320},{"id":"f4154e26-aa40-403b-8802-9c86280ccd40","name":"COLOR DOUBLE PROCESS","min":550,"max":650},{"id":"4fdd9ace-0fdb-4a16-82a3-2215e49f10f0","name":"GLOSS & TONER","min":150,"max":160},{"id":"fb930571-da48-41db-a68c-a0f69112cfed","name":"CORRECTIVE COLOR","min":600,"max":950},{"id":"258d2f22-55cd-4260-9b2b-1883c803a44a","name":"COLOR IN-SALON CONSULTATION","min":0,"max":0}]},{"categoryId":"497abd05-9575-4757-8cfd-bddc91824fae","category":"HAIR SMOOTHING TREATMENTS","services":[{"id":"b0e30ed1-553d-43a3-98d0-bbb8
321ca48d1f7","name":"ORGANIC STRAIGHTENING TREATMENT","description":"This treatment provides a formaldehyde free hair straightening treatment that also works as a hair relaxer too! With top of the line ingredients to help enrich and eliminate frizz your hair. No harmful ingredients or chemicals are in this product. We do suggest if you have color services. The treatment is most effective when applied prior to coloring, as it may occasionally lighten the hue.","min":800,"max":800},{"id":"27388075-98cb-4e6e-9a9b-51b097c57bc8","name":"PROADDICTION TREATMENT","description":"A transformative experience that strengthens and revitalizes your hair, offering healthier and shinier locks for up to 4 months. ProAddiction is a revolutionary system that repairs and rebuilds your hair, infusing it with more strength, structure, and vitality. The treatment consists of a series of products rich in keratin and botanical extracts designed to smooth the hair, reducing frizz and offering incredible shine.","min":0,"max":0},{"id":"2b0c5ac4-69cc-47e7-b84d-01046ae198c6","name":"HAIR BOTOX SMOOTHING TREATMENT","description":"Rejuvenate your hair with our innovative Hair B smoothing treatment designed to restore vitality to hair that has been damaged due to chemical processes, heat styling, or environmental factors. It works by replenishing the proteins and nutrients your hair loses over time, leading to a smoother, more youthful appearance.","min":600,"max":650},{"id":"d053dd56-a2b0-4ca4-8752-6d2fa5d86bae","name":"MAGIC SLEEK TREATMENT","description":"Magic Sleek is the latest in hair straightening advancements. It's truly a revolutionary system for all types of hair, designed for maximum frizz control, incredible shine, and unparalleled smoothness. This treatment can transform even the most unruly and difficult hair, taming frizz and enhancing shine for a sleek, straight finish with results lasting up to 6 months depending on your hair type and maintenance.","min":800,"max":800},{"id":"42fa56da-40d1-464b-b4e7-570f0aad5290","name":"JAPANESE SMOOTHING TREATMENT (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon.","min":1200,"max":1200},{"id":"4136d9ab-1ac3-40c4-bf3d-74e9a753763d","name":"LASIO (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon.","min":700,"max":700},{"id":"40130fcb-921c-4935-97a2-c5fe22ddcf3d","name":"BRAZILIAN BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":700,"max":700},{"id":"5ac73a0c-b4d2-4003-95f6-6443a3285ed1","name":"HAIR STRAIGHTENING-RELAXER-SMOOTHING IN-SALON CONSULTATION","description":"Transform your unruly, curly, or frizzy hair with our Hair Straightening-Relaxer-Smoothing In-Salon Consultation for Organic, Magic Sleek, Japanese, Brazilian, Keratin, Lasio, Proaddiction, Cezanne, or Hair Botox.","min":0,"max":0}]},{"categoryId":"2639237f-ee12-4c0e-af12-9d562ec0704b","category":"HAIR CONDITIONING TREATMENTS","services":[{"id":"8324fd36-03e6-4619-9e13-3473eb5e3074","name":"FRIZZ FIX EXPRESS CONDITIONING TREATMENT","min":75,"max":75},{"id":"b8d612f9-3d93-4fdb-a550-d27ab3e78813","name":"K18 CONDITIONING TREATMENT","min":85,"max":85},{"id":"50cdbede-9c68-4b29-a2d3-fe5dc6b76c30","name":"KERASTASE FUSIO DOSE","min":65,"max":65},{"id":"31089b5a-d483-44cd-9400-ba620917649b","name":"MALIBU HARD WATER WELLNESS TREATMENT","min":85,"max":85},{"id":"cebd6535-c6b2-40c1-ba55-612598bdd8c3","name":"MASQUE HAIR TREATMENT","min":75,"max":75},{"id":"5d9d23e4-6c3f-49f3-83b3-ee3bad49aa6f","name":"MILBON HEADSPA DETOX TREATMENT","min":100,"max":255},{"id":"76e8f9b4-859a-40d1-9ff9-0ecf6cb69f7e","name":"MILBON PROTEIN TREATMENT","min":130,"max":130},{"id":"8003ea55-e813-4b91-8b40-30368cdb949d","name":"MILBON REPAIR TREATMENT","min":130,"max":130},{"id":"5b7808dc-a776-4182-9b1e-bb8fd3eae89c","name":"WT PURE STRENGTH TREATMENT","min":50,"max":50},{"id":"4f4dd240-72f9-4b5d-b2e4-52182538fe72","name":"LOREAL METAL DETOX TREATMENT","min":85,"max":85},{"id":"52b8ca80-1ac2-4bbf-9a2f-8a375efe995e","name":"LOREAL MOLECULAR REPAIR","min":85,"max":85}]},{"categoryId":"aa0797a8-32de-44ae-acda-ccdadc70be6c","category":"HAIR EXTENSIONS","services":[{"id":"e3a2f338-3811-4cc7-8e76-2cf967b6dbd2","name":"HAIR EXTENSIONS BLOWOUT","min":135,"max":180},{"id":"7ec3586d-b7dc-474c-8345-8f85bd823c18","name":"HAIR EXTENSIONS IN-SALON CONSULTATION","de
321scription":"We offer consultation for Tape -in, K-tips, Clip-in, and Weft beaded sew in extensions. ","min":0,"max":0},{"id":"201dbbcf-c880-4f23-b59a-37d207717968","name":"HAIR EXTENSIONS REMOVAL","min":150,"max":350},{"id":"b5c95953-71ca-4ff8-96e8-85b263acbf3c","name":"TAPE IN FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":2000,"max":2500},{"id":"b245fba4-f47b-4f52-85d6-382b481af843","name":"TAPE IN FULL HEAD VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":800,"max":1300},{"id":"cdb2680d-9890-46d5-88cb-69351c7fac06","name":"TAPE IN SIDE VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":600,"max":600},{"id":"d9cddb9a-5986-46d9-ad04-4e4e2f0943e0","name":"FUSION FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":2800,"max":3000},{"id":"bed35214-5fc1-4f44-aecb-f5bbc26d0bb8","name":"FUSION SIDE-SPOT VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":750,"max":750},{"id":"85ca00c0-e55d-49f1-95d2-0a73560f6df2","name":"FUSION VOLUME ONLY (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1500,"max":1500},{"id":"3279e12a-c780-451f-8c32-39c15c6010a5","name":"WEFT BEADED SEW IN (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1500,"max":2000},{"id":"541430e3-d282-4d61-87dd-dda69299c670","name":"WEFT HALF HEAD (BOOK VIA PHONE, TEXT, EMAIL)","de
321scription":"Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon","min":1000,"max":1500},{"id":"320d8623-b50f-4905-b171-4c5a663ed630","name":"CLIP IN + HAIRCUT & BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon","min":600,"max":2000},{"id":"60475637-af0f-476f-bee3-c4f05378c981","name":"CLIP IN APPLICATION + BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":400,"max":1000}]},{"categoryId":"e69ef80d-ec30-41ef-8453-a4a58a8d6f25","category":"BRIDAL","services":[{"id":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","name":"BRIDAL HAIR TRIAL IN SALON","min":500,"max":500},{"id":"49522551-4649-4b14-86a3-e26effb46615","name":"BRIDAL MAKE-UP TRIAL IN SALON","min":500,"max":500}]},{"categoryId":"186049f0-0c92-468b-a84d-a1d78ddb494e","category":"BROWS-FACIAL","services":[{"id":"4bd07a0a-ba87-4e61-ad06-b70b1d28fbae","name":"BROW SHAPING","description":"We use hot wax, tweezer, or both.","min":95,"max":110},{"id":"9be2a675-5ef2-4835-a15d-bdb842ef30e9","name":"BROW LAMINATION","min":120,"max":120},{"id":"1f00bed7-86b4-4e3f-85cd-91551819a4f4","name":"LASH LIFT","min":130,"max":130},{"id":"842aa108-74f1-4d40-9944-ae52b91782a4","name":"BROW LAMINATION + SHAPING","min":160,"max":160},{"id":"4b94ff16-7a75-435e-8b1c-13ee00172f71","name":"BROW LAMINATION + SHAPING + LASH LIFT","min":260,"max":260},{"id":"5c1ea890-b2e5-4f22-8722-2868c6342cf8","name":"BROW LAMINATION + SHAPING + TINT + LASH LIFT","min":290,"max":290},{"id":"f602221e-8dec-42cc-b87f-2c09cc983d20","name":"BROW LAMINATION + SHAPING + TINTING","min":190,"max":190}]},{"categoryId":"c6c09948-f4f9-42a0-a486-585cc495bcb5","category":"WAXING","services":[{"id":"5ddf1a4f-9272-42f5-8d1a-1fbc7e402126","name":"BIKINI WAX","min":78,"max":78},{"id":"7b74334a-fd85-496a-90ef-fc47f3beef7c","name":"BRAZILIAN BIKINI WAX","min":100,"max":100},{"id":"dca93554-c252-42f9-ba51-dba60cd42aad","name":"CHIN WAX","min":48,"max":48},{"id":"b621a2e0-539a-40c7-9664-65998ae6bb67","name":"CHIN WAX WITH ESTHETICIANS","min":48,"max":50},{"id":"5c9fb438-a707-4c1d-a888-b9325a723efe","name":"FULL ARM WAX","min":78,"max":78},{"id":"42a94a4e-f206-4ef1-ae11-db3723c49bb2","name":"FULL LEG WAX","min":110,"max":110},{"id":"0595cbf9-d356-426d-aeef-6f68748d4c82","name":"HALF ARM WAX","min":58,"max":58},{"id":"33282446-5dd8-4bc9-bf82-2211a6c2d494","name":"HALF LEG WAX","min":78,"max":78},{"id":"e7d5a32d-40f9-4f46-961d-e5ac780ddc08","name":"LIP WAX","min":38,"max":48},{"id":"f651b866-db97-4960-a86e-35f7c120c95f","name":"LIP WAX WITH ESTHETICIANS","min":38,"max":39}]},{"categoryId":"4a19c047-e216-4d48-aa47-cd4d95f764df","category":"MAKEUP","services":[{"id":"a10ff1a7-a448-45c6-b64b-7133273a4ac4","name":"MAKEUP APPLICATION","min":160,"max":197},{"id":"dcca6120-fd37-4b9c-8660-b9cd0dc356e4","name":"MAKEUP WITH LASHES","min":208,"max":242}]},{"categoryId":"34c72927-08c8-4f53-a00c-2f3d6e79b628","category":"NAILS - MANICURE & PEDICURE","services":[{"id":"c722b07f-032a-4c10-8f59-52a4c2b59cf7","name":"CLASSIC MANICURE","min":45,"max":54},{"id":"79f78f86-7200-4f82-8781-6a18ceff1cc6","name":"CLASSIC PEDICURE","min":90,"max":120},{"id":"02fb9b26-cddc-4c13-a33c-a71811afd4de","name":"CLASSIC PEDICURE + MANICURE","min":174,"max":174},{"id":"9351d7b4-4b94-43e9-a070-d04ad40fcaf1","name":"DAZZLE DRY MANICURE","min":68,"max":68}
321,{"id":"12cc0879-f0b8-4251-9a8c-0c07e65a8a9a","name":"DAZZLE DRY PEDICURE","min":135,"max":135},{"id":"3e6e4058-0763-4c2f-a5bb-b85064e8efca","name":"GEL MANICURE ESSIE/SHELLAC","min":103,"max":103},{"id":"0896b46c-2c01-4a10-905c-e124a876d5f1","name":"GEL PEDICURE ESSIE/SHELLAC","min":165,"max":165},{"id":"ee008105-d485-4ff4-87bf-559095e182af","name":"GEL REMOVAL","min":38,"max":38},{"id":"70269e76-3aeb-451c-afce-a7164f19e90e","name":"FRENCH MANICURE","min":64,"max":64},{"id":"1302f7ea-b2eb-46fb-8227-9bbf27a0a56f","name":"FRENCH PEDICURE","min":130,"max":130},{"id":"ac39f232-1c8f-4a65-a116-cda04921e996","name":"POLISH CHANGE NAILS","min":38,"max":38},{"id":"25f9d7d5-9067-4258-9214-a57f149ef197","name":"POLISH CHANGE TOES","min":65,"max":65},{"id":"83de812c-6267-41a3-98fe-fd31c9005771","name":"NAIL BUFF & SHINE","min":11,"max":11},{"id":"ed71c2cd-4170-4547-8f5a-618a0a9144c2","name":"MEDICAL PEDICURE","min":150,"max":150},{"id":"7ef9b809-f82f-4918-829a-f378f3c4313f","name":"PARAFFIN","min":21,"max":21},{"id":"f2ee3ddc-265a-4102-9a2c-bffa6493c188","name":"REFLEXOLOGY 15 MIN","description":"Revitalize your body and mind with our efficient 15-minute Reflexology session at Warren Tricomi. This quick yet potent treatment targets specific pressure points, providing rapid relief from daily tension and stress. Our reflexologists use expert techniques to stimulate these points, promoting balance, relieving tension, improving circulation, and offering relaxation.","min":50,"max":50},{"id":"630423f3-c621-4323-bdb8-da8787a0e5c5","name":"REFLEXOLOGY 30 MIN","description":"Experience enhanced relaxation and revitalization with our 30-minute Reflexology session at Warren Tricomi. This immersive therapy targets specific reflex points to alleviate stress and promote overall wellness in just half an hour.","min":80,"max":80},{"id":"9f3f9afe-9a42-4826-9363-24e0bdd697f7","name":"REFLEXOLOGY 60 MIN","description":"ndulge in an hour of pure relaxation and revitalization with our 60-minute Reflexology session at Warren Tricomi. This extended therapy session delivers profound relief and promotes wellness by targeting specific reflex points throughout your body","min":160,"max":160}]}]}`),"sag-harbor":JSON.parse(`{"centerId":"350c8e37-0c0e-4a5f-a49b-b3eb0ef6e452","categories":[{"categoryId":"561ce3ee-a632-4d83-bff2-51904b569899","category":"WOMENS HAIRCUTS","services":[{"id":"5e0e7747-1b99-4252-85cc-a260f1961e2e","name":"WOMEN'S HAIRCUT","description":"Blowout included","min":185,"max":310}]},{"categoryId":"c5a6a8b5-a686-4b89-9533-0bbd61dd1ef7","category":"BLOWOUT & STYLING","services":[{"id":"af8ab76a-854f-4c85-8aa3-ffbd5ff5ed53","name":"CLASSIC BLOWOUT-BLOWDRY","min":100,"max":125},{"id":"803642e0-d217-4771-970b-52e33de3ca0e","name":"BLOWOUT & STYLE","description":"Tools with curling or flat iron","min":130,"max":135},{"id":"30d31ecc-4bf5-41e4-9440-bc4690988263","name":"UPDO","min":235,"max":260},{"id":"c4879f51-7ac5-4e02-900b-5be60b79876a","name":"SHAMPOOING + TOWEL DRY","min":40,"max":40}]},{"categoryId":"4cb6f129-35e9-4de7-bc4c-caa79a51a4fc","category":"MENS GROOMING","services":[{"id":"2e249b4a-0642-45b6-8607-79682f1cd4fb","name":"MEN'S HAIRCUT","min":185,"max":310},{"id":"e9c47c62-0560-4949-baa0-4d3f722e4c88","name":"MEN'S BARBER CUT","min":110,"max":170},{"id":"80258426-1397-40c5-953c-c81c79872503","name":"MEN'S KERASTASE TREATMENTS","min":65,"max":65},{"id":"bfc6ce39-8d47-40cc-a0c5-a5eed7d32584","name":"MEN'S HAIR TINT","min":150,"max":150},{"id":"4977afbc-c5fb-4a63-825d-215f38d99a0d","name":"MEN'S HAIR GLOSS","min":150,"max":150}]},{"categoryId":"ecbada1b-17fb-4238-a913-7352cddf8b5f","category":"KIDS & STUDENTS","services":[{"id":"60b5a418-974d-4466-816b-bb4febfcd7ef","name":"KIDS HAIRCUT","description":"For kids 14 & under; Parent must be present; Participated stylists only.","min":130,"max":130},{"id":"51b7bdcd-af4a-48ae-8d89-4203a255202e","name":"STUDENT HAIRCUT","description":"For students (15-21) with valid student ID. Participated stylists only.","min":160,"max":160},{"id":"11617651-0ca7-478f-ae47-2b191785e966","name":"STUDENT HIGHLIGHT","description":"For students (15-21) with valid student ID. Participated stylists only","min":385,"max":385},{"id":"b72769c3-c426-4a4e-b6dd-268e0919fb48","name":"STUDENT BLOWOUT","description":"For students (15-21) with valid student ID. Participated stylists only","min":80,"max":90},{"id":"a40dc664-655e-49a5-bfe9-95b6a6e46060","name":"STUDENT UPDO","description":"For students (15-21) with valid student ID. Participated stylists only","min":160,"max":160}]},{"categoryId":"cc93bb3a-c20c-4b11-a305-b3119368c84f","category":"HAIR COLOR & BALAYAGE","services":[{"id":"8898dfcd-2a18-4887-84d8-89b5374e48a8","name":"SUMMER GLOSS AND GLOW PACKAGE","description":"signature summer shine service includes a gloss, hydrating conditioning treatment and a blowout","min":275,"max":275}
321,{"id":"109ac0a5-9b10-4151-9356-b85a05cb71fd","name":"COLOR HIGHLIGHTS","min":385,"max":670},{"id":"ff3520f6-ef66-4a18-8871-52f5e5b0afad","name":"COLOR HIGHLIGHTS + GLOSS","min":495,"max":720},{"id":"863f20cd-21a9-4cd7-906e-67cf8ef03622","name":"COLOR HIGHLIGHT FACE FRAME","min":265,"max":310},{"id":"f82e3595-2d9d-4f85-91d8-8811d8f463f4","name":"COLOR HIGHLIGHT FACE FRAME + GLOSS","min":375,"max":420},{"id":"859395c8-b798-45b5-84c2-e4b19e50ff89","name":"COLOR BALAYAGE","min":385,"max":560},{"id":"b328d99a-330e-4f5a-8a5d-e5ccb5f2ef31","name":"COLOR BALAYAGE + GLOSS","min":495,"max":670},{"id":"9a32a4fa-a767-4070-802e-f32466ce774f","name":"COLOR INOA ONE PROCESS","min":235,"max":310},{"id":"7134c9bb-a887-47d9-a6c5-7304fdf6f01d","name":"COLOR INOA ONE PROCESS + GLOSS","min":345,"max":420},{"id":"3c4d2b5b-4b0e-4542-a6e6-ed1585ba0116","name":"COLOR ONE PROCESS (SINGLE PROCESS)","min":185,"max":260},{"id":"aab85a46-95c9-4f36-a13a-f48e0580eb2b","name":"COLOR ONE PROCESS + GLOSS","min":295,"max":370},{"id":"b4373ccb-68d5-4a9f-8393-062e61632016","name":"BASE BREAKER","min":185,"max":185},{"id":"fbd0f48f-f881-4026-a85a-3c1d0793d55f","name":"BASE BREAKER + GLOSS","min":295,"max":295},{"id":"4fdd9ace-0fdb-4a16-82a3-2215e49f10f0","name":"GLOSS & TONER","min":150,"max":150},{"id":"fb930571-da48-41db-a68c-a0f69112cfed","name":"CORRECTIVE COLOR","min":600,"max":700},{"id":"258d2f22-55cd-4260-9b2b-1883c803a44a","name":"COLOR IN-SALON CONSULTATION","min":0,"max":0}]},{"categoryId":"497abd05-9575-4757-8cfd-bddc91824fae","category":"HAIR SMOOTHING TREATMENTS","services":[{"id":"b0e30ed1-553d-43a3-98d0-bbb8ca48d1f7","name":"ORGANIC STRAIGHTENING TREATMENT","description":"This treatment provides a formaldehyde free hair straightening treatment that also works as a hair relaxer too! With top of the line ingredients to help enrich and eliminate frizz your hair. No harmful ingredients or chemicals are in this product. We do suggest if you have color services. The treatment is most effective when applied prior to coloring, as it may occasionally lighten the hue.","min":800,"max":800},{"id":"40130fcb-921c-4935-97a2-c5fe22ddcf3d","name":"BRAZILIAN BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":"Please Note: 50% deposit is required to book this service. The service can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":700,"max":700},{"id":"5ac73a0c-b4d2-4003-95f6-6443a3285ed1","name":"HAIR STRAIGHTENING-RELAXER-SMOOTHING IN-SALON CONSULTATION","description":"Transform your unruly, curly, or frizzy hair with our Hair Straightening-Relaxer-Smoothing In-Salon Consultation for Organic, Magic Sleek, Japanese, Brazilian, Keratin, Lasio, Proaddiction, Cezanne, or Hair Botox.","min":0,"max":0}]},{"categoryId":"2639237f-ee12-4c0e-af12-9d562ec0704b","category":"HAIR CONDITIONING TREATMENTS","services":[{"id":"b8d612f9-3d93-4fdb-a550-d27ab3e78813","name":"K18 CONDITIONING TREATMENT","min":85,"max":85},{"id":"50cdbede-9c68-4b29-a2d3-fe5dc6b76c30","name":"KERASTASE FUSIO DOSE","min":65,"max":65},{"id":"31089b5a-d483-44cd-9400-ba620917649b","name":"MALIBU HARD WATER WELLNESS TREATMENT","min":85,"max":85},{"id":"cebd6535-c6b2-40c1-ba55-612598bdd8c3","name":"MASQUE HAIR TREATMENT","min":75,"max":75},{"id":"76e8f9b4-859a-40d1-9ff9-0ecf6cb69f7e","name":"MILBON PROTEIN TREATMENT","min":130,"max":130},{"id":"8003ea55-e813-4b91-8b40-30368cdb949d","name":"MILBON REPAIR TREATMENT","min":130,"max":130},{"id":"5b7808dc-a776-4182-9b1e-bb8fd3eae89c","name":"WT PURE STRENGTH TREATMENT","min":50,"max":50},{"id":"4f4dd240-72f9-4b5d-b2e4-52182538fe72","name":"LOREAL METAL DETOX TREATMENT","min":85,"max":85},{"id":"52b8ca80-1ac2-4bbf-9a2f-8a375efe995e","name":"LOREAL MOLECULAR REPAIR","min":85,"max":85}]},{"categoryId":"aa0797a8-32de-44ae-acda-ccdadc70be6c","category":"HAIR EXTENSIONS","services":[{"id":"e3a2f338-3811-4cc7-8e76-2cf967b6dbd2","name":"HAIR EXTENSIONS BLOWOUT","min":150,"max":155},{"id":"7ec3586d-b7dc-474c-8345-8f85bd823c18","name":"HAIR EXTENSIONS IN-SALON CONSULTATION","de
321scription":"We offer consultation for Tape -in, K-tips, Clip-in, and Weft beaded sew in extensions. ","min":0,"max":0},{"id":"201dbbcf-c880-4f23-b59a-37d207717968","name":"HAIR EXTENSIONS REMOVAL","min":150,"max":150},{"id":"b5c95953-71ca-4ff8-96e8-85b263acbf3c","name":"TAPE IN FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":2500,"max":2500},{"id":"b245fba4-f47b-4f52-85d6-382b481af843","name":"TAPE IN FULL HEAD VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1300,"max":1300},{"id":"cdb2680d-9890-46d5-88cb-69351c7fac06","name":"TAPE IN SIDE VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":600,"max":600},{"id":"d9cddb9a-5986-46d9-ad04-4e4e2f0943e0","name":"FUSION FULL HEAD LENGTH & VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":2800,"max":2800},{"id":"bed35214-5fc1-4f44-aecb-f5bbc26d0bb8","name":"FUSION SIDE-SPOT VOLUME (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":750,"max":750},{"id":"85ca00c0-e55d-49f1-95d2-0a73560f6df2","name":"FUSION VOLUME ONLY (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1500,"max":1500},{"id":"3279e12a-c780-451f-8c32-39c15c6010a5","name":"WEFT BEADED SEW IN (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":1500,"max":1500},{"id":"320d8623-b50f-4905-b171-4c5a663ed630","name":"CLIP IN + HAIRCUT & BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","de
321scription":"Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon or 203-863-9300 for Greenwich Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon","min":600,"max":600},{"id":"60475637-af0f-476f-bee3-c4f05378c981","name":"CLIP IN APPLICATION + BLOWOUT (BOOK VIA PHONE, TEXT, EMAIL)","description":" Please Note: pricing and appointment duration may be more or less than listed. 50% deposit is required to book this service and can only be booked by calling/texting the salons directly at 212-262-8899 for NYC Salon, 203-863-9300 for Greenwich Salon, or 631-324-3036 for Sag Harbor Salon; Or email [email protected] for NYC Salon or [email protected] for Greenwich Salon, or [email protected] for Sag Harbor Salon.","min":400,"max":400},{"id":"0d44a0d6-60ad-40dd-9187-63da00d9e3a8","name":"TINSEL HAIR EXTENSIONS","min":100,"max":100}]},{"categoryId":"e69ef80d-ec30-41ef-8453-a4a58a8d6f25","category":"BRIDAL","services":[{"id":"7f0dc772-c675-41ba-b749-59fcaef4fd5e","name":"BRIDAL HAIR TRIAL IN SALON","min":500,"max":500},{"id":"49522551-4649-4b14-86a3-e26effb46615","name":"BRIDAL MAKE-UP TRIAL IN SALON","min":500,"max":500}]},{"categoryId":"186049f0-0c92-468b-a84d-a1d78ddb494e","category":"BROWS-FACIAL","services":[{"id":"4bd07a0a-ba87-4e61-ad06-b70b1d28fbae","name":"BROW SHAPING","description":"We use hot wax, tweezer, or both.","min":0,"max":0}]},{"categoryId":"4a19c047-e216-4d48-aa47-cd4d95f764df","category":"MAKEUP","services":[{"id":"a10ff1a7-a448-45c6-b64b-7133273a4ac4","name":"MAKEUP APPLICATION","min":180,"max":185},{"id":"dcca6120-fd37-4b9c-8660-b9cd0dc356e4","name":"MAKEUP WITH LASHES","min":208,"max":208},{"id":"ad3c9572-5a99-45ae-b008-70507ffe4bc0","name":"MAKEUP AIRBRUSH","min":415,"max":415}]}]}`),greenwich:kI},pw="https://warrentricomi.zenoti.com/webstoreNew",TI=OI,fw=e=>e.trim().replace(/\s+/g," ").toLocaleUpperCase("en-US");function CI(e,a){const r=TI[e],s=fw(a),l=r.categories.flatMap(d=>d.services).find(d=>fw(d.name)===s);return l?`${pw}/${r.centerId}?serviceid=${l.id}`:`${pw}/services/${r.centerId}`}const Vc=["New York","Greenwich","Sag Harbor"],lf=new Intl.Collator("en",{sensitivity:"base",numeric:!0}),mw=new Map(Vc.map((e,a)=>[e,a]));function S2(e){return[...e].sort((a,r)=>{const s=lf.compare(a.name,r.name);return s!==0?s:lf.compare(a.slug,r.slug)})}function RI(e){return[...e].sort((a,r)=>{const s=mw.get(a.location)??Vc.length,l=mw.get(r.location)??Vc.length,d=s-l;if(d!==0)return d;const u=lf.compare(a.location,r.location);return u!==0?u:S2([a,r])[0]===a?-1:1})}const jI="(BOOK VIA PHONE, TEXT, EMAIL)";function PI(e){return e.toUpperCase().includes(jI)}function II(){return o.jsxs(o.Fragment,{children:[o.jsx(As,{"data-loc":"client/src/pages/SitePages.tsx:27",image:_t.generatedInterior,eyebrow:"Warren Tricomi Locations",title:"Three salons. One unmistakable standard.",copy:"NYC precision, Greenwich ease, and Hamptons calmâeach with its own sense of place.",align:"center",children:o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:27",href:"#salons",dark:!0,children:"Explore the salons"})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:27",id:"salons",className:"editorial-section",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:27",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:27",eyebrow:"All Locations",title:"Choose your Warren Tricomi",copy:"Select a salon to view its artists, contact details, hours, and signature services."}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:27",className:"location-list",children:Fr.map(e=>o.jsx(nT,{"data-loc":"client/src/pages/SitePages.tsx:27",location:e},e.slug))}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:27",className:"future-location-index",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:27",className:"eyebrow",children:"Future Locations"}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:27",children:OS.map(e=>o.jsxs(xe,{"data-loc":"client/src/pages/SitePages.tsx:27",href:`/locations/${e.slug}`,children:[o.jsx("strong",{"data-loc":"client/src/pages/SitePages.tsx:27",children:e.name}),o.jsx("small",{"data-loc":"client/src/pages/SitePages.tsx:27",children:"Coming Soon"}),o.jsx(st,{"data-loc":"client/src/pages/SitePages.tsx:27"})]},e.slug))})]})]})})]})}function MI({location:e}){const a=`https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(e.address)}&destination_place_id=${encodeURIComponent(e.googleMapsPlaceId)}`;return o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:32",className:"location-directions",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:32",className:"content-wrap location-directions__inner",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:32",className:"location-directions__copy",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:32",className:"eyebrow",children:"Getting Here"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:32",children:"Plan your visit."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:32",children:e.address}),o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:32",href:a,target:"_blank",rel:"noreferrer",children:["Get directions ",o.jsx(st,{"data-loc":"client/src/pages/SitePages.tsx:32"})]})]}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:32",className:"location-map",role:"group","aria-label":`Interactive map for Warren Tr
321icomi ${e.shortName}`,children:o.jsx(HP,{"data-loc":"client/src/pages/SitePages.tsx:32",className:"location-map__canvas",initialCenter:e.mapCoordinates,initialZoom:17,options:{disableDefaultUI:!0,zoomControl:!0,gestureHandling:"cooperative"},onMapReady:r=>{new google.maps.marker.AdvancedMarkerElement({map:r,position:e.mapCoordinates,title:`Warren Tricomi ${e.shortName}`})}},e.slug)})]})})}function LI({slug:e}){const a=Fr.find(l=>l.slug===e)||Fr[0],r=Bf(a),s=Gc.find(l=>l.slug===a.slug)?.desktopLabel||a.shortName;return o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:`location-detail-hero location-detail-hero--${a.slug}`,children:o.jsx(As,{"data-loc":"client/src/pages/SitePages.tsx:39",image:a.image,eyebrow:a.eyebrow,title:s,copy:a.description,children:o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:39",href:a.bookingUrl,dark:!0,external:!0,children:"Book this salon"})})}),o.jsx(rT,{"data-loc":"client/src/pages/SitePages.tsx:39",active:a.slug}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-mobile-book",children:o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:39",href:a.bookingUrl,dark:!0,external:!0,children:"Book this salon"})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"editorial-section location-about",children:o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"content-wrap",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-overview",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-overview__story",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"eyebrow",children:"About this location"}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:39",children:a.description})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-details",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:39",children:"Address"}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:39",children:a.address})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-contact",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:39",children:"Text or call"}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-contact__phone-actions",children:[o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:39",href:r.textHref,"aria-label":`Text the ${a.shortName} salon`,children:"Text"}),o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:39",href:r.callHref,"aria-label":`Call the ${a.shortName} salon`,children:a.phone})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:39",children:"Email"}),o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:39",href:r.emailHref,children:a.email})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:39",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:39",children:"Hours"}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:39",className:"location-hours",children:a.hours.map(l=>{const[d,u]=l.split(" · ");return o.jsxs("p",{"data-loc":"client/src/pages/SitePages.tsx:39",children:[o.jsx("b",{"data-loc":"client/src/pages/SitePages.tsx:39",children:d}),o.jsx("strong",{"data-loc":"client/src/pages/SitePages.tsx:39",children:u})]},l)})})]})]})]})})}),o.jsx(MI,{"data-loc":"client/src/pages/SitePages.tsx:39",location:a})]})}function gw({slug:e}){const a=OS.find(r=>r.slug===e);return a?o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:45",className:`coming-soon-location coming-soon-location--${a.slug}`,children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:45",className:"coming-soon-location__copy",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:45",className:"eyebrow",children:a.eyebrow}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:45",children:a.name}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:45",children:a.description}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:45",className:"coming-soon-location__actions",children:[o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:45",href:"/locations",children:"Explore current locations"}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:45",href:Df,external:!0,children:"Book a current salon"})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:45",className:"coming-soon-location__field","aria-hidden":"true",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:45",children:"Future destination"}),o.jsx("i",{"data-loc":"client/src/pages/SitePages.tsx:45"})]})]}):o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:44",className:"service-detail-missing",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:44",className:"eyebrow",children:"Location not found"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:44",children:"Explore our current salons."}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:44",href:"/locations",children:"View all locations"})]})}function _I(){const[e,a]=w.useState("new-york"),r=Fr.find(d=>d.slug===e)??Fr[0],s=Bf(r),l=NI[e];return o.jsxs(o.Fragment,{children:[o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"interior-intro",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:53",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"eyebrow",children:"Our Services"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:53",children:"Signature Services, Thoughtfully Curated."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:53",children:"Select a location to view services, published pricing, and the correct way to reserve."})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-location-select",children:[o.jsx(Lf,{"data-loc":"client/src/pages/SitePages.tsx:53"}),o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:53",children:"Select location"}),Fr.map(d=>o.jsx("button",{"data-loc":"client/src/pages/SitePages.tsx:53",type:"button",onClick:()=>a(d.slug),className:e===d.slug?"active":"",children:d.shortName},d.slug))]})]}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-feature",children:[o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-feature__image",children:o.jsx("img",{"data-loc":"client/src/pages/SitePages.tsx:53",src:_t.serviceCut,alt:"Precision haircut service"})}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-feature__copy",children:[o.jsxs("span",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"eyebrow",children:["Now viewing · ",r.shortName]}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:53",children:"The art of considered beauty."}),o.jsxs("p",{"data-loc":"client/src/pages/SitePages.tsx:53",children:["Every service starts with a conversation. Select a service below to book online or contact ",r.shortName," directly when personal coordination is required."]}),o.jsxs(ot,{"data-loc":"client/src/pages/SitePages.tsx:53",href:r.bookingUrl,dark:!0,external:!0,children:["Browse ",r.shortName]})]})]}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:53",id:"service-menu",className:"editorial-section editorial-section--paper",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"content-wrap service-catalog",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-catalog__head",children:[o.jsxs("span",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"eyebrow",children:[r.shortName," service menu"]}),o.jsxs("p",{"data-loc":"client/src/pages/SitePages.tsx:53",children:[l.length," categories · Updated from current online booking"]})]}),l.map(d=>o.jsxs("details",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-catalog__category",children:[o.jsxs("summary",{"data-loc":"client/src/pages/SitePages.tsx:53",children:[o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:53",children:d.title}),o.jsxs("small",{"data-loc":"client/src/pages/SitePages.tsx:53",children:[d.services.length," ",d.services.length===1?"service":"services"]}),o.jsx(_o,{"data-loc":"client/src/pages/SitePages.tsx:53","aria-hidden":"true"})]}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:53",className:"service-catalog__services",children:d.services.map(u=>{const p=o.jsxs(o.Fragment,{children:[o.jsxs("span",{"data-loc":"client/src/pages/SitePages.tsx:54",children:[o.jsx("strong",{"data-loc":"client/src/pages/SitePages.tsx:54",children:u.name}),u.description&&o.jsx("small",{"data-loc":"client/src/pages/SitePages.tsx:54",children:u.description})]}),o.jsx("b",{"data-loc":"client/src/pages/SitePages.tsx:54",children:u.price})]});return PI(u.name)?o.jsxs("article",{"data-loc":"client/src/pages/SitePages.tsx:55",className:"service-catalog__service service-catalog__service--contact",children:[p,o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:55",className:"service-catalog__contact-actions","aria-label":`Contact ${r.shortName} to book ${u.name}`,children:[o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:55",href:s.textHref,"aria-label":`Text ${r.shortName} about ${u.name}`,children:"Text"}),o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:55",href:s.callHref,"aria-label":`Call ${r.shortName} about ${u.name}`,children:r.phone}),o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:55",href:s.emailHref,"aria-label":`Email ${r.shortName} about ${u.name}`,children:r.email})]})]},`${d.slug}-${u.name}`):o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:56",className:"service-catalog__service",href:CI(e,u.name),target:"_blank",rel:"noreferrer","aria-label":`Book ${u.name} at ${r.shortName}`,children:[p,o.jsx(st,{"data-loc":"client/src/pages/SitePages.tsx:56","aria-hidden":"true"})]},`${d.slug}-${u.name}`)})})]},`${e}-${d.slug}`))]})}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:57",className:"service-note",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:57",className:"eyebrow",children:"The Warren Tr
321icomi Difference"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:57",children:"Precision is personal."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:57",children:"Published prices are the current online-booking ranges and may vary by artist. Your consultation aligns technique, maintenance, timing, and investment before the service begins."})]})]})}function HI({slug:e}){const a=TS.find(r=>r.slug===e);return a?o.jsxs(o.Fragment,{children:[o.jsx(As,{"data-loc":"client/src/pages/SitePages.tsx:63",image:a.image,eyebrow:a.eyebrow,title:a.title,copy:a.description,children:o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:63",href:"/services#service-menu",dark:!0,children:"Choose salon & service"})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"editorial-section",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"content-wrap service-detail",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:63",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"eyebrow",children:"The Experience"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:63",children:"Designed around you."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:63",children:a.introduction}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"service-detail__actions",children:[o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:63",href:"/artists",children:"Find Your Artist"}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:63",href:"/expert-match",dark:!0,children:"Expert Match"})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"service-detail__menu",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"eyebrow",children:"Services may include"}),a.items.map(r=>o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:63",children:r},r))]})]})}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"service-note",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:63",className:"eyebrow",children:"Consultation first"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:63",children:"Precision is personal."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:63",children:"Availability and pricing vary by artist and location. Your consultation aligns technique, maintenance, timing, and investment before the service begins."})]})]}):o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:62",className:"service-detail-missing",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:62",className:"eyebrow",children:"Service not found"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:62",children:"Explore our complete service menu."}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:62",href:"/services",children:"View all services"})]})}function zI(){const[e,a]=w.useState(""),[r,s]=w.useState("All"),[l,d]=w.useState("All"),u=["All",...Vc],p=["Stylist","Colorist","Stylist + Colorist","Makeup","Nails & Brows"],m=y=>{const S=Array.from(new Set((y.locations??[y.location]).flatMap(E=>zf(y,E))));return S.includes("Stylist")&&S.includes("Colorist")?"Stylist + Colorist":S.includes("Colorist")?"Colorist":S.includes("Makeup & Beauty")?"Makeup":S.includes("Nails & Brows")?"Nails & Brows":"Stylist"},g=w.useMemo(()=>{const y=new Set(Co.filter(S=>r==="All"||Bp(S,r)).map(m));return["All",...p.filter(S=>y.has(S))]},[r]),v=w.useMemo(()=>{const y=Co.filter(S=>(r==="All"||Bp(S,r))&&(l==="All"||m(S)===l)&&`${S.name} ${S.role} ${S.specialties.join(" ")}`.toLowerCase().includes(e.toLowerCase()));return r==="All"?RI(y):S2(y)},[e,r,l]);return o.jsxs(o.Fragment,{children:[o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-discovery",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-filters",children:[o.jsxs("label",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-search",children:[o.jsx(gs,{"data-loc":"client/src/pages/SitePages.tsx:92","aria-hidden":"true"}),o.jsx("input",{"data-loc":"client/src/pages/SitePages.tsx:92","aria-label":"Search artists",value:e,onCh
321ange:y=>a(y.target.value),placeholder:`Search all ${Co.length} artists`})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-filter-control",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:92",children:"Location"}),o.jsxs(lw,{"data-loc":"client/src/pages/SitePages.tsx:92",value:r,onValueChange:y=>{s(y),d("All")},children:[o.jsx(dw,{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-select-trigger","aria-label":"Filter artists by location",children:o.jsx(cw,{"data-loc":"client/src/pages/SitePages.tsx:92"})}),o.jsx(uw,{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-select-content",align:"start",sideOffset:4,children:u.map(y=>o.jsx(hw,{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-select-item",value:y,children:y==="All"?"All Locations":qc(y)},y))})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-filter-control",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:92",children:"Artists"}),o.jsxs(lw,{"data-loc":"client/src/pages/SitePages.tsx:92",value:l,onValueChange:d,children:[o.jsx(dw,{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-select-trigger","aria-label":"Filter artists by specialty",children:o.jsx(cw,{"data-loc":"client/src/pages/SitePages.tsx:92"})}),o.jsx(uw,{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-select-content",align:"start",sideOffset:4,children:g.map(y=>o.jsx(hw,{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-select-item",value:y,children:y==="All"?"All Artists":y},y))})]})]})]}),o.jsx(RS,{"data-loc":"client/src/pages/SitePages.tsx:92",compact:!0})]}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"editorial-section artist-directory-section",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"directory-count",children:[o.jsx(Lf,{"data-loc":"client/src/pages/SitePages.tsx:92"}),o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:92",children:r==="All"?"All locations":qc(r)}),o.jsxs("b",{"data-loc":"client/src/pages/SitePages.tsx:92",children:["· ",v.length," artists"]})]}),v.length?o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"artist-grid artist-grid--directory",children:v.map(y=>o.jsx(sT,{"data-loc":"client/src/pages/SitePages.tsx:92",artist:y},y.slug))}):o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:92",className:"empty-state",children:[o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:92",children:"No exact match yet."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:92",children:"Try another specialty or start Expert Match."}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:92",href:"/expert-match",children:"Start Expert Match"})]})]})})]})}function DI({slug:e}){const a=Co.find(s=>s.slug===e);if(!a)return o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:97",className:"service-detail-missing",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:97",className:"eyebrow",children:"Artist unavailable"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:97",children:"Explore our current artist directory."}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:97",href:"/artists",children:"View all artists"})]});const r=hd(a);return o.jsxs(o.Fragment,{children:[o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-page",children:[o.jsx(xe,{"data-loc":"client/src/pages/SitePages.tsx:99",href:"/artists",className:"back-link",children:"â All artists"}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-grid",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-photo",children:[o.jsx(Uf,{"data-loc":"client/src/pages/SitePages.tsx:99",artist:a,className:"artist-portrait--profile"}),o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:99",children:r})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-copy",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"eyebrow",children:"Warren Tr
321icomi Artist"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:99",children:a.name}),o.jsxs("p",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-role",children:[a.role," ",o.jsx("b",{"data-loc":"client/src/pages/SitePages.tsx:99",children:"â¢"})," ",r]}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-specialties",children:pd(a).map(s=>o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:99",children:s},s))}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:99",children:_O(a)}),a.instagram&&o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-social",href:`https://instagram.com/${a.instagram}`,target:"_blank",rel:"noreferrer",children:[o.jsx(Mf,{"data-loc":"client/src/pages/SitePages.tsx:99"})," @",a.instagram]}),o.jsx(oT,{"data-loc":"client/src/pages/SitePages.tsx:99",artist:a})]})]})]}),a.journalSlug&&o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"profile-journal editorial-section editorial-section--paper",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:99",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:99",eyebrow:"From the Journal",title:`Inside ${a.name}âs point of view`}),o.jsx(Ho,{"data-loc":"client/src/pages/SitePages.tsx:99",story:os.find(s=>s.slug===a.journalSlug)||os[0],featured:!0})]})}),o.jsx(RS,{"data-loc":"client/src/pages/SitePages.tsx:99",profile:!0})]})}function BI(){return o.jsxs(o.Fragment,{children:[o.jsx(As,{"data-loc":"client/src/pages/SitePages.tsx:103",image:_t.bridal,eyebrow:"Warren Tricomi Bridal",title:"Beauty that feels unmistakably yours.",copy:"Timeless hair and makeup, shaped around the person, the dress, the place, and the emotion of the day.",children:o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:103",href:"/contact",dark:!0,children:"Begin your consultation"})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"editorial-section",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:103",eyebrow:"The Bridal Experience",title:"Composed from first conversation to final touch",copy:"A personal process designed to remove uncertainty and make the beauty experience feel as considered as the celebration itself."}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"process-grid",children:[["Consultation","We begin with your vision, wedding setting, references, dress, and the way you want to feel."],["Trial","Hair and makeup are refined in advanceâshape, texture, finish, longevity, and every small detail."],["Your Day","Choose in-salon or At-Home service for you and your bridal party."]].map(([e,a])=>o.jsxs("article",{"data-loc":"client/src/pages/SitePages.tsx:103",children:[o.jsx("h3",{"data-loc":"client/src/pages/SitePages.tsx:103",children:e}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:103",children:a})]},e))})]})}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"bridal-modes",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:103",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"eyebrow",children:"In Salon"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:103",children:"A calm beginning."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:103",children:"Prepare in a private, polished environment with your artists and bridal party close at hand."})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:103",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"eyebrow",children:at.formalName}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:103",children:"Beauty comes to you."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:103",children:"Our team travels to your residence, hotel, bridal suite, venue, or preferred setting for seamless service designed around your schedule."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"service-note",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:103",className:"eyebrow",children:"The Warren Tr
321icomi Difference"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:103",children:"Decades of editorial expertise. One deeply personal moment."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:103",children:"Our artists balance timelessness with modern technique, creating looks that hold beautifully in person, in movement, and in photographs."}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:103",href:"/contact",children:"Plan your bridal experience"})]})]})}function UI(){return o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:108",className:"private-services-page",children:[o.jsx(As,{"data-loc":"client/src/pages/SitePages.tsx:109",image:_t.atHome,eyebrow:at.formalName,title:"Artistry, wherever you are.",copy:"Hair, styling, grooming, and makeupâbrought to your residence, hotel, bridal suite, or venue.",children:o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:115",href:at.inquiryHref,dark:!0,children:"Request an At-Home appointment"})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:118",className:"editorial-section private-services-overview",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:119",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:120",eyebrow:"At-Home",title:"The salon, brought to you.",copy:"A considered At-Home appointment, planned around your setting, schedule, and occasion."}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:125",className:"private-services-availability",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:126",className:"eyebrow",children:"Available by request"}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:127",children:at.availabilityCopy})]}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:129",className:"at-home-grid private-services-offerings",children:at.offerings.map(e=>o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:131",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:132",className:"eyebrow",children:e.eyebrow}),o.jsx("h3",{"data-loc":"client/src/pages/SitePages.tsx:133",children:e.title}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:134",children:e.description})]},e.title))})]})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:141",className:"at-home-coverage private-services-coverage",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:142",className:"private-services-coverage__inner",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:143",className:"eyebrow eyebrow--light",children:"By request"}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:144",children:[o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:145",children:at.areaLabel}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:146",children:"Availability varies by artist, service, date, and address. Our team will help shape the right At-Home appointment for you."})]}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:148",href:at.inquiryHref,dark:!0,children:"Begin your At-Home inquiry"})]})})]})}function qI(){const[e,a]=w.useState(12),r=os.filter(l=>l.kind!=="artist-spotlight"),s=pr.slice(0,e);return o.jsxs(o.Fragment,{children:[o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"directory-head",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"eyebrow",children:"The Warren Tricomi Journal"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:159",children:"Technique, transformation, point of view."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:159",children:"Stories from the artists and ideas shaping modern luxury hair."})]}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"editorial-section journal-index",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:159",eyebrow:"Artist Spotlight Archive",title:"Meet the artists behind the work",copy:`${pr.length} profiles drawn from our active artist roster, each paired with the portrait and expertise shown in Artists.`}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"journal-grid journal-grid--spotlights",children:s.map(l=>o.jsx(Ho,{"data-loc":"client/src/pages/SitePages.tsx:159",story:l},l.slug))}),e<pr.length&&o.jsx("button",{"data-loc":"client/src/pages/SitePages.tsx:159",type:"button",className:"journal-load-more",onClick:()=>a(l=>Math.min(l+12,pr.length)),children:"View more Artist Spotlights"}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"journal-editorial",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:159",eyebrow:"Hair Notes",title:"Ideas from the Warren Tr
321icomi Journal"}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:159",className:"journal-grid journal-grid--index",children:r.map(l=>o.jsx(Ho,{"data-loc":"client/src/pages/SitePages.tsx:159",story:l},l.slug))})]})]})})]})}function GI({slug:e}){const a=os.find(s=>s.slug===e)||os[0],r=os.filter(s=>s.slug!==a.slug&&s.kind===a.kind).slice(0,3);return o.jsxs("article",{"data-loc":"client/src/pages/SitePages.tsx:165",className:`article-page${a.kind==="artist-spotlight"?" article-page--artist-spotlight":""}`,children:[o.jsxs("header",{"data-loc":"client/src/pages/SitePages.tsx:165",children:[o.jsx("img",{"data-loc":"client/src/pages/SitePages.tsx:165",src:a.image,alt:a.imageAlt??a.title}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:165",children:[o.jsxs("span",{"data-loc":"client/src/pages/SitePages.tsx:165",className:"eyebrow",children:[a.category," ",o.jsx("b",{"data-loc":"client/src/pages/SitePages.tsx:165",children:"·"})," ",a.author]}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:165",children:a.title}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:165",children:a.excerpt}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:165",className:"tag-row",children:a.tags.map(s=>o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:165",children:s},s))}),o.jsxs("small",{"data-loc":"client/src/pages/SitePages.tsx:165",children:[a.author," ",o.jsx("b",{"data-loc":"client/src/pages/SitePages.tsx:165",children:"â¢"})," ",a.date]})]})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:165",className:"article-body",children:[o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:165",className:"article-lede",children:a.lede??a.excerpt}),a.sections?.map(s=>o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:165",children:[o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:165",children:s.heading}),s.paragraphs.map(l=>o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:165",children:l},l))]},s.heading)),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:165",href:a.artistHref??"/artists",children:a.artistHref?`Meet ${a.author}`:"Explore our artists"})]}),o.jsxs("aside",{"data-loc":"client/src/pages/SitePages.tsx:165",className:"article-related",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:165",className:"eyebrow",children:"Continue Reading"}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:165",children:r.map(s=>o.jsx(Ho,{"data-loc":"client/src/pages/SitePages.tsx:165",story:s},s.slug))})]})]})}function WI(){const e=Array.from(new Set(rs.map(u=>u.year))),a=u=>`${Math.floor(Number(u)/10)*10}s`,r=Array.from(new Set(e.map(a))),s=rs.slice(0,3),l=u=>rs.filter(p=>p.year===u),d=u=>l(u).map(p=>o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:175",href:p.url,target:"_blank",rel:"noreferrer",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:176",children:p.date}),o.jsx("strong",{"data-loc":"client/src/pages/SitePages.tsx:177",children:p.publication}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:178",children:p.title}),o.jsx(Xh,{"data-loc":"client/src/pages/SitePages.tsx:179"})]},p.id));return o.jsxs(o.Fragment,{children:[o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:185",className:"press-hero",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:186",className:"content-wrap press-hero__inner",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:187",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:187",className:"eyebrow",children:"Press & Recognition · 1991âPresent"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:187",children:"In the News"}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:187",children:"A verified archive of recognition, expert commentary, editorial work, television, openings, and stories documenting the Warren Tricomi point of view."})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:188",className:"press-identity",children:[o.jsxs("span",{"data-loc":"client/src/pages/SitePages.tsx:188",children:["Warren ",o.jsx("b",{"data-loc":"client/src/pages/SitePages.tsx:188",children:"â¢"})," Tricomi"]}),o.jsxs("strong",{"data-loc":"client/src/pages/SitePages.tsx:188",children:["Press",o.jsx("br",{"data-loc":"client/src/pages/SitePages.tsx:188"}),"Room"]}),o.jsx("small",{"data-loc":"client/src/pages/SitePages.tsx:188",children:"NYC · Greenwich · Sag Harbor"})]})]})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:191",className:"press-stories",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:192",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:193",eyebrow:"On Screen & In Print",title:"Seen, cited, and celebrated",copy:"Source-prov
321ided photography from appearances, salon openings, and editorial work across the archive."}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:194",className:"press-stories__grid",children:Kv.map((u,p)=>{const m=p<2?"is-featured":p>=Kv.length-2?"is-wide":"is-standard";return o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:197",href:u.url,target:"_blank",rel:"noreferrer",className:`press-story-card ${m}`,children:[o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:197",className:"press-story-card__image",children:o.jsx("img",{"data-loc":"client/src/pages/SitePages.tsx:197",src:u.image,alt:u.imageAlt,loading:"lazy"})}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:197",className:"press-story-card__copy",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:197",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:197",children:u.publication}),o.jsx("small",{"data-loc":"client/src/pages/SitePages.tsx:197",children:u.date})]}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:197",children:u.title}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:197",children:u.imageCredit}),o.jsx(Xh,{"data-loc":"client/src/pages/SitePages.tsx:197"})]})]},`${u.date}-${u.title}`)})})]})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:202",className:"press-featured",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:202",className:"content-wrap",children:[o.jsx(Pi,{"data-loc":"client/src/pages/SitePages.tsx:202",eyebrow:"Latest Coverage",title:"Recently featured",copy:"The newest awards, salon recognition, and expert perspectives from the Warren Tricomi team."}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:202",className:"press-featured__grid",children:s.map(u=>o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:202",href:u.url,target:"_blank",rel:"noreferrer",className:"press-feature-card",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:202",children:[o.jsx("small",{"data-loc":"client/src/pages/SitePages.tsx:202",children:u.date}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:202",children:u.publication}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:202",children:u.title})]}),o.jsx(Xh,{"data-loc":"client/src/pages/SitePages.tsx:202"})]},`${u.date}-${u.title}`))})]})}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:203",className:"press-archive",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:204",className:"content-wrap",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:205",className:"press-archive__header",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:205",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:205",className:"eyebrow",children:"Archive · 1991âPresent"}),o.jsxs("p",{"data-loc":"client/src/pages/SitePages.tsx:205",children:[rs.length," verified features across ",e.length," years of coverage."]})]}),o.jsx("nav",{"data-loc":"client/src/pages/SitePages.tsx:205","aria-label":"Press archive by decade",children:r.map(u=>o.jsx("a",{"data-loc":"client/src/pages/SitePages.tsx:205",href:`#press-${u}`,children:u},u))})]}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:206",className:"press-years press-years--desktop","aria-label":"Press archive by year",children:e.map((u,p)=>{const m=a(u),g=p===0||m!==a(e[p-1]);return o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:207",id:g?`press-${m}`:void 0,children:[o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:207",children:u}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:207",children:d(u)})]},u)})}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:209",className:"press-years press-years--mobile","aria-label":"Press archive by year",children:e.map(u=>{const p=l(u).length;return o.jsxs("details",{"data-loc":"client/src/pages/SitePages.tsx:210",className:"press-year",children:[o.jsxs("summary",{"data-loc":"client/src/pages/SitePages.tsx:210",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:210",children:u}),o.jsxs("small",{"data-loc":"client/src/pages/SitePages.tsx:210",children:[p," ",p===1?"feature":"features"]}),o.jsx("i",{"data-loc":"client/src/pages/SitePages.tsx:210","aria-hidden":"true",children:o.jsx(_o,{"data-loc":"client/src/pages/SitePages.tsx:210"})})]}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:210",className:"press-year__items",children:d(u)})]},u)})})]})}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:214",className:"press-contact",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:214",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:214",className:"eyebrow eyebrow--light",children:"Press Inquiries"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:214",children:"For interviews, commentary, and brand materials."})]}),o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:214",href:"mailto:[email protected]",children:["[email protected] ",o.jsx(st,{"data-loc":"client/src/pages/SitePages.tsx:214"})]})]})]})}function YI(){return o.jsxs(o.Fragment,{children:[o.jsx(As,{"data-loc":"client/src/pages/SitePages.tsx:220",image:_t.about,eyebrow:"Our Story",title:"Bringing the beauty within, out.",copy:"More than three decades of precision, transformation, and a belief that hair is inseparable from identity.",align:"center"}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"editorial-section",children:o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"content-wrap about-story",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"eyebrow",children:"The History of Warren Tr
321icomi"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"Over 30 years of intuition, precision, and influence."}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:220",children:[o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"From sleek bobs and beach waves to magazine covers and runways, Warren Tricomi has built its reputation on the art and science of transformation."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"Our artists come from distinct backgrounds, each developing an individual point of view while working within a shared standard of consultation, craft, and care."})]})]})}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"founder-grid",children:[o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:220",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"eyebrow",children:"Master Stylist · Co-Founder"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"Edward Tricomi"}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"Musician, entrepreneur, and artist, Edward is renowned for high-precision dry cutting and a career shaped by fashion, editorial work, and an instinct for movement."})]}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:220",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"eyebrow",children:"CEO · Co-Founder"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"Roxana Pintilie"}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"Strategist and driving force behind the brand, Roxana has shaped Warren Tricomiâs growth, operating discipline, artist culture, and luxury-service standard."})]})]}),o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"service-note",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:220",className:"eyebrow",children:"Our Philosophy"}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"More than hair. Itâs your identity."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:220",children:"We consider every angle, every movement, and every part of the person in the chairâso the final result does not disguise you. It clarifies you."}),o.jsx(ot,{"data-loc":"client/src/pages/SitePages.tsx:220",href:"/artists",children:"Meet the artists"})]})]})}function $I(){return o.jsxs(o.Fragment,{children:[o.jsxs("section",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"directory-head",children:[o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"eyebrow",children:"Bridal Consultations"}),o.jsx("h1",{"data-loc":"client/src/pages/SitePages.tsx:224",children:"Begin the conversation."}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:224",children:"Bridal services are arranged directly with the salon by text, call, or email. Choose your preferred location below."})]}),o.jsx("section",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"editorial-section",children:o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"content-wrap contact-grid contact-grid--bridal",children:Fr.map(e=>{const a=Bf(e);return o.jsxs("article",{"data-loc":"client/src/pages/SitePages.tsx:224",children:[o.jsx(Lf,{"data-loc":"client/src/pages/SitePages.tsx:224"}),o.jsx("span",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"eyebrow",children:e.eyebrow}),o.jsx("h2",{"data-loc":"client/src/pages/SitePages.tsx:224",children:e.shortName}),o.jsx("p",{"data-loc":"client/src/pages/SitePages.tsx:224",children:e.address}),o.jsx("div",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"bridal-contact-copy",children:"Bridal services are available by text, call, or email."}),o.jsxs("div",{"data-loc":"client/src/pages/SitePages.tsx:224",className:"bridal-contact-actions",children:[o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:224",href:a.textHref,"aria-label":`Text the ${e.shortName} salon about bridal services`,children:[o.jsx(av,{"data-loc":"client/src/pages/SitePages.tsx:224"})," Text"]}),o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:224",href:a.callHref,"aria-label":`Call the ${e.shortName}
321 salon about bridal services`,children:[o.jsx(av,{"data-loc":"client/src/pages/SitePages.tsx:224"})," ",e.phone]}),o.jsxs("a",{"data-loc":"client/src/pages/SitePages.tsx:224",href:a.emailHref,"aria-label":`Email the ${e.shortName} salon about bridal services`,children:[o.jsx(yO,{"data-loc":"client/src/pages/SitePages.tsx:224"})," ",e.email]})]})]},e.slug)})})})]})}function FI(){const[e]=Vo();return e==="/owner"?o.jsx(lP,{"data-loc":"client/src/App.tsx:21"}):o.jsx(FO,{"data-loc":"client/src/App.tsx:24",children:o.jsxs(tO,{"data-loc":"client/src/App.tsx:24",children:[o.jsx(qe,{"data-loc":"client/src/App.tsx:25",path:"/",component:Yj}),o.jsx(qe,{"data-loc":"client/src/App.tsx:26",path:"/locations",component:II}),o.jsx(qe,{"data-loc":"client/src/App.tsx:27",path:"/locations/palm-beach",children:()=>o.jsx(gw,{"data-loc":"client/src/App.tsx:27",slug:"palm-beach"})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:28",path:"/locations/miami",children:()=>o.jsx(gw,{"data-loc":"client/src/App.tsx:28",slug:"miami"})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:29",path:"/locations/:slug",children:a=>o.jsx(LI,{"data-loc":"client/src/App.tsx:29",slug:a.slug})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:30",path:"/services",component:_I}),o.jsx(qe,{"data-loc":"client/src/App.tsx:31",path:"/services/:slug",children:a=>o.jsx(HI,{"data-loc":"client/src/App.tsx:31",slug:a.slug})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:32",path:"/artists",component:zI}),o.jsx(qe,{"data-loc":"client/src/App.tsx:33",path:"/artists/:slug",children:a=>o.jsx(DI,{"data-loc":"client/src/App.tsx:33",slug:a.slug})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:34",path:"/expert-match",component:Rj}),o.jsx(qe,{"data-loc":"client/src/App.tsx:35",path:"/bridal",component:BI}),o.jsx(qe,{"data-loc":"client/src/App.tsx:36",path:at.inquiryHref,component:Zj}),o.jsx(qe,{"data-loc":"client/src/App.tsx:37",path:at.href,component:UI}),o.jsx(qe,{"data-loc":"client/src/App.tsx:38",path:at.legacyInquiryHref,children:()=>o.jsx(Ao,{"data-loc":"client/src/App.tsx:38",to:`${at.inquiryHref}${window.location.search}`})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:39",path:at.legacyHref,children:()=>o.jsx(Ao,{"data-loc":"client/src/App.tsx:39",to:at.href})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:40",path:at.privateServicesInquiryHref,children:()=>o.jsx(Ao,{"data-loc":"client/src/App.tsx:40",to:`${at.inquiryHref}${window.location.search}`})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:41",path:at.privateServicesHref,children:()=>o.jsx(Ao,{"data-loc":"client/src/App.tsx:41",to:at.href})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:42",path:"/journal",component:qI}),o.jsx(qe,{"data-loc":"client/src/App.tsx:43",path:"/journal/:slug",children:a=>o.jsx(GI,{"data-loc":"client/src/App.tsx:43",slug:a.slug})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:44",path:"/press",component:WI}),o.jsx(qe,{"data-loc":"client/src/App.tsx:45",path:"/about",component:YI}),o.jsx(qe,{"data-loc":"client/src/App.tsx:46",path:"/faq",component:_j}),o.jsx(qe,{"data-loc":"client/src/App.tsx:47",path:"/contact",component:$I}),o.jsx(qe,{"data-loc":"client/src/App.tsx:48",path:"/privacy",component:fP}),o.jsx(qe,{"data-loc":"client/src/App.tsx:49",path:"/terms",component:mP}),o.jsx(qe,{"data-loc":"client/src/App.tsx:50",path:"/gift-card",component:hP}),o.jsx(qe,{"data-loc":"client/src/App.tsx:51",path:"/space-rental-events",component:tP}),o.jsx(qe,{"data-loc":"client/src/App.tsx:52",path:"/terms-privacy",children:()=>o.jsx(Ao,{"data-loc":"client/src/App.tsx:52",to:"/privacy"})}),o.jsx(qe,{"data-loc":"client/src/App.tsx:53",path:"/careers",component:pP}),o.jsx(qe,{"data-loc":"client/src/App.tsx:54",path:"/404",component:lv}),o.jsx(qe,{"data-loc":"client/src/App.tsx:55",component:lv})]})})}function KI(){return o.jsx(JO,{"data-loc":"client/src/App.tsx:67",children:o.jsx(tT,{"data-loc":"client/src/App.tsx:68",defaultTheme:"light",children:o.jsxs(I6,{"data-loc":"client/src/App.tsx:72",children:[o.jsx(DE,{"data-loc":"client/src/App.tsx:73"}),o.jsx(jP,{"data-loc":"client/src/App.tsx:74"}),o.jsx(FI,{"data-loc":"client/src/App.tsx:75"})]})})})}const yw=new fA({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1},mutations:{retry:!1}}}),VI=Da.createClient({links:[c3({url:"/api/trpc",transformer:Ii,headers(){try{const e=sessionStorage.getItem("manus-cookie");if(e){const a=`${H5}=`,s=e.split(";").find(l=>l.trim().startsWith(a))?.trim().slice(a.length);if(s)return{Authorization:`Bearer ${s}`}}}catch{}return{}},fetch(e,a){return globalThis.fetch(e,{...a??{},credentials:"include"})}})]});T3.createRoot(document.getElementById("root")).render(o.jsx(Da.Provider,{"data-loc":"client/src/main.tsx:44",client:VI,queryClient:yw,children:o.jsx(U5,{"data-loc":"client/src/main.tsx:45",client:yw,children:o.jsx(KI,{"data-loc":"client/src/main.tsx:46"})})}));
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.