<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import{r as n,j as e}from"./jsx-runtime-DexIYAB0.js";import{a as q,t as F,T as Q,G as X,b as ee}from"./image-C1X7dIBT.js";import{E as te}from"./error-DXpjNmHe.js";import{V as se}from"./visually-hidden-CSj2c425.js";import{c as ne,B as G,I,g as ae,b as oe,m as E,a as re,n as ie,t as R}from"./heading-CuE4i2dv.js";import{u as le}from"./useScrollToHash-BEdkQtOg.js";import{u as ce}from"./useWindowSize-mzNSXuUf.js";import{c as _}from"./config-pF6VysPx.js";import{k as me,u as J,n as he,o as de,q as ue,L as S,s as V,c as fe,t as ge,M as W,v as U,O as pe,S as Y,b as ve}from"./components-D1Eb6D8q.js";import"./decoder-text-Cd0lLdJD.js";import"./use-spring-BI9aZUxt.js";import"./index-Ck_T3IlA.js";/**
 * @remix-run/react v2.7.1
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */let O="positions";function Z({getKey:t,...s}){let{isSpaMode:a}=me(),i=J(),o=he();de({getKey:t,storageKey:O});let l=n.useMemo(()=&gt;{if(!t)return null;let r=t(i,o);return r!==i.key?r:null},[]);if(a)return null;let m=((r,p)=&gt;{if(!window.history.state||!window.history.state.key){let v=Math.random().toString(32).slice(2);window.history.replaceState({key:v},"")}try{let k=JSON.parse(sessionStorage.getItem(r)||"{}")[p||window.history.state.key];typeof k=="number"&amp;&amp;window.scrollTo(0,k)}catch(v){console.error(v),sessionStorage.removeItem(r)}}).toString();return n.createElement("script",ue({},s,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${m})(${JSON.stringify(O)}, ${JSON.stringify(l)})`}}))}const xe="_monogram_o6dcq_2",_e="_highlight_o6dcq_9",A={monogram:xe,highlight:_e},je=n.forwardRef(({highlight:t,className:s,...a},i)=&gt;{const l=`${n.useId()}monogram-clip`;return e.jsxs("svg",{"aria-hidden":!0,className:ne(A.monogram,s),width:"60",height:"40",viewBox:"0 0 35 50",ref:i,...a,children:[e.jsx("defs",{children:e.jsx("clipPath",{id:l,children:e.jsx("path",{d:"M3.18 7.85C2.06 7.85 0.97 7.01 0.48 6.52L0.48 9.70C1.40 10.63 2.76 10.72 3.54 10.72C5.78 10.72 7.74 9.51 7.74 6.99C7.74 5.92 7.15 5.05 6.34 4.70C5.28 4.23 4.07 4.30 4.07 3.77C4.07 3.47 4.61 3.43 4.75 3.43C5.50 3.43 6.37 3.61 7.39 4.34L7.39 1.50C6.29 0.62 5.19 0.49 4.12 0.49C2.56 0.49 0.31 1.23 0.31 3.77C0.31 7.15 3.99 6.52 3.99 7.43C3.99 7.66 3.82 7.85 3.18 7.85Z",transform:"scale(4)"})})}),e.jsx("rect",{clipPath:`url(#${l})`,width:"100%",height:"100%"}),t&amp;&amp;e.jsx("g",{clipPath:`url(#${l})`,children:e.jsx("rect",{className:A.highlight,width:"100%",height:"100%"})})]})}),be="_toggle_1lvbt_2",ke="_inner_1lvbt_17",ye="_icon_1lvbt_25",N={toggle:be,inner:ke,icon:ye},Ne=({menuOpen:t,...s})=&gt;e.jsx(G,{iconOnly:!0,className:N.toggle,"aria-label":"Menu","aria-expanded":t,...s,children:e.jsxs("div",{className:N.inner,children:[e.jsx(I,{className:N.icon,"data-menu":!0,"data-open":t,icon:"menu"}),e.jsx(I,{className:N.icon,"data-close":!0,"data-open":t,icon:"close"})]})}),we="_toggle_1phd7_2",Le="_circle_1phd7_29",Se="_mask_1phd7_54",Ie="_path_1phd7_72",x={toggle:we,circle:Le,mask:Se,path:Ie},H=({isMobile:t,...s})=&gt;{const a=n.useId(),{toggleTheme:i}=q(),o=`${a}theme-toggle-mask`;return e.jsx(G,{iconOnly:!0,className:x.toggle,"data-mobile":t,"aria-label":"Toggle theme",onClick:()=&gt;i(),...s,children:e.jsxs("svg",{"aria-hidden":!0,className:x.svg,width:"38",height:"38",viewBox:"0 0 38 38",children:[e.jsx("defs",{children:e.jsxs("mask",{id:o,children:[e.jsx("circle",{className:x.circle,"data-mask":!0,cx:"19",cy:"19",r:"13"}),e.jsx("circle",{className:x.mask,cx:"25",cy:"14",r:"9"})]})}),e.jsx("path",{className:x.path,d:"M19 3v7M19 35v-7M32.856 11l-6.062 3.5M5.144 27l6.062-3.5M5.144 11l6.062 3.5M32.856 27l-6.062-3.5"}),e.jsx("circle",{className:x.circle,mask:`url(#${o})`,cx:"19",cy:"19",r:"12"})]})})},P=[{label:"Projects",pathname:"/#project-1"},{label:"Details",pathname:"/#details"},{label:"Articles",pathname:"/articles"},{label:"Contact",pathname:"/contact"}],Te=[{label:"LinkedIn",url:`https://linkedin.com/in/${_.linkedin}`,icon:"linkedin"},{label:"Github",url:`https://github.com/${_.github}`,icon:"github"},{label:"Resume",url:`${_.resume}`,icon:"download"}],Ce="_navbar_zzi78_2",Me="_logo_zzi78_27",$e="_nav_zzi78_2",ze="_navList_zzi78_51",Ee="_navLink_zzi78_59",Re="_navIcons_zzi78_102",Oe="_navIconLink_zzi78_126",Ae="_navIcon_zzi78_102",He="_mobileNav_zzi78_147",Pe="_mobileNavLink_zzi78_177",f={navbar:Ce,logo:Me,nav:$e,navList:ze,navLink:Ee,navIcons:Re,navIconLink:Oe,navIcon:Ae,mobileNav:He,mobileNavLink:Pe},Be=()=&gt;{const[t,s]=n.useState(),[a,i]=n.useState(!1),[o,l]=n.useState(),{theme:m}=q(),r=J(),p=ce(),v=n.useRef(),k=p.width&lt;=ae.mobile||p.height&lt;=696,T=le();n.useEffect(()=&gt;{s(`${r.pathname}${r.hash}`)},[r]),n.useEffect(()=&gt;{!o||r.pathname!=="/"||(s(`${r.pathname}${o}`),T(o,()=&gt;l(null)))},[r.pathname,T,o]),n.useEffect(()=&gt;{const c=document.querySelectorAll("[data-navbar-item]"),h=m==="dark"?"light":"dark",{innerHeight:y}=window;let j=[],b=[];const K=(u,g,d)=&gt;!(u.bottom-d&lt;g.top||u.top-d&gt;g.bottom),z=()=&gt;{for(const u of b)u.element.dataset.theme=""},w=()=&gt;{const u=document.querySelectorAll(`[data-theme='${h}'][data-invert]`);if(!u)return;j=Array.from(u).map(d=&gt;({element:d,top:d.offsetTop,bottom:d.offsetTop+d.offsetHeight}));const{scrollY:g}=window;z();for(const d of j)if(!(d.top-g&gt;y||d.bottom-g&lt;0))for(const L of b)K(d,L,g)?L.element.dataset.theme=h:L.element.dataset.theme=""};return m==="light"&amp;&amp;(b=Array.from(c).map(u=&gt;{const g=u.getBoundingClientRect();return{element:u,top:g.top,bottom:g.bottom}}),document.addEventListener("scroll",w),w()),()=&gt;{document.removeEventListener("scroll",w),z()}},[m,p,r.key]);const C=(c="")=&gt;{const h=t!=null&amp;&amp;t.endsWith("/")?t==null?void 0:t.slice(0,-1):t;return c===h?"page":""},M=c=&gt;{const h=c.currentTarget.href.split("#")[1];l(null),h&amp;&amp;r.pathname==="/"&amp;&amp;(l(`#${h}`),c.preventDefault())},$=c=&gt;{M(c),a&amp;&amp;i(!1)};return e.jsxs("header",{className:f.navbar,ref:v,children:[e.jsx(S,{unstable_viewTransition:!0,prefetch:"intent",to:r.pathname==="/"?"/#intro":"/","data-navbar-item":!0,className:f.logo,"aria-label":`${_.name}, ${_.role}`,onClick:$,children:e.jsx(je,{highlight:!0})}),e.jsx(Ne,{onClick:()=&gt;i(!a),menuOpen:a}),e.jsxs("nav",{className:f.nav,children:[e.jsx("div",{className:f.navList,children:P.map(({label:c,pathname:h})=&gt;e.jsx(S,{unstable_viewTransition:!0,prefetch:"intent",to:h,"data-navbar-item":!0,className:f.navLink,"aria-current":C(h),onClick:M,children:c},c))}),e.jsx(B,{desktop:!0})]}),e.jsx(oe,{unmount:!0,in:a,timeout:E(R.base.durationL),children:({visible:c,nodeRef:h})=&gt;e.jsxs("nav",{className:f.mobileNav,"data-visible":c,ref:h,children:[P.map(({label:y,pathname:j},b)=&gt;e.jsx(S,{unstable_viewTransition:!0,prefetch:"intent",to:j,className:f.mobileNavLink,"data-visible":c,"aria-current":C(j),onClick:$,style:re({transitionDelay:ie(Number(E(R.base.durationS))+b*50)}),children:y},y)),e.jsx(B,{}),e.jsx(H,{isMobile:!0})]})}),!k&amp;&amp;e.jsx(H,{"data-navbar-item":!0})]})},B=({desktop:t})=&gt;e.jsx("div",{className:f.navIcons,children:Te.map(({label:s,url:a,icon:i})=&gt;e.jsx("a",{"data-navbar-item":t||void 0,className:f.navIconLink,"aria-label":s,href:a,target:"_blank",rel:"noopener noreferrer",children:e.jsx(I,{className:f.navIcon,icon:i})},s))}),De="_progress_3typo_2",qe={progress:De};function Fe(){const[t,s]=n.useState(!1),[a,i]=n.useState(!1),{state:o}=V(),l=n.useRef(),m=n.useRef(0);return n.useEffect(()=&gt;{clearTimeout(m.current),o!=="idle"?m.current=setTimeout(()=&gt;{i(!0)},500):t&amp;&amp;(m.current=setTimeout(()=&gt;{i(!1)},300))},[o,t]),n.useEffect(()=&gt;{if(!l.current)return;const r=new AbortController;return o!=="idle"?s(!1):(Promise.all(l.current.getAnimations({subtree:!0}).map(p=&gt;p.finished)).then(()=&gt;{r.signal.aborted||s(!0)}),()=&gt;{r.abort()})},[o]),e.jsx("div",{className:qe.progress,"data-status":o,"data-visible":a,"data-complete":t,ref:l})}const Ge="_container_j3vhn_2",Je="_skip_j3vhn_12",D={container:Ge,skip:Je};const at=()=&gt;[{rel:"preload",href:X,as:"font",type:"font/woff2",crossOrigin:""},{rel:"preload",href:ee,as:"font",type:"font/woff2",crossOrigin:""},{rel:"manifest",href:"/manifest.json"},{rel:"icon",href:"/favicon.ico"},{rel:"icon",href:"/favicon.svg",type:"image/svg+xml"},{rel:"shortcut_icon",href:"/shortcut.png",type:"image/png",sizes:"64x64"},{rel:"apple-touch-icon",href:"/icon-256.png",sizes:"256x256"},{rel:"author",href:"/humans.txt",type:"text/plain"}];function ot(){var l;let{canonicalUrl:t,theme:s}=fe();const a=ge(),{state:i}=V();(l=a.formData)!=null&amp;&amp;l.has("theme")&amp;&amp;(s=a.formData.get("theme"));function o(m){a.submit({theme:m||(s==="dark"?"light":"dark")},{action:"/api/set-theme",method:"post"})}return n.useEffect(()=&gt;{console.info(`${_.ascii}
`,`Taking a peek huh? I know there are console errors.

`,`Go ahead and fill the form, Coffee is on me. â˜•ï¸
`)},[]),e.jsxs("html",{lang:"en",children:[e.jsxs("head",{children:[e.jsx("meta",{charSet:"utf-8"}),e.jsx("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),e.jsx("meta",{name:"theme-color",content:s==="dark"?"#111":"#F2F2F2"}),e.jsx("meta",{name:"color-scheme",content:s==="light"?"light dark":"dark light"}),e.jsx("style",{dangerouslySetInnerHTML:{__html:F}}),e.jsx(W,{}),e.jsx(U,{}),e.jsx("link",{rel:"canonical",href:t})]}),e.jsxs("body",{"data-theme":s,children:[e.jsxs(Q,{theme:s,toggleTheme:o,children:[e.jsx(Fe,{}),e.jsx(se,{showOnFocus:!0,as:"a",className:D.skip,href:"#main-content",children:"Skip to main content"}),e.jsx(Be,{}),e.jsx("main",{id:"main-content",className:D.container,tabIndex:-1,"data-loading":i==="loading",children:e.jsx(pe,{})})]}),e.jsx(Z,{}),e.jsx(Y,{})]})]})}function rt(){const t=ve();return e.jsxs("html",{lang:"en",children:[e.jsxs("head",{children:[e.jsx("meta",{charSet:"utf-8"}),e.jsx("meta",{name:"viewport",content:"width=device-width, initial-scale=1"}),e.jsx("meta",{name:"theme-color",content:"#111"}),e.jsx("meta",{name:"color-scheme",content:"dark light"}),e.jsx("style",{dangerouslySetInnerHTML:{__html:F}}),e.jsx(W,{}),e.jsx(U,{})]}),e.jsxs("body",{"data-theme":"dark",children:[e.jsx(te,{error:t}),e.jsx(Z,{}),e.jsx(Y,{})]})]})}export{rt as ErrorBoundary,ot as default,at as links};
</pre></body></html>