1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7287f64e-d7d5-49a1-a504-c9d1da1c93af",e._sentryDebugIdIdentifier="sentry-dbid-7287f64e-d7d5-49a1-a504-c9d1da1c93af")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{5620:function(e,t,n){Promise.resolve().then(n.t.bind(n,6827,23)),Promise.resolve().then(n.bind(n,7982)),Promise.resolve().then(n.bind(n,9410)),Promise.resolve().then(n.bind(n,5575)),Promise.resolve().then(n.bind(n,5057)),Promise.resolve().then(n.t.bind(n,4349,23)),Promise.resolve().then(n.t.bind(n,1580,23))},7982:function(e,t,n){"use strict";n.d(t,{default:function(){return ei}});var r=n(4864),a=n(4728),o=n(9463),s=n(6146),i=n(9939),l=n(2307),d=n(9301),c=n(4746),u=n(5748),f=n(8748),p=n(2393),m=n(4553),h=n(7213),x=n(4619),g=n(3431),v=n(556),y="Dialog",[b,N]=(0,i.b)(y),[j,w]=b(y),R=e=>{let{__scopeDialog:t,children:n,open:o,defaultOpen:s,onOpenChange:i,modal:c=!0}=e,u=a.useRef(null),f=a.useRef(null),[p=!1,m]=(0,d.T)({prop:o,defaultProp:s,onChange:i});return(0,r.jsx)(j,{scope:t,triggerRef:u,contentRef:f,contentId:(0,l.M)(),titleId:(0,l.M)(),descriptionId:(0,l.M)(),open:p,onOpenChange:m,onOpenToggle:a.useCallback(()=>m(e=>!e),[m]),modal:c,children:n})};R.displayName=y;var E="DialogTrigger",_=a.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,i=w(E,n),l=(0,s.e)(t,i.triggerRef);return(0,r.jsx)(m.WV.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":J(i.open),...a,ref:l,onClick:(0,o.M)(e.onClick,i.onOpenToggle)})});_.displayName=E;var I="DialogPortal",[O,D]=b(I,{forceMount:void 0}),P=e=>{let{__scopeDialog:t,forceMount:n,children:o,container:s}=e,i=w(I,t);return(0,r.jsx)(O,{scope:t,forceMount:n,children:a.Children.map(o,e=>(0,r.jsx)(p.z,{present:n||i.open,children:(0,r.jsx)(f.h,{asChild:!0,container:s,children:e})}))})};P.displayName=I;var M="DialogOverlay",C=a.forwardRef((e,t)=>{let n=D(M,e.__scopeDialog),{forceMount:a=n.forceMount,...o}=e,s=w(M,e.__scopeDialog);return s.modal?(0,r.jsx)(p.z,{present:a||s.open,children:(0,r.jsx)(k,{...o,ref:t})}):null});C.displayName=M;var k=a.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,o=w(M,n);return(0,r.jsx)(x.Z,{as:v.g7,allowPinchZoom:!0,shards:[o.contentRef],children:(0,r.jsx)(m.WV.div,{"data-state":J(o.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),A="DialogContent",T=a.forwardRef((e,t)=>{let n=D(A,e.__scopeDialog),{forceMount:a=n.forceMount,...o}=e,s=w(A,e.__scopeDialog);return(0,r.jsx)(p.z,{present:a||s.open,children:s.modal?(0,r.jsx)(F,{...o,ref:t}):(0,r.jsx)(W,{...o,ref:t})})});T.displayName=A;var F=a.forwardRef((e,t)=>{let n=w(A,e.__scopeDialog),i=a.useRef(null),l=(0,s.e)(t,n.contentRef,i);return a.useEffect(()=>{let e=i.current;if(e)return(0,g.Ry)(e)},[]),(0,r.jsx)(z,{...e,ref:l,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.M)(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null===(t=n.triggerRef.current)||void 0===t||t.focus()}),onPointerDownOutside:(0,o.M)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,o.M)(e.onFocusOutside,e=>e.preventDefault())})}),W=a.forwardRef((e,t)=>{let n=w(A,e.__scopeDialog),o=a.useRef(!1),s=a.useRef(!1);return(0,r.jsx)(z,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var r,a;null===(r=e.onCloseAutoFocus)||void 0===r||r.call(e,t),t.defaultPrevented||(o.current||null===(a=n.triggerRef.current)||void 0===a||a.focus(),t.preventDefault()),o.current=!1,s.current=!1},onInteractOutside:t=>{var r,a;null===(r=e.onInteractOutside)||void 0===r||r.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"!==t.detail.originalEvent.type||(s.current=!0));let i=t.target;(null===(a=n.triggerRef.current)||void 0===a?void 0:a.contains(i))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),z=a.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:l,...d}=e,f=w(A,n),p=a.useRef(null),m=(0,s.e)(t,p);return(0,h.EW)(),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.M,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:l,children:(0,r.jsx)(c.XB,{role:"dialog",id:f.contentId,"aria-describedby":f.descriptionId,"aria-labelledby":f.titleId,"data-state":J(f.open),...d,ref:m,onDismiss:()=>f.onOpenChange(!1)})}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(q,{titleId:f.titleId}),(0,r.jsx)(G,{contentRef:p,descriptionId:f.descriptionId})]})]})}),U="DialogTitle",L=a.forwardRef((e,t)=>
1{let{__scopeDialog:n,...a}=e,o=w(U,n);return(0,r.jsx)(m.WV.h2,{id:o.titleId,...a,ref:t})});L.displayName=U;var S="DialogDescription",V=a.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,o=w(S,n);return(0,r.jsx)(m.WV.p,{id:o.descriptionId,...a,ref:t})});V.displayName=S;var B="DialogClose",$=a.forwardRef((e,t)=>{let{__scopeDialog:n,...a}=e,s=w(B,n);return(0,r.jsx)(m.WV.button,{type:"button",...a,ref:t,onClick:(0,o.M)(e.onClick,()=>s.onOpenChange(!1))})});function J(e){return e?"open":"closed"}$.displayName=B;var Z="DialogTitleWarning",[H,X]=(0,i.k)(Z,{contentName:A,titleName:U,docsSlug:"dialog"}),q=e=>{let{titleId:t}=e,n=X(Z),r="`".concat(n.contentName,"` requires a `").concat(n.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(n.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(n.docsSlug);return a.useEffect(()=>{t&&!document.getElementById(t)&&console.error(r)},[r,t]),null},G=e=>{let{contentRef:t,descriptionId:n}=e,r=X("DialogDescriptionWarning"),o="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(r.contentName,"}.");return a.useEffect(()=>{var e;let r=null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby");n&&r&&!document.getElementById(n)&&console.warn(o)},[o,t,n]),null},K=n(4305);/** 2 * @license lucide-react v0.408.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */let Q=(0,n(6717).Z)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var Y=n(9405);let ee=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)(C,{className:(0,Y.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n),...a,ref:t})});ee.displayName=C.displayName;let et=(0,K.j)("fixed z-50 gap-4 bg-primary p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),en=a.forwardRef((e,t)=>{let{side:n="right",className:a,children:o,...s}=e;return(0,r.jsxs)(P,{children:[(0,r.jsx)(ee,{}),(0,r.jsxs)(T,{ref:t,className:(0,Y.cn)(et({side:n}),a),...s,children:[o,(0,r.jsxs)($,{className:"absolute right-4 top-4 roun
6ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,r.jsx)(Q,{className:"text-3xl text-accent"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});en.displayName=T.displayName,a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)(L,{ref:t,className:(0,Y.cn)("text-lg font-semibold text-foreground",n),...a})}).displayName=L.displayName,a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)(V,{ref:t,className:(0,Y.cn)("text-sm text-muted-foreground",n),...a})}).displayName=V.displayName;var er=n(6645),ea=n(57),eo=n(771);let es=[{name:"home",path:"/"},{name:"resume",path:"/resume"},{name:"work",path:"/work"},{name:"contact",path:"/contact"}];var ei=()=>{let e=(0,er.usePathname)();return(0,r.jsxs)(R,{children:[(0,r.jsx)(_,{children:(0,r.jsx)(ea.F3G,{className:"text-[32px] text-accent"})}),(0,r.jsxs)(en,{className:"flex flex-col",children:[(0,r.jsx)("div",{className:"my-20 text-center text-2xl",children:(0,r.jsx)(eo.default,{href:"/",children:(0,r.jsxs)("h1",{className:"text-4xl font-semibold",children:["Jerry",(0,r.jsx)("span",{className:"text-accent",children:"."})]})})}),(0,r.jsx)("nav",{className:"flex flex-col justify-center items-center gap-8",children:es.map(t=>(0,r.jsx)(eo.default,{href:t.path,className:(0,Y.cn)("text-xl capitalize hover:text-accent transition-all",t.path===e&&"text-accent border-b-2 border-accent"),children:(0,r.jsx)($,{children:t.name})},t.name))})]})]})}},9410:function(e,t,n){"use strict";var r=n(4864),a=n(9405),o=n(771),s=n(6645);n(4728);let i=[{name:"home",path:"/"},{name:"resume",path:"/resume"},{name:"work",path:"/work"},{name:"contact",path:"/contact"}];t.default=()=>{let e=(0,s.usePathname)();return(0,r.jsx)("nav",{className:"flex gap-8",children:i.map((t,n)=>(0,r.jsx)(o.default,{href:t.path,className:(0,a.cn)("capitalize font-medium hover:text-accent transition-all",t.path===e&&"text-accent border-b-2 border-accent"),children:t.name},t.name))})}},5575:function(e,t,n){"use strict";var r=n(4864),a=n(330),o=n(2192),s=n(6645);n(4728),t.default=e=>{let{children:t}=e,n=(0,s.usePathname)();return(0,r.jsx)(a.M,{children:(0,r.jsxs)("div",{children:[(0,r.jsx)(o.E.div,{initial:{opacity:1},animate:{opacity:0,transition:{delay:1,duration:.4,ease:"easeInOut"}},className:"h-screen w-screen fixed bg-primary top-0 pointer-events-none"}),t]},n)})}},5057:function(e,t,n){"use strict";n.d(t,{default:function(){return c}});var r=n(4864),a=n(330),o=n(6645);n(4728);var s=n(2192);let i={initial:{top:"0%"},animate:{top:"100%"},exit:{top:["100%","0%"]}},l=e=>6-e-1;var d=()=>(0,r.jsx)(r.Fragment,{children:[...Array(6)].map((e,t)=>(0,r.jsx)(s.E.div,{variants:i,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.4,ease:"easeInOut",delay:.1*l(t)},className:"h-full w-full bg-white relative"},t))}),c=()=>{let e=(0,o.usePathname)();return(0,r.jsx)(a.M,{children:(0,r.jsx)("div",{children:(0,r.jsx)("div",{className:"h-screen w-screen fixed top-0 left-0 right-0 pointer-events-none z-40 flex",children:(0,r.jsx)(d,{})})},e)})}},9405:function(e,t,n){"use strict";n.d(t,{cn:function(){return o}});var r=n(7817),a=n(3679);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.m6)((0,r.W)(t))}},771:function(e,t,n){"use strict";n.d(t,{default:function(){return a.a}});var r=n(4349),a=n.n(r)},6645:function(e,t,n){"use strict";var r=n(7978);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}})},6827:function(){},1580:function(e){e.exports={style:{fontFamily:"'__JetBrains_Mono_c5dbd7', '__JetBrains_Mono_Fallback_c5dbd7'",fontStyle:"normal"},className:"__className_c5dbd7",variable:"__variable_c5dbd7"}},2393:function(e,t,n){"use strict";n.d(t,{z:function(){return i}});var r=n(4728),a=n(3606),o=n(6146),s=n(855),i=e=>{var t,n;let i,d;let{present:c,children:u}=e,f=function(e){var t,n;let[o,i]=r.useState(),d=r.useRef({}),c=r.useRef(e),u=r.useRef("none"),[f,p]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>
6{let r=n[e][t];return null!=r?r:e},t));return r.useEffect(()=>{let e=l(d.current);u.current="mounted"===f?e:"none"},[f]),(0,s.b)(()=>{let t=d.current,n=c.current;if(n!==e){let r=u.current,a=l(t);e?p("MOUNT"):"none"===a||(null==t?void 0:t.display)==="none"?p("UNMOUNT"):n&&r!==a?p("ANIMATION_OUT"):p("UNMOUNT"),c.current=e}},[e,p]),(0,s.b)(()=>{if(o){let e=e=>{let t=l(d.current).includes(e.animationName);e.target===o&&t&&a.flushSync(()=>p("ANIMATION_END"))},t=e=>{e.target===o&&(u.current=l(d.current))};return o.addEventListener("animationstart",t),o.addEventListener("animationcancel",e),o.addEventListener("animationend",e),()=>{o.removeEventListener("animationstart",t),o.removeEventListener("animationcancel",e),o.removeEventListener("animationend",e)}}p("ANIMATION_END")},[o,p]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:r.useCallback(e=>{e&&(d.current=getComputedStyle(e)),i(e)},[])}}(c),p="function"==typeof u?u({present:f.isPresent}):r.Children.only(u),m=(0,o.e)(f.ref,(i=null===(t=Object.getOwnPropertyDescriptor(p.props,"ref"))||void 0===t?void 0:t.get)&&"isReactWarning"in i&&i.isReactWarning?p.ref:(i=null===(n=Object.getOwnPropertyDescriptor(p,"ref"))||void 0===n?void 0:n.get)&&"isReactWarning"in i&&i.isReactWarning?p.props.ref:p.props.ref||p.ref);return"function"==typeof u||f.isPresent?r.cloneElement(p,{ref:m}):null};function l(e){return(null==e?void 0:e.animationName)||"none"}i.displayName="Presence"},330:function(e,t,n){"use strict";n.d(t,{M:function(){return v}});var r=n(4864),a=n(4728),o=n(8592);function s(){let e=(0,a.useRef)(!1);return(0,o.L)(()=>(e.current=!0,()=>{e.current=!1}),[]),e}var i=n(8100),l=n(245),d=n(8581),c=n(8951);class u extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){let e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function f({children:e,isPresent:t}){let n=(0,a.useId)(),o=(0,a.useRef)(null),s=(0,a.useRef)({width:0,height:0,top:0,left:0}),{nonce:i}=(0,a.useContext)(c._);return(0,a.useInsertionEffect)(()=>{let{width:e,height:r,top:a,left:l}=s.current;if(t||!o.current||!e||!r)return;o.current.dataset.motionPopId=n;let d=document.createElement("style");return i&&(d.nonce=i),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` 7 [data-motion-pop-id="${n}"] { 8 position: absolute !important; 9 width: ${e}px !important; 10 height: ${r}px !important; 11 top: ${a}px !important; 12 left: ${l}px !important; 13 } 14 `),()=>{document.head.removeChild(d)}},[t]),(0,r.jsx)(u,{isPresent:t,childRef:o,sizeRef:s,children:a.cloneElement(e,{ref:o})})}let p=({children:e,initial:t,isPresent:n,onExitComplete:o,custom:s,presenceAffectsLayout:i,mode:c})=>{let u=(0,d.h)(m),p=(0,a.useId)(),h=(0,a.useMemo)(()=>({id:p,initial:t,isPresent:n,custom:s,onExitComplete:e=>
14{for(let t of(u.set(e,!0),u.values()))if(!t)return;o&&o()},register:e=>(u.set(e,!1),()=>u.delete(e))}),i?[Math.random()]:[n]);return(0,a.useMemo)(()=>{u.forEach((e,t)=>u.set(t,!1))},[n]),a.useEffect(()=>{n||u.size||!o||o()},[n]),"popLayout"===c&&(e=(0,r.jsx)(f,{isPresent:n,children:e})),(0,r.jsx)(l.O.Provider,{value:h,children:e})};function m(){return new Map}var h=n(202),x=n(9501);let g=e=>e.key||"",v=({children:e,custom:t,initial:n=!0,onExitComplete:l,exitBeforeEnter:d,presenceAffectsLayout:c=!0,mode:u="sync"})=>{var f;(0,x.k)(!d,"Replace exitBeforeEnter with mode='wait'");let m=(0,a.useContext)(h.p).forceRender||function(){let e=s(),[t,n]=(0,a.useState)(0),r=(0,a.useCallback)(()=>{e.current&&n(t+1)},[t]);return[(0,a.useCallback)(()=>i.Wi.postRender(r),[r]),t]}()[0],v=s(),y=function(e){let t=[];return a.Children.forEach(e,e=>{(0,a.isValidElement)(e)&&t.push(e)}),t}(e),b=y,N=(0,a.useRef)(new Map).current,j=(0,a.useRef)(b),w=(0,a.useRef)(new Map).current,R=(0,a.useRef)(!0);if((0,o.L)(()=>{R.current=!1,function(e,t){e.forEach(e=>{let n=g(e);t.set(n,e)})}(y,w),j.current=b}),f=()=>{R.current=!0,w.clear(),N.clear()},(0,a.useEffect)(()=>()=>f(),[]),R.current)return(0,r.jsx)(r.Fragment,{children:b.map(e=>(0,r.jsx)(p,{isPresent:!0,initial:!!n&&void 0,presenceAffectsLayout:c,mode:u,children:e},g(e)))});b=[...b];let E=j.current.map(g),_=y.map(g),I=E.length;for(let e=0;e<I;e++){let t=E[e];-1!==_.indexOf(t)||N.has(t)||N.set(t,void 0)}return"wait"===u&&N.size&&(b=[]),N.forEach((e,n)=>{if(-1!==_.indexOf(n))return;let a=w.get(n);if(!a)return;let o=E.indexOf(n),s=e;s||(s=(0,r.jsx)(p,{isPresent:!1,onExitComplete:()=>{N.delete(n);let e=Array.from(w.keys()).filter(e=>!_.includes(e));if(e.forEach(e=>w.delete(e)),j.current=y.filter(t=>{let r=g(t);return r===n||e.includes(r)}),!N.size){if(!1===v.current)return;m(),l&&l()}},custom:t,presenceAffectsLayout:c,mode:u,children:a},g(a)),N.set(n,s)),b.splice(o,0,s)}),b=b.map(e=>{let t=e.key;return N.has(t)?e:(0,r.jsx)(p,{isPresent:!0,presenceAffectsLayout:c,mode:u,children:e},g(e))}),(0,r.jsx)(r.Fragment,{children:N.size?b:b.map(e=>(0,a.cloneElement)(e))})}}},function(e){e.O(0,[813,337,192,65,349,743,295,101,321,744],function(){return e(e.s=5620)}),_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.