1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,250711,982045,28420,e=>{"use strict";var t=e.i(271645);e.i(790798),e.s(["useQueries",()=>b],28420),e.s(["ConvexProvider",()=>f,"ConvexReactClient",()=>c,"useAction",()=>y,"useConvex",()=>d,"useMutation",()=>p,"useQuery",()=>h],982045),e.i(220344);var r=e.i(857698),s=e.i(88218),i=e.i(202082),a=e.i(162849),n=e.i(205217),o=Object.defineProperty,l=(e,t,r)=>{let s;return(s="symbol"!=typeof t?t+"":t)in e?o(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r};if(void 0===t.default)throw Error("Required dependency 'react' not found");class c{constructor(e,t){if(l(this,"address"),l(this,"cachedSync"),l(this,"listeners"),l(this,"options"),l(this,"closed",!1),l(this,"_logger"),l(this,"adminAuth"),l(this,"fakeUserIdentity"),void 0===e)throw Error("No address provided to ConvexReactClient.\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.");if("string"!=typeof e)throw Error(`ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`);if(!e.includes("://"))throw Error("Provided address was not an absolute URL.");this.address=e,this.listeners=new Map,this._logger=t?.logger===!1?(0,n.instantiateNoopLogger)({verbose:t?.verbose??!1}):t?.logger!==!0&&t?.logger?t.logger:(0,n.instantiateDefaultLogger)({verbose:t?.verbose??!1}),this.options={...t,logger:this._logger}}get url(){return this.address}get sync(){if(this.closed)throw Error("ConvexReactClient has already been closed.");return this.cachedSync||(this.cachedSync=new r.BaseConvexClient(this.address,e=>this.transition(e),this.options),this.adminAuth&&this.cachedSync.setAdminAuth(this.adminAuth,this.fakeUserIdentity)),this.cachedSync}setAuth(e,t){if("string"==typeof e)throw Error("Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.");this.sync.setAuth(e,t??(()=>{}))}clearAuth(){this.sync.clearAuth()}setAdminAuth(e,t){if(this.adminAuth=e,this.fakeUserIdentity=t,this.closed)throw Error("ConvexReactClient has already been closed.");this.cachedSync&&this.sync.setAdminAuth(e,t)}watchQuery(e,...t){let[r,s]=t,i=(0,a.getFunctionName)(e);return{onUpdate:e=>{let{queryToken:t,unsubscribe:a}=this.sync.subscribe(i,r,s),n=this.listeners.get(t);return void 0!==n?n.add(e):this.listeners.set(t,new Set([e])),()=>{if(this.closed)return;let r=this.listeners.get(t);r.delete(e),0===r.size&&this.listeners.delete(t),a()}},localQueryResult:()=>{if(this.cachedSync)return this.cachedSync.localQueryResult(i,r)},localQueryLogs:()=>{if(this.cachedSync)return this.cachedSync.localQueryLogs(i,r)},journal:()=>{if(this.cachedSync)return this.cachedSync.queryJournal(i,r)}}}prewarmQuery(e){let t=e.extendSubscriptionFor??5e3;setTimeout(this.watchQuery(e.query,e.args||{}).onUpdate(()=>{}),t)}mutation(e,...t){let[r,s]=t,i=(0,a.getFunctionName)(e);return this.sync.mutation(i,r,s)}action(e,...t){let r=(0,a.getFunctionName)(e);return this.sync.action(r,...t)}query(e,...t){let r=this.watchQuery(e,...t),s=r.localQueryResult();return void 0!==s?Promise.resolve(s):new Promise((e,t)=>{let s=r.onUpdate(()=>{s();try{e(r.localQueryResult())}catch(e){t(e)}})})}connectionState(){return this.sync.connectionState()}subscribeToConnectionState(e){return this.sync.subscribeToConnectionState(e)}get logger(){return this._logger}async close(){if(this.closed=!0,this.listeners=new Map,this.cachedSync){let e=this.cachedSync;this.cachedSync=void 0,await e.close()}}transition(e){for(let t of e){let e=this.listeners.get(t);if(e)for(let t of e)t()}}}let u=t.default.createContext(void 0);function d(){return(0,t.useContext)(u)}let f=({client:e,children:r})=>t.default.createElement(u.Provider,{value:e},r);function h(e,...r){let n="skip"===r[0],o="skip"===r[0]?{}:(0,i.parseArgs)(r[0]),l="string"==typeof e?(0,a.makeFunctionReference)(e):e,c=(0,a.getFunctionName)(l),u=b((0,t.useMemo)(()=>n?{}:{query:{query:l,args:o}},[JSON.stringify((0,s.convexToJson)(o)),c,n])).query;if(u instanceof Error)throw u;return u}function p(e){let r="string"==typeof e?(0,a.makeFunctionReference)(e):e,s=(0,t.useContext)(u);if(void 0===s)throw Error("Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,t.useMemo)(()=>(function e(t,r,s){function i(e){return function(e){if("object"==typeof e&&null!==e&&"bubbles"in e&&"persist"in e&&"isDefaultPrevented"in e)throw Error("Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.")}(e),r.mutation(t,e,{optimisticUpdate:s})}return i.withOptimisticUpdate=function(i){if(void 0!==s)throw Error(`Already specified optimistic update for mutation ${(0,a.getFunctionName)(t)}`);return e(t,r,i)},i})(r,s),[s,(0,a.getFunctionName)(r)])}function y(e){let r=(0,t.useContext)(u),s="string"==typeof e?(0,a.makeFunctionReference)(e):e;if(void 0===r)throw Error("Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,t.useMemo)(()=>function(e){return r.action(s,e)},[r,(0,a.getFunctionName)(s)])}var m=Object.defineProperty,g=(e,t,r)=>{let s;return(s="symbol"!=typeof t?t+"":t)in e?m(e,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[s]=r};class v{constructor(e){g(this,"createWatch"),g(this,"queries"),g(this,"listeners"),this.createWatch=e,this.queries={},this.listeners=new Set}setQueries(e){for(let t of Object.keys(e)){let{query:r,args:i}=e[t];if((0,a.getFunctionName)(r),void 0===this.queries[t])this.addQuery(t,r,i);else{let e=this.queries[t];((0,a.getFunctionName)(r)!==(0,a.getFunctionName)(e.query)||JSON.stringify((0,s.convexToJson)(i))!==JSON.stringify((0,s.convexToJson)(e.args)))&&(this.removeQuery(t),this.addQuery(t,r,i))}}for(let t of Object.keys(this.queries))void 0===e[t]&&this.removeQuery(t)}
1subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getLocalResults(e){let t={};for(let r of Object.keys(e)){let s,{query:i,args:n}=e[r];(0,a.getFunctionName)(i);let o=this.createWatch(i,n);try{s=o.localQueryResult()}catch(e){if(e instanceof Error)s=e;else throw e}t[r]=s}return t}setCreateWatch(e){for(let t of(this.createWatch=e,Object.keys(this.queries))){let{query:e,args:r,watch:s}=this.queries[t],i=s.journal();this.removeQuery(t),this.addQuery(t,e,r,i)}}destroy(){for(let e of Object.keys(this.queries))this.removeQuery(e);this.listeners=new Set}addQuery(e,t,r,s){if(void 0!==this.queries[e])throw Error(`Tried to add a new query with identifier ${e} when it already exists.`);let i=this.createWatch(t,r,s),a=i.onUpdate(()=>this.notifyListeners());this.queries[e]={query:t,args:r,watch:i,unsubscribe:a}}removeQuery(e){let t=this.queries[e];if(void 0===t)throw Error(`No query found with identifier ${e}.`);t.unsubscribe(),delete this.queries[e]}notifyListeners(){for(let e of this.listeners)e()}}function b(e){let r=d();if(void 0===r)throw Error("Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return function(e,r){let[s]=(0,t.useState)(()=>new v(r));return s.createWatch!==r&&s.setCreateWatch(r),(0,t.useEffect)(()=>()=>s.destroy(),[s]),function({getCurrentValue:e,subscribe:r}){let[s,i]=(0,t.useState)(()=>({getCurrentValue:e,subscribe:r,value:e()})),a=s.value;return(s.getCurrentValue!==e||s.subscribe!==r)&&(a=e(),i({getCurrentValue:e,subscribe:r,value:a})),(0,t.useEffect)(()=>{let t=!1,s=()=>{t||i(t=>{if(t.getCurrentValue!==e||t.subscribe!==r)return t;let s=e();return t.value===s?t:{...t,value:s}})},a=r(s);return s(),()=>{t=!0,a()}},[e,r]),a}((0,t.useMemo)(()=>({getCurrentValue:()=>s.getLocalResults(e),subscribe:t=>(s.setQueries(e),s.subscribe(t))}),[s,e]))}(e,(0,t.useMemo)(()=>(e,t,s)=>r.watchQuery(e,t,s?{journal:s}:{}),[r]))}e.i(606689),Symbol("includePageKeys"),Symbol("page"),(0,t.createContext)(void 0),e.s([],250711)},705766,e=>{"use strict";let t,r;var s,i=e.i(271645);let a={data:""},n=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,o=/\/\*[^]*?\*\/| +/g,l=/\n+/g,c=(e,t)=>{let r="",s="",i="";for(let a in e){let n=e[a];"@"==a[0]?"i"==a[1]?r=a+" "+n+";":s+="f"==a[1]?c(n,a):a+"{"+c(n,"k"==a[1]?"":t)+"}":"object"==typeof n?s+=c(n,t?t.replace(/([^,])+/g,e=>a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):a):null!=n&&(a=/^--/.test(a)?a:a.replace(/[A-Z]/g,"-$&").toLowerCase(),i+=c.p?c.p(a,n):a+":"+n+";")}return r+(t&&i?t+"{"+i+"}":i)+s},u={},d=e=>{if("object"==typeof e){let t="";for(let r in e)t+=r+d(e[r]);return t}return e};function f(e){let t,r,s=this||{},i=e.call?e(s.p):e;return((e,t,r,s,i)=>{var a;let f=d(e),h=u[f]||(u[f]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return"go"+r})(f));if(!u[h]){let t=f!==e?e:(e=>{let t,r,s=[{}];for(;t=n.exec(e.replace(o,""));)t[4]?s.shift():t[3]?(r=t[3].replace(l," ").trim(),s.unshift(s[0][r]=s[0][r]||{})):s[0][t[1]]=t[2].replace(l," ").trim();return s[0]})(e);u[h]=c(i?{["@keyframes "+h]:t}:t,r?"":"."+h)}let p=r&&u.g?u.g:null;return r&&(u.g=u[h]),a=u[h],p?t.data=t.data.replace(p,a):-1===t.data.indexOf(a)&&(t.data=s?a+t.data:t.data+a),h})(i.unshift?i.raw?(t=[].slice.call(arguments,1),r=s.p,i.reduce((e,s,i)=>{let a=t[i];if(a&&a.call){let e=a(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;a=t?"."+t:e&&"object"==typeof e?e.props?"":c(e,""):!1===e?"":e}return e+s+(null==a?"":a)},"")):i.reduce((e,t)=>Object.assign(e,t&&t.call?t(s.p):t),{}):i,(e=>{if("object"==typeof window){let t=(e?e.querySelector("#_goober"):window._goober)||Object.assign(document.createElement("style"),{innerHTML:" ",id:"_goober"});return t.nonce=window.__nonce__,t.parentNode||(e||document.head).appendChild(t),t.firstChild}return e||a})(s.target),s.g,s.o,s.k)}f.bind({g:1});let h,p,y,m=f.bind({k:1});function g(e,t){let r=this||{};return function(){let s=arguments;function i(a,n){let o=Object.assign({},a),l=o.className||i.className;r.p=Object.assign({theme:p&&p()},o),r.o=/ *go\d+/.test(l),o.className=f.apply(r,s)+(l?" "+l:""),t&&(o.ref=n);let c=e;return e[0]&&(c=o.as||e,delete o.as),y&&c[0]&&y(o),h(c,o)}return t?t(i):i}}var v=(e,t)=>
1"function"==typeof e?e(t):e,b=(t=0,()=>(++t).toString()),w=()=>{if(void 0===r&&"u">typeof window){let e=matchMedia("(prefers-reduced-motion: reduce)");r=!e||e.matches}return r},x="default",A=(e,t)=>{let{toastLimit:r}=e.settings;switch(t.type){case 0:return{...e,toasts:[t.toast,...e.toasts].slice(0,r)};case 1:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case 2:let{toast:s}=t;return A(e,{type:+!!e.toasts.find(e=>e.id===s.id),toast:s});case 3:let{toastId:i}=t;return{...e,toasts:e.toasts.map(e=>e.id===i||void 0===i?{...e,dismissed:!0,visible:!1}:e)};case 4:return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)};case 5:return{...e,pausedAt:t.time};case 6:let a=t.time-(e.pausedAt||0);return{...e,pausedAt:void 0,toasts:e.toasts.map(e=>({...e,pauseDuration:e.pauseDuration+a}))}}},C=[],S={toasts:[],pausedAt:void 0,settings:{toastLimit:20}},E={},k=(e,t=x)=>{E[t]=A(E[t]||S,e),C.forEach(([e,r])=>{e===t&&r(E[t])})},O=e=>Object.keys(E).forEach(t=>k(e,t)),W=(e=x)=>t=>{k(t,e)},M={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},N=e=>(t,r)=>{let s,i=((e,t="blank",r)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:t,ariaProps:{role:"status","aria-live":"polite"},message:e,pauseDuration:0,...r,id:(null==r?void 0:r.id)||b()}))(t,e,r);return W(i.toasterId||(s=i.id,Object.keys(E).find(e=>E[e].toasts.some(e=>e.id===s))))({type:2,toast:i}),i.id},q=(e,t)=>N("blank")(e,t);q.error=N("error"),q.success=N("success"),q.loading=N("loading"),q.custom=N("custom"),q.dismiss=(e,t)=>{let r={type:3,toastId:e};t?W(t)(r):O(r)},q.dismissAll=e=>q.dismiss(void 0,e),q.remove=(e,t)=>{let r={type:4,toastId:e};t?W(t)(r):O(r)},q.removeAll=e=>q.remove(void 0,e),q.promise=(e,t,r)=>{let s=q.loading(t.loading,{...r,...null==r?void 0:r.loading});return"function"==typeof e&&(e=e()),e.then(e=>{let i=t.success?v(t.success,e):void 0;return i?q.success(i,{id:s,...r,...null==r?void 0:r.success}):q.dismiss(s),e}).catch(e=>{let i=t.error?v(t.error,e):void 0;i?q.error(i,{id:s,...r,...null==r?void 0:r.error}):q.dismiss(s)}),e};var F=1e3,j=m` 2from { 3 transform: scale(0) rotate(45deg); 4 opacity: 0; 5} 6to { 7 transform: scale(1) rotate(45deg); 8 opacity: 1; 9}`,P=m` 10from { 11 transform: scale(0); 12 opacity: 0; 13} 14to { 15 transform: scale(1); 16 opacity: 1; 17}`,Q=m` 18from { 19 transform: scale(0) rotate(90deg); 20 opacity: 0; 21} 22to { 23 transform: scale(1) rotate(90deg); 24 opacity: 1; 25}`,R=g("div")` 26 width: 20px; 27 opacity: 0; 28 height: 20px; 29 border-radius: 10px; 30 background: ${e=>e.primary||"#ff4b4b"}; 31 position: relative; 32 transform: rotate(45deg); 33 34 animation: ${j} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 35 forwards; 36 animation-delay: 100ms; 37 38 &:after, 39 &:before { 40 content: ''; 41 animation: ${P} 0.15s ease-out forwards; 42 animation-delay: 150ms; 43 position: absolute; 44 border-radius: 3px; 45 opacity: 0; 46 background: ${e=>e.secondary||"#fff"}; 47 bottom: 9px; 48 left: 4px; 49 height: 2px; 50 width: 12px; 51 } 52 53 &:before { 54 animation: ${Q} 0.15s ease-out forwards; 55 animation-delay: 180ms; 56 transform: rotate(90deg); 57 } 58`,D=m` 59 from { 60 transform: rotate(0deg); 61 } 62 to { 63 transform: rotate(360deg); 64 } 65`,T=g("div")` 66 width: 12px; 67 height: 12px; 68 box-sizing: border-box; 69 border: 2px solid; 70 border-radius: 100%; 71 border-color: ${e=>e.secondary||"#e0e0e0"}; 72 border-right-color: ${e=>e.primary||"#616161"}; 73 animation: ${D} 1s linear infinite; 74`,_=m` 75from { 76 transform: scale(0) rotate(45deg); 77 opacity: 0; 78} 79to { 80 transform: scale(1) rotate(45deg); 81 opacity: 1; 82}`,I=m` 830% { 84 height: 0; 85 width: 0; 86 opacity: 0; 87} 8840% { 89 height: 0; 90 width: 6px; 91 opacity: 1; 92} 93100% { 94 opacity: 1; 95 height: 10px; 96}`,$=g("div")` 97 width: 20px; 98 opacity: 0; 99 height: 20px; 100 border-radius: 10px; 101 background: ${e=>e.primary||"#61d345"}; 102 position: relative; 103 transform: rotate(45deg); 104 105 animation: ${_} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 106 forwards; 107 animation-delay: 100ms; 108 &:after { 109 content: ''; 110 box-sizing: border-box; 111 animation: ${I} 0.2s ease-out forwards; 112 opacity: 0; 113 animation-delay: 200ms; 114 position: absolute; 115 border-right: 2px solid; 116 border-bottom: 2px solid; 117 border-color: ${e=>e.secondary||"#fff"}; 118 bottom: 6px; 119 left: 6px; 120 height: 10px; 121 width: 6px; 122 } 123`,U=g("div")` 124 position: absolute; 125`,L=g("div")` 126 position: relative; 127 display: flex; 128 justify-content: center; 129 align-items: center;
130 min-width: 20px; 131 min-height: 20px; 132`,J=m` 133from { 134 transform: scale(0.6); 135 opacity: 0.4; 136} 137to { 138 transform: scale(1); 139 opacity: 1; 140}`,z=g("div")` 141 position: relative; 142 transform: scale(0.6); 143 opacity: 0.4; 144 min-width: 20px; 145 animation: ${J} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) 146 forwards; 147`,B=({toast:e})=>{let{icon:t,type:r,iconTheme:s}=e;return void 0!==t?"string"==typeof t?i.createElement(z,null,t):t:"blank"===r?null:i.createElement(L,null,i.createElement(T,{...s}),"loading"!==r&&i.createElement(U,null,"error"===r?i.createElement(R,{...s}):i.createElement($,{...s})))},H=g("div")` 148 display: flex; 149 align-items: center; 150 background: #fff; 151 color: #363636; 152 line-height: 1.3; 153 will-change: transform; 154 box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); 155 max-width: 350px; 156 pointer-events: auto; 157 padding: 8px 10px; 158 border-radius: 8px; 159`,V=g("div")` 160 display: flex; 161 justify-content: center; 162 margin: 4px 10px; 163 color: inherit; 164 flex: 1 1 auto; 165 white-space: pre-line; 166`,K=i.memo(({toast:e,position:t,style:r,children:s})=>{let a=e.height?((e,t)=>{let r=e.includes("top")?1:-1,[s,i]=w()?["0%{opacity:0;} 100%{opacity:1;}","0%{opacity:1;} 100%{opacity:0;}"]:[` 1670% {transform: translate3d(0,${-200*r}%,0) scale(.6); opacity:.5;} 168100% {transform: translate3d(0,0,0) scale(1); opacity:1;} 169`,` 1700% {transform: translate3d(0,0,-1px) scale(1); opacity:1;} 171100% {transform: translate3d(0,${-150*r}%,-1px) scale(.6); opacity:0;} 172`];return{animation:t?`${m(s)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${m(i)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}})(e.position||t||"top-center",e.visible):{opacity:0},n=i.createElement(B,{toast:e}),o=i.createElement(V,{...e.ariaProps},v(e.message,e));return i.createElement(H,{className:e.className,style:{...a,...r,...e.style}},"function"==typeof s?s({icon:n,message:o}):i.createElement(i.Fragment,null,n,o))});s=i.createElement,c.p=void 0,h=s,p=void 0,y=void 0;var Y=({id:e,className:t,style:r,onHeightUpdate:s,children:a})=>{let n=i.useCallback(t=>{if(t){let r=()=>{s(e,t.getBoundingClientRect().height)};r(),new MutationObserver(r).observe(t,{subtree:!0,childList:!0,characterData:!0})}},[e,s]);return i.createElement("div",{ref:n,className:t,style:r},a)},Z=f` 173 z-index: 9999; 174 > * { 175 pointer-events: auto; 176 } 177`;e.s(["Toaster",0,({reverseOrder:e,position:t="top-center",toastOptions:r,gutter:s,children:a,toasterId:n,containerStyle:o,containerClassName:l})=>{let{toasts:c,handlers:u}=((e,t="default")=>{let{toasts:r,pausedAt:s}=((e={},t=x)=>{let[r,s]=(0,i.useState)(E[t]||S),a=(0,i.useRef)(E[t]);(0,i.useEffect)(()=>(a.current!==E[t]&&s(E[t]),C.push([t,s]),()=>{let e=C.findIndex(([e])=>e===t);e>-1&&C.splice(e,1)}),[t]);let n=r.toasts.map(t=>{var r,s,i;return{...e,...e[t.type],...t,removeDelay:t.removeDelay||(null==(r=e[t.type])?void 0:r.removeDelay)||(null==e?void 0:e.removeDelay),duration:t.duration||(null==(s=e[t.type])?void 0:s.duration)||(null==e?void 0:e.duration)||M[t.type],style:{...e.style,...null==(i=e[t.type])?void 0:i.style,...t.style}}});return{...r,toasts:n}})(e,t),a=(0,i.useRef)(new Map).current,n=(0,i.useCallback)((e,t=F)=>{if(a.has(e))return;let r=setTimeout(()=>{a.delete(e),o({type:4,toastId:e})},t);a.set(e,r)},[]);(0,i.useEffect)(()=>{if(s)return;let e=Date.now(),i=r.map(r=>{if(r.duration===1/0)return;let s=(r.duration||0)+r.pauseDuration-(e-r.createdAt);if(s<0){r.visible&&q.dismiss(r.id);return}return setTimeout(()=>q.dismiss(r.id,t),s)});return()=>{i.forEach(e=>e&&clearTimeout(e))}},[r,s,t]);let o=(0,i.useCallback)(W(t),[t]),l=(0,i.useCallback)(()=>{o({type:5,time:Date.now()})},[o]),c=(0,i.useCallback)((e,t)=>{o({type:1,toast:{id:e,height:t}})},[o]),u=(0,i.useCallback)(()=>{s&&o({type:6,time:Date.now()})},[s,o]),d=(0,i.useCallback)((e,t)=>{let{reverseOrder:s=!1,gutter:i=8,defaultPosition:a}=t||{},n=r.filter(t=>(t.position||a)===(e.position||a)&&t.height),o=n.findIndex(t=>t.id===e.id),l=n.filter((e,t)=>t<o&&e.visible).length;return n.filter(e=>e.visible).slice(...s?[l+1]:[0,l]).reduce((e,t)=>e+(t.height||0)+i,0)},[r]);return(0,i.useEffect)(()=>
177{r.forEach(e=>{if(e.dismissed)n(e.id,e.removeDelay);else{let t=a.get(e.id);t&&(clearTimeout(t),a.delete(e.id))}})},[r,n]),{toasts:r,handlers:{updateHeight:c,startPause:l,endPause:u,calculateOffset:d}}})(r,n);return i.createElement("div",{"data-rht-toaster":n||"",style:{position:"fixed",zIndex:9999,top:16,left:16,right:16,bottom:16,pointerEvents:"none",...o},className:l,onMouseEnter:u.startPause,onMouseLeave:u.endPause},c.map(r=>{let n,o,l=r.position||t,c=u.calculateOffset(r,{reverseOrder:e,gutter:s,defaultPosition:t}),d=(n=l.includes("top"),o=l.includes("center")?{justifyContent:"center"}:l.includes("right")?{justifyContent:"flex-end"}:{},{left:0,right:0,display:"flex",position:"absolute",transition:w()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${c*(n?1:-1)}px)`,...n?{top:0}:{bottom:0},...o});return i.createElement(Y,{id:r.id,key:r.id,onHeightUpdate:u.updateHeight,className:r.visible?Z:"",style:d},"custom"===r.type?v(r.message,r):a?a(r):i.createElement(K,{toast:r,position:l}))}))},"default",0,q,"toast",0,q],705766)},435057,39366,848900,e=>{"use strict";var t=e.i(271645);e.i(250711);var r=e.i(28420);e.i(13413);var s=e.i(162849);let i={};function a(e,a){var n;let o,l="skip"===a,c=(o=l?"skip":JSON.stringify(a),`${"string"==typeof e?e:(0,s.getFunctionName)(e)}:${o}`),u=(0,t.useMemo)(()=>l?i:{q:{query:e,args:a}},[c]),d=(0,r.useQueries)(u),f=(n=d.q)instanceof Error?{data:void 0,failed:!0}:{data:n,failed:!1},h=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(!f.failed){h.current=null;return}let e=d.q,t=e instanceof Error?e.message:"failed";h.current!==t&&(h.current=t,console.error("[useSafeConvexQuery]",e))},[f.failed,d.q]),f}e.s(["useSafeConvexQuery",0,a],39366);var n=e.i(883394),o=e.i(310474),l=e.i(843476),c=e.i(982045),u=e.i(722331),d=e.i(628098),f=e.i(351055);let h="torque_active_sub_account_id",p=(0,t.createContext)(null);function y(){return(0,t.useContext)(p)}e.s(["SubAccountsProvider",0,function({children:e}){let r=(0,o.useTorqueWalletContextOptional)(),s=r?.smartWalletAddress??null,i=r?.smartWalletAuthJWT??null,a=r?.setSmartWalletAddress,{authProof:y,isLoading:m}=(0,u.useWalletMutationAuth)(),g=s?(0,d.canonicalWalletAddressForClient)(s):null,v=(0,c.useMutation)(n.api.sub_accounts.bootstrapPrimary),b=(0,c.useMutation)(n.api.sub_accounts.renameMine),w=(0,c.useMutation)(n.api.sub_accounts.archiveMine),[x,A]=(0,t.useState)(null),[C,S]=(0,t.useState)(!1),[E,k]=(0,t.useState)(0);(0,t.useEffect)(()=>{(0,f.isSubAccountsEnabled)()?A(function(){try{return localStorage.getItem(h)}catch{return null}}()):A(null)},[]),(0,t.useEffect)(()=>{if(!g||!y||m||C)return;let e=!1;return v({walletAddress:g,authProof:y}).then(()=>{e||S(!0)}).catch(()=>{e||S(!0)}),()=>{e=!0}},[g,y,m,v,C]);let O=(0,c.useQuery)(n.api.sub_accounts.listMine,g&&y&&!m?{walletAddress:g,authProof:y}:"skip"),W=(0,c.useQuery)(n.api.sub_account_share.listSharedWithMe,g&&y&&!m&&(0,f.isSubAccountsEnabled)()?{walletAddress:g,authProof:y}:"skip");(0,t.useEffect)(()=>{E>0&&S(!1)},[E]);let M=(0,t.useMemo)(()=>{let e=O??[],t=(W??[]).map(e=>({...e,viewOnly:!0})),r=new Set(e.map(e=>e._id).filter(Boolean)),s=t.filter(e=>
177e._id&&!r.has(e._id));return(0,f.visibleSubAccountsForSurface)([...e,...s])},[O,W]),N=(0,t.useMemo)(()=>{if(0===M.length)return null;if(!(0,f.isSubAccountsEnabled)())return M.find(e=>0===e.index)??M[0];if(x){let e=M.find(e=>e._id===x);if(e)return e}if(g){let e=M.find(e=>(0,d.canonicalWalletAddressForClient)(e.walletAddress)===g);if(e)return e}return M.find(e=>0===e.index)??M[0]},[M,x,g]);(0,t.useEffect)(()=>{if(!N?.walletAddress||!a||!i||N.viewOnly)return;let e=(0,d.canonicalWalletAddressForClient)(N.walletAddress);(s?(0,d.canonicalWalletAddressForClient)(s):null)!==e&&a(N.walletAddress,i)},[N?._id,N?.walletAddress,N?.viewOnly,a,i,s]);let q=(0,t.useCallback)(e=>{if(!(0,f.isSubAccountsEnabled)()){let e=M.find(e=>0===e.index)??M[0];e?.walletAddress&&a&&i&&a(e.walletAddress,i);return}A(e);try{e?localStorage.setItem(h,e):localStorage.removeItem(h)}catch{}let t=e?M.find(t=>t._id===e):M.find(e=>0===e.index);!t?.viewOnly&&t?.walletAddress&&a&&i&&a(t.walletAddress,i)},[M,a,i]),F=(0,t.useCallback)(async e=>{if(!(0,f.isSubAccountsEnabled)())throw Error("Sub-accounts are not available right now");if(!i)throw Error("Not signed in");let t=await fetch("/api/smart-wallet/sub-accounts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({authJWT:i,label:e})}),r=await t.json().catch(()=>({}));if(!t.ok){let e=Error(r.error||"Failed to create account");throw e.code=r.code,e}k(e=>e+1),S(!1);let s=r.account,a={_id:s.subAccountId,index:s.index,label:s.label,status:"active",walletAddress:s.walletAddress,solanaWalletAddress:s.solanaWalletAddress,btcDepositAddress:s.btcDepositAddress,btcDerivationIndex:s.btcDerivationIndex};return s.subAccountId&&q(s.subAccountId),a},[i,q]),j=(0,t.useCallback)(async(e,t)=>{if(!g||!y)throw Error("Not authenticated");await b({walletAddress:g,subAccountId:e,label:t,authProof:y}),k(e=>e+1),S(!1)},[g,y,b]),P=(0,t.useCallback)(async e=>{if(!g||!y)throw Error("Not authenticated");if(await w({walletAddress:g,subAccountId:e,authProof:y}),x===e){let e=M.find(e=>0===e.index);q(e?._id??null)}k(e=>e+1),S(!1)},[g,y,w,x,M,q]),Q=(0,t.useMemo)(()=>({accounts:M,active:N,isLoading:void 0===O&&!!g,isViewOnlyActive:!!N?.viewOnly,setActiveSubAccountId:q,createSubAccount:F,renameSubAccount:j,archiveSubAccount:P,refresh:()=>{k(e=>e+1),S(!1)}}),[M,N,O,g,q,F,j,P]);return(0,l.jsx)(p.Provider,{value:Q,children:e})},"useSubAccounts",0,function(){let e=(0,t.useContext)(p);if(!e)throw Error("useSubAccounts requires SubAccountsProvider");return e},"useSubAccountsOptional",0,y],848900);var m=e.i(355819);let g=new Set,v=new Map,b=new Set,w=new Map;e.s(["useWalletAccount",0,function(){var e,r,s,i;let l,c=(0,o.useTorqueWalletContextOptional)(),f=y(),h=c?.smartWalletAddress??null,p=c?.smartWalletAuthJWT??null,x=c?.authSessionHydrated??!0,{authProof:A,isLoading:C}=(0,u.useWalletMutationAuth)(),S=f?.active??null,E=!!S?.viewOnly,k=!!(S&&(S.index>0||S.viewOnly)),O=(0,t.useMemo)(()=>h?(0,d.canonicalWalletAddressForClient)(h):null,[h]),W=a(n.api.users.getMyUser,O&&A&&!C?{walletAddress:O,authProof:A}:"skip").data,M=a(n.api.users.getUserByWallet,O&&(!A||C)?{walletAddress:O}:"skip").data,N=W??M;e=k?null:h,r=N??void 0,(0,t.useEffect)(()=>{e&&p&&void 0!==r&&function(e,t){if(g.has(e)||v.get(e))return;g.add(e);let r=fetch("/api/smart-wallet/get-or-create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({authJWT:t})}).then(()=>void 0).catch(()=>void 0).finally(()=>{v.delete(e)});v.set(e,r)}((0,d.canonicalWalletAddressForClient)(e),p)},[e,p,r]),s=k?null:h,i=N??void 0,l=(0,t.useRef)(!1),(0,t.useEffect)(()=>{!s||!p||void 0===i||(i?.btcDepositAddress??"").trim()||l.current||(l.current=!0,fetch("/api/v1/user/deposit/btc",{headers:{Authorization:`Bearer ${p}`}}).then(e=>{e.ok||(l.current=!1)}).catch(()=>{l.current=!1}))},[s,p,i]);let q=E&&S?.walletAddress?S.walletAddress:h,F=!!h,j=h?"smart":null,P=(0,m.useAuthenticatedUserMutation)(n.api.users.upsertUser),Q=(0,t.useRef)(null),R=(0,t.useCallback)(async e=>{let t=(0,d.canonicalWalletAddressForClient)(e);if(b.has(t)){Q.current=e;return}let r=w.get(t);r||(r=(async()=>{await P({walletAddress:t}),b.add(t)})().finally(()=>{w.delete(t)}),w.set(t,r));try{await r,Q.current=e}catch(s){b.delete(t);let r=s instanceof Error?s.message:String(s);/session expired/i.test(r)||console.error("Failed to create/update account for wallet:",e,s)}},[P]),D=(0,t.useCallback)(async e=>{let t=(0,d.canonicalWalletAddressForClient)(e);if(b.has(t))try{await P({walletAddress:t})}catch(r){let t=r instanceof Error?r.message:String(r);/session expired/i.test(t)||console.error("Failed to update lastSeen for wallet:",e,r)}},[P]);(0,t.useEffect)(()=>
177{if(F&&q){if(p)A&&(k||(Q.current!==q?R(q):D(q)))}else F||(b.clear(),w.clear(),g.clear(),v.clear(),Q.current=null)},[F,q,p,A,C,R,D,k]);let T=(0,t.useMemo)(()=>S?.walletAddress?.startsWith("0x")?S.walletAddress:q?.startsWith("0x")?q:N?.walletAddress&&N.walletAddress.startsWith("0x")?N.walletAddress:null,[S?.walletAddress,N?.walletAddress,q]),_=(0,t.useMemo)(()=>S?.solanaWalletAddress?S.solanaWalletAddress:N?.solanaWalletAddress??(q&&!q.startsWith("0x")?q:null),[S?.solanaWalletAddress,N?.solanaWalletAddress,q]),I=(0,t.useMemo)(()=>S?.btcDepositAddress?S.btcDepositAddress.trim()||null:(N?.btcDepositAddress??"").trim()||null,[S?.btcDepositAddress,N?.btcDepositAddress]);return{address:q,isConnected:F,walletType:j,smartWalletAuthJWT:p,authSessionHydrated:x,userPreferences:W?.preferences??M?.preferences,isUserProfileReady:!O||void 0!==N,evmAddress:T,solanaAddress:_,btcDepositAddress:I}}],435057)}]);
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.