1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{4853:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8525:(e,t,n)=>{"use strict";n.d(t,{U:()=>a});var r=n(45831);let a=()=>(0,r.createBrowserClient)("https://bhrvlsjlpbxpxdighsmz.supabase.co","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImJocnZsc2pscGJ4cHhkaWdoc216Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3Mzg1MTM5MDEsImV4cCI6MjA1NDA4OTkwMX0.9JjS6DMeaHQoYoMEgpjFJFp9WtCAbxL859cFFTNgPPY")},20063:(e,t,n)=>{"use strict";var r=n(47260);n.o(r,"useParams")&&n.d(t,{useParams:function(){return r.useParams}}),n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},29293:(e,t,n)=>{"use strict";n.d(t,{A:()=>s,AuthProvider:()=>u});var r=n(95155),a=n(12115),o=n(20063);let i=(0,n(8525).U)(),l=(0,a.createContext)(null);function s(){let e=(0,a.useContext)(l);if(!e)throw Error("useAuth must be used within an AuthProvider");return e}function u(e){let{children:t}=e,[n,s]=(0,a.useState)(null),[u,c]=(0,a.useState)(null),[d,f]=(0,a.useState)(!0),[g,h]=(0,a.useState)(!1),m=(0,o.useRouter)(),p=(0,o.usePathname)(),_=(0,a.useCallback)(async e=>{try{let{data:t,error:n}=await i.from("profiles").select("*").eq("id",e).single();n?c(null):c(t)}catch(e){c(null)}finally{f(!1)}},[]);(0,a.useEffect)(()=>{h(!0);let e=setTimeout(()=>{f(!1)},5e3),t=!1,{data:{subscription:n}}=i.auth.onAuthStateChange(async(n,r)=>{var a;t||(clearTimeout(e),t=!0),s(null!=(a=null==r?void 0:r.user)?a:null),(null==r?void 0:r.user)?_(r.user.id):(c(null),f(!1))}),r=n=>{let{data:{session:r},error:a}=n;if(t||(clearTimeout(e),t=!0),a)return void f(!1);(null==r?void 0:r.user)?(s(r.user),_(r.user.id)):(s(null),c(null),f(!1))},a=setTimeout(()=>{i.auth.getSession().then(r).catch(()=>{t||(clearTimeout(e),t=!0),f(!1)})},0),o=()=>{"visible"===document.visibilityState&&i.auth.getSession().then(r).catch(()=>{})};return document.addEventListener("visibilitychange",o),()=>{clearTimeout(a),document.removeEventListener("visibilitychange",o),n.unsubscribe(),clearTimeout(e)}},[_]),(0,a.useEffect)(()=>{g&&i.auth.getSession().then(e=>{var t;let{data:{session:n}}=e;s(null!=(t=null==n?void 0:n.user)?t:null),(null==n?void 0:n.user)?_(n.user.id):c(null)}).catch(()=>{})},[p,g,_]);let b=async()=>{if(!g)throw Error("Authentication is not configured.");let{data:e,error:t}=await i.auth.signInWithOAuth({provider:"google",options:{redirectTo:"".concat(window.location.origin,"/auth/callback")}});if(t)throw t;return e},w=async()=>{if(!g)throw Error("Authentication is not configured.");let{data:e,error:t}=await i.auth.signInWithOAuth({provider:"github",options:{redirectTo:"".concat(window.location.origin,"/auth/callback")}});if(t)throw t;return e},y=async()=>{let{error:e}=await i.auth.signOut();if(e)throw e;s(null),c(null),m.push("/")},v=async e=>{if(!n)throw Error("User must be logged in to update profile");let{data:t,error:r}=await i.from("profiles").select("username, full_name").eq("id",n.id).single();r&&"PGRST116"!==r.code&&console.warn("Error fetching current profile (non-fatal):",r);let a={...e};if((null==t?void 0:t.username)&&delete a.username,(null==t?void 0:t.full_name)&&delete a.full_name,Object.keys(a).forEac
1h(e=>{(void 0===a[e]||""===a[e])&&delete a[e]}),0===Object.keys(a).length)throw Error("No data to update");let{data:o,error:l}=await i.from("profiles").upsert({id:n.id,...a,updated_at:new Date().toISOString()},{onConflict:"id"}).select().single();if(l)throw Error(l.message||"Failed to update profile");if(!o)throw Error("Profile update returned no data");return c(o),o},x=(0,a.useCallback)(async()=>{n&&await _(n.id)},[n,_]);return(0,r.jsx)(l.Provider,{value:{user:n,profile:u,loading:d,authEnabled:g,signInWithGoogle:b,signInWithGitHub:w,signOut:y,updateProfile:v,refreshProfile:x},children:t})}},30889:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,41290,23)),Promise.resolve().then(n.t.bind(n,55642,23)),Promise.resolve().then(n.bind(n,70240)),Promise.resolve().then(n.bind(n,29293)),Promise.resolve().then(n.bind(n,68332)),Promise.resolve().then(n.bind(n,98202)),Promise.resolve().then(n.bind(n,57445)),Promise.resolve().then(n.t.bind(n,41402,23)),Promise.resolve().then(n.t.bind(n,89685,23)),Promise.resolve().then(n.t.bind(n,81505,23))},41290:()=>{},41402:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return _},handleClientScriptLoad:function(){return h},initScriptLoader:function(){return m}});let r=n(28140),a=n(49417),o=n(95155),i=r._(n(47650)),l=a._(n(12115)),s=n(82073),u=n(94681),c=n(4853),d=new Map,f=new Set,g=e=>{let{src:t,id:n,onLoad:r=()=>{},onReady:a=null,dangerouslySetInnerHTML:o,children:l="",strategy:s="afterInteractive",onError:c,stylesheets:g}=e,h=n||t;if(h&&f.has(h))return;if(d.has(t)){f.add(h),d.get(t).then(r,c);return}let m=()=>{a&&a(),f.add(h)},p=document.createElement("script"),_=new Promise((e,t)=>{p.addEventListener("load",function(t){e(),r&&r.call(this,t),m()}),p.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(p.innerHTML=o.__html||"",m()):l?(p.textContent="string"==typeof l?l:Array.isArray(l)?l.join(""):"",m()):t&&(p.src=t,d.set(t,_)),(0,u.setAttributesFromProps)(p,e),"worker"===s&&p.setAttribute("type","text/partytown"),p.setAttribute("data-nscript",s),g&&(e=>{if(i.default.preinit)return e.forEach(e=>{i.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)})}})(g),document.body.appendChild(p)};function h(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>g(e))}):g(e)}function m(e){e.forEach(h),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");f.add(t)})}function p(e){let{id:t,src:n="",onLoad:r=()=>{},onReady:a=null,strategy:u="afterInteractive",onError:d,stylesheets:h,...m}=e,{updateScripts:p,scripts:_,getIsSsr:b,appDir:w,nonce:y}=(0,l.useContext)(s.HeadManagerContext);y=m.nonce||y;let v=(0,l.useRef)(!1);(0,l.useEffect)(()=>{let e=t||n;v.current||(a&&e&&f.has(e)&&a(),v.current=!0)},[a,t,n]);let x=(0,l.useRef)(!1);if((0,l.useEffect)(()=>{if(!x.current){if("afterInteractive"===u)g(e);else"lazyOnload"===u&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>g(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>g(e))}));x.current=!0}},[e,u]),("beforeInteractive"===u||"worker"===u)&&(p?(_[u]=(_[u]||[]).concat([{id:t,src:n,onLoad:r,onReady:a,onError:d,...m,nonce:y}]),p(_)):b&&b()?f.add(t||n):b&&!b()&&g({...e,nonce:y})),w){if(h&&h.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===u)if(!n)return m.dangerouslySetInnerHTML&&(m.children=m.dangerouslySetInnerHTML.__html,delete m.dangerouslySetInnerHTML),(0,o.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...m,id:t}])+")"}});else return i.default.preload(n,m.integrity?{as:"script",integrity:m.integrity,nonce:y,crossOrigin:m.crossOrigin}:{as:"script",nonce:y,crossOrigin:m.crossOrigin}),(0,o.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+J
1SON.stringify([n,{...m,id:t}])+")"}});"afterInteractive"===u&&n&&i.default.preload(n,m.integrity?{as:"script",integrity:m.integrity,nonce:y,crossOrigin:m.crossOrigin}:{as:"script",nonce:y,crossOrigin:m.crossOrigin})}return null}Object.defineProperty(p,"__nextScript",{value:!0});let _=p;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},55642:()=>{},57445:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){let{html:t,height:n=null,width:o=null,children:i,dataNtpc:l=""}=e;return(0,a.useEffect)(()=>{l&&performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-".concat(l)}})},[l]),(0,r.jsxs)(r.Fragment,{children:[i,t?(0,r.jsx)("div",{style:{height:null!=n?"".concat(n,"px"):"auto",width:null!=o?"".concat(o,"px"):"auto"},"data-ntpc":l,dangerouslySetInnerHTML:{__html:t}}):null]})};let r=n(95155),a=n(12115)},68321:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a.a});var r=n(41402),a=n.n(r),o={};for(let e in r)"default"!==e&&(o[e]=()=>r[e]);n.d(t,o)},68332:(e,t,n)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.GoogleAnalytics=function(e){let{gaId:t,debugMode:n,dataLayerName:l="dataLayer",nonce:s}=e;return void 0===r&&(r=l),(0,o.useEffect)(()=>{performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-ga"}})},[]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.default,{id:"_next-ga-init",dangerouslySetInnerHTML:{__html:"\n window['".concat(l,"'] = window['").concat(l,"'] || [];\n function gtag(){window['").concat(l,"'].push(arguments);}\n gtag('js', new Date());\n\n gtag('config', '").concat(t,"' ").concat(n?",{ 'debug_mode': true }":"",");")},nonce:s}),(0,a.jsx)(i.default,{id:"_next-ga",src:"https://www.googletagmanager.com/gtag/js?id=".concat(t),nonce:s})]})},t.sendGAEvent=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(void 0===r)return void console.warn("@next/third-parties: GA has not been initialized");window[r]?window[r].push(arguments):console.warn("@next/third-parties: GA dataLayer ".concat(r," does not exist"))};let a=n(95155),o=n(12115),i=function(e){return e&&e.__esModule?e:{default:e}}(n(68321))},70240:(e,t,n)=>{"use strict";n.d(t,{Toaster:()=>o});var r=n(95155),a=n(18720);let o=e=>{let{...t}=e;return(0,r.jsx)(a.l$,{theme:"light",className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})}},81505:e=>{e.exports={style:{fontFamily:"'IBM Plex Mono', 'IBM Plex Mono Fallback'",fontStyle:"normal"},className:"__className_b4c22e",variable:"__variable_b4c22e"}},89685:e=>{e.exports={style:{fontFamily:"'IBM Plex Sans', 'IBM Plex Sans Fallback'",fontStyle:"normal"},className:"__className_c8daab",variable:"__variable_c8daab"}},98202:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sendGTMEvent=void 0,t.GoogleTagManager=function(e){let{gtmId:t,gtmScriptUrl:n="https://www.googletagmanager.com/gtm.js",dataLayerName:l="dataLayer",auth:s,preview:u,dataLayer:c,nonce:d}=e;i=l;let f="dataLayer"!==l?"&l=".concat(l):"";return(0,a.useEffect)(()=>{performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-gtm"}})},[]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.default,{id:"_next-gtm-init",dangerouslySetInnerHTML:{__html:"\n (function(w,l){\n w[l]=w[l]||[];\n w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});\n ".concat(c?"w[l].push(".concat(JSON.stringify(c),")"):"","\n })(window,'").concat(l,"');")},nonce:d}),(0,r.jsx)(o.default,{id:"_next-gtm","data-ntpc":"GTM",src:"".concat(n,"?id=").concat(t).concat(f).concat(s?">m_auth=".concat(s):"").concat(u?">m_preview=".concat(u,">m_cookies_win=x"):""),nonce:d})]})};
1let r=n(95155),a=n(12115),o=function(e){return e&&e.__esModule?e:{default:e}}(n(68321)),i="dataLayer";t.sendGTMEvent=(e,t)=>{let n=t||i;window[n]=window[n]||[],window[n].push(e)}}},e=>{e.O(0,[1741,9857,5831,8720,8441,1255,7358],()=>e(e.s=30889)),_N_E=e.O()}]);
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.