1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2275],{2186:(e,t,n)=>{n.d(t,{AnimateInText:()=>s});var r=n(5167),a=n(4407);n(6343);var l=n(23379),i=n(78293);function s(e){let{children:t,className:n,delay:s=0}=e;return(0,r.jsx)(i.K,{renderLine:(e,t)=>(0,r.jsx)(l.BlurFadeIn,{as:"span",className:(0,a.$)("no-js:hidden relative inline-flex",n),transition:{delay:s+.07*e},children:t},e),children:t})}},10854:(e,t,n)=>{n.d(t,{D:()=>a});var r=n(6343);function a(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t(!0)},[]),e}},16367:(e,t,n)=>{n.d(t,{w:()=>i});var r=n(5167),a=n(99310),l=n(6343);let i=e=>{let{children:t,as:n="div",ref:i,...s}=e,o=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!o.current)return;let e=(0,a.u)(o.current,{});return e.init(),()=>{e.destroy()}},[]),(0,l.useImperativeHandle)(i,()=>o.current),(0,r.jsx)(n,{ref:o,"blossom-carousel":"true",...s,children:t})}},20098:(e,t,n)=>{n.d(t,{R0:()=>a,Y$:()=>l});var r=n(6343);function a(){let e=navigator.userAgent;return/windows phone/i.test(e)?"windows":/android/i.test(e)?"android":/iPad|iPhone|iPod/.test(e)||navigator.userAgent.includes("Mac")&&"ontouchend"in document?"ios":"unknown"}let l=()=>{let[e,t]=(0,r.useState)(!1);return(0,r.useLayoutEffect)(()=>{t(/^((?!chrome|android).)*safari/i.test(navigator.userAgent))},[]),e}},23379:(e,t,n)=>{n.r(t),n.d(t,{BlurFadeIn:()=>h});var r=n(5167),a=n(4407),l=n(96852),i=n(6343),s=n(5881);let o={opacity:0,filter:"blur(20px)",y:50},d={opacity:1,filter:"blur(0px)",y:0},c={once:!0,margin:"0px -20px"},u={...s.$W,duration:.7,ease:s.Yp.IN_OUT_QUART},h=e=>{let{as:t="div",children:n,className:s,transition:h,...g}=e,f=(0,i.useMemo)(()=>l.P.create(t),[t]);return(0,r.jsx)(f,{...g,initial:o,whileInView:d,viewport:c,transition:{...u,...h},className:(0,a.A)("no-js:opacity-100! no-js:filter-none! no-js:transform-[translateY(0)]!",s),children:n})}},25552:(e,t,n)=>{n.d(t,{EL:()=>i,Lg:()=>a,RT:()=>r,XV:()=>l});let r="production",a=function(e,t){if(void 0===e)throw Error(t);return e}("igpikldw","Missing environment variable: NEXT_PUBLIC_SANITY_PROJECT_ID"),l="2024-10-28",i="https://thesis.sanity.studio"},42009:(e,t,n)=>{n.d(t,{O:()=>M});var r=n(5167),a=n(4407),l=n(82022),i=n(15827),s=n(34713),o=n(71272),d=n(96852),c=n(10854),u=n(58887),h=n(58840);let g=(e,t,n,r)=>{let a="";return e&&(a+="rotateX(".concat(e,"deg)")),t&&(a+=" rotateY(".concat(t,"deg)")),n&&(a+=" rotateZ(".concat(n,"deg)")),a+=" translateZ(var(".concat(r?"--z-mobile":"--z","))")},f=e=>{let{text:t,className:n,rotateX:l=0,rotateY:i=0,rotateZ:s=0,theme:o="dark"}=e,d=g(l,i,s,!1),c=g(l,i,s,!0);return(0,r.jsxs)("div",{className:(0,a.$)("backface-hidden absolute flex h-full w-full items-center justify-center overflow-hidden","light"===o?"bg-white":"bg-black","md:transform-[var(--transform)]","max-md:transform-[var(--transform-mobile)]",n),style:{"--transform":d,"--transform-mobile":c,transformOrigin:"center center"},children:[(0,r.jsx)("div",{className:"w-1100 absolute left-1/2 top-1/2 aspect-video -translate-x-1/2 -translate-y-1/2",children:(0,r.jsx)(h.default,{src:"light"===o?"/images/fractal_02.jpg":"/images/fractal_03.jpg",width:1920,height:1080,className:(0,a.$)("h-full w-full object-cover","light"===o?"opacity-40":"opacity-20"),alt:""})}),(0,r.jsx)("div",{className:(0,a.$)("absolute inset-0",(0===i||180===i)&&("light"===o?"bg-[linear-gradient(351deg,#fff_55.74%,rgba(255,255,255,0)_100%)]":"bg-[linear-gradient(351deg,#000_55.74%,rgba(0,0,0,0)_100%)]"),(90===i||270===i)&&("light"===o?"bg-[linear-gradient(135deg,#fff_54.79%,rgba(255,255,255,0)_100%)]":"bg-[linear-gradient(135deg,#000_54.79%,rgba(0,0,0,0)_100%)]"),0!==l&&("light"===o?"bg-[linear-gradient(351deg,#fff_55.74%,rgba(255,255,255,0)_100%)]":"bg-[linear-gradient(351deg,#000_55.74%,rgba(0,0,0,0)_100%)]"))}),t&&(0,r.jsx)(m,{text:t,theme:o})]})},m=e=>{let{text:t,theme:n}=e;return(0,r.jsx)("div",{className:"flex-center absolute inset-0",children:(0,r.jsx)("span",{className:(0,a.$)("light"===n?"text-black":"text-white","font-marist text-shadow-[0_0_3rem_rgba(255,255,255,0.3)] text-center not-italic leading-[0] tracking-[calc(var(--width)*-0.01)]","text-[calc(var(--width-mobile)*0.4)] md:text-[calc(var(--width)*0.4)]"),children:t})})};var p=n(1248),v=n(10105),x=n(27807),w=n(23180);n(72873);var b=n(10347);let y=e=>{let[t,n]=(0,b.yD)(),r=(0,i.d)(0);return(0,x.N)(()=>
1{if(!e||(null==n?void 0:n.left)==null||(null==n?void 0:n.top)==null)return;let t=Math.hypot(e.x.get()-n.left,e.y.get()-n.top);isFinite(t)&&r.set(t)}),[r,t]},j=e=>{let{children:t,mouse:n,y:a,...l}=e,{scrollY:i}=(0,p.L)(),[o,c]=y(n),u=(0,w.l)(),h=(0,s.G)(o,[0,.25*u.width],[10,0]),g=(0,v.z)(0,{stiffness:100,damping:8,mass:1});(0,x.N)(()=>{var e,t;let r=Math.abs(null!=(e=null==n?void 0:n.y.getVelocity())?e:0)+Math.abs(null!=(t=null==n?void 0:n.x.getVelocity())?t:0)-Math.abs(.5*i.getVelocity());g.set(h.get()*r*.0075)});let f=(0,s.G)(()=>("number"==typeof a?a:a.get())+g.get());return(0,r.jsx)(d.P.div,{...l,ref:c,style:{...l.style,y:f},children:t})};var _=n(76187),N=n(5881);let k=(0,_.A)(...N.Yp.IN_OUT_QUART),E=function(e){let{loopDurationS:t=4.5,animationDurationS:n=1,timeOffsetS:r=0,rotationOffset:a=0,rotationIncrements:l=[90,90,90,90]}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,s.G)(()=>{let i=e.get()/1e3+r,s=l.length,o=Math.floor(i/t)%s,d=Math.floor(Math.floor(i/t)/s),c=k(Math.min(i%t/n,1)),u=360*d;for(let e=0;e<o;e++)u+=l[e];return u+c*l[o]+a})},I={Y:20,SPEED:.0012},M=e=>{let{topFace:t,leftFace:n,rightFace:h,className:g,style:m,index:p,animate:v,mouse:x,theme:w="dark"}=e,b=(0,c.D)(),y=(0,l.z)(),j=(0,i.d)(y.get()),_=(0,u.U)("(max-width: 768px)"),N=(0,s.G)(()=>_?0:Math.sin(j.get()*I.SPEED-.75*p)*I.Y),k=E(j,{timeOffsetS:1.5-.05*p,rotationOffset:0,rotationIncrements:[90,180,90]}),M=E(j,{timeOffsetS:4.5+.1*p,rotationOffset:45,loopDurationS:4.5});return(0,o.L)(y,"change",e=>{if(v){var t;let n=null!=(t=y.getPrevious())?t:0;j.set(j.get()+(e-n))}}),(0,r.jsx)(L,{mouse:x,y:b?N:0,className:(0,a.$)("backface-hidden relative mx-auto will-change-transform","h-[var(--width-mobile)] w-[var(--width-mobile)]","md:h-[var(--width)] md:w-[var(--width)]","no-js:translate-y-0!",g),style:{"--z":"calc(var(--width) / 2)","--z-mobile":"calc(var(--width-mobile) / 2)",...m},children:(0,r.jsxs)(d.P.div,{className:"relative h-full w-full",style:{transformStyle:"preserve-3d",rotateZ:b?k:0,rotateY:b?M:45,rotateX:-35},children:[[h,n,h,n].map((e,t)=>(0,r.jsx)(f,{text:e.text,rotateY:90*t,theme:w},t)),(0,r.jsx)(f,{text:t.text,rotateX:-90,theme:w}),(0,r.jsx)(f,{text:t.text,rotateX:90,theme:w})]})})},L=e=>{let{mouse:t,children:n,y:a,...l}=e;return t?(0,r.jsx)(j,{y:a,mouse:t,...l,children:n}):(0,r.jsx)(d.P.div,{...l,style:{y:a,...l.style},children:n})}},58887:(e,t,n)=>{n.d(t,{U:()=>a});var r=n(6343);let a=e=>{let[t,n]=(0,r.useState)(()=>window.matchMedia(e).matches),a=(0,r.useCallback)(e=>{let{matches:t}=e;n(t)},[]);return(0,r.useEffect)(()=>{let t=window.matchMedia(e);return n(t.matches),t.addEventListener("change",a),()=>{t.removeEventListener("change",a)}},[e,a]),t}},61791:(e,t,n)=>{n.d(t,{Title:()=>c});var r=n(5167),a=n(96852),l=n(2186),i=n(23379),s=n(82664),o=n(89847),d=n(68801);function c(e){let{heading:t,icon:n,iconTicker:s,description:c,buttons:h}=e;return(0,r.jsxs)(a.P.div,{className:"page-padding-x gap-y-20! no-js:opacity-100! flex flex-col items-center",initial:{opacity:0}
1,whileInView:{opacity:1},transition:{duration:.5},viewport:{once:!0},children:[n&&(0,r.jsx)(d.A,{icon:n,className:"text-background",enableTheming:!1}),(null==s?void 0:s.variant)==="small"&&(0,r.jsx)(u,{icons:null==s?void 0:s.icons}),t&&(0,r.jsx)("div",{className:"w-580 type-m-30 md:type-m-50 mx-auto max-w-full text-balance text-center",children:(0,r.jsx)(l.AnimateInText,{children:t})}),(null==s?void 0:s.variant)==="large"&&(0,r.jsx)(u,{icons:null==s?void 0:s.icons}),c&&(0,r.jsx)("div",{className:"w-580 type-a-18 text-foreground/30 mx-auto max-w-full text-center",children:c}),(null==h?void 0:h[0])&&(0,r.jsx)(i.BlurFadeIn,{className:"flex flex-wrap justify-center gap-4",children:h.map(e=>(0,r.jsx)(o.x,{button:e},e._key))})]})}let u=e=>{let{icons:t}=e;return(null==t?void 0:t[0])?(0,r.jsx)(s.DraggableContainer,{className:"w-80",children:null==t?void 0:t.map(e=>(0,r.jsx)("div",{dangerouslySetInnerHTML:{__html:e.icon}},e._key))}):null}},67655:(e,t,n)=>{n.d(t,{L:()=>s});var r=n(6343),a=n(72873),l=n(23180);let i=e=>null!==e&&"number"==typeof e.top&&"number"==typeof e.height&&"number"==typeof e.left&&"number"==typeof e.width;function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{axis:"y",element:null},s=(0,l.l)(),o=(0,r.useRef)({y:0,x:0,lastY:0,lastX:0,direction:"up",height:0,width:0}),d=(0,r.useCallback)(()=>{let r=n.element||document.documentElement;if(!r)return;let a=r.scrollTop,l=r.scrollLeft,d=o.current.y,c=o.current.x,u=a>d?"down":"up",h=o.current.height,g=o.current.width,f=i(t)?"y"===n.axis?Math.max(0,Math.min(1,(a-(t.top-s.height))/(t.top+t.height-t.top+s.height))):Math.max(0,Math.min(1,(l-(t.left-s.width))/(t.left+t.width-t.left+s.width))):0;e({y:a,x:l,height:h,width:g,progress:f,direction:u}),o.current={y:a,x:l,lastY:d,lastX:c,direction:u,height:h,width:g}},[n,e,t,s.height,s.width]);return(0,r.useEffect)(d,[d]),(0,r.useEffect)(function(){o.current.height=document.documentElement.offsetHeight,o.current.width=document.documentElement.offsetWidth},[s.height,s.width]),(0,a.M)(n.element,"scroll",d,{capture:!1,passive:!0}),o}},68801:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(5167);let a=e=>{let{icon:t,enableTheming:n=!0,...a}=e;return t?(0,r.jsx)("div",{...a,dangerouslySetInnerHTML:{__html:n?t.replace(/(fill|stroke)="(?!none")[^"]*"/g,'$1="currentColor"'):t}}):null}},78293:(e,t,n)=>{n.d(t,{K:()=>s});var r=n(5167),a=n(4407),l=n(6343),i=n(23180);let s=e=>{let{as:t="span",children:n,renderLine:s,className:o,classNames:d={},...c}=e,[u,h]=(0,l.useState)(),g=(0,l.useRef)([]),f=(0,i.l)(),m=(0,l.useMemo)(function(){return"string"==typeof n?n.split(" "):l.isValidElement(n)&&n.type===l.Fragment?l.Children.toArray(n.props.children).flatMap(e=>"string"==typeof e?e.split(" "):e):l.Children.toArray(n).flatMap(e=>"string"==typeof e?e.split(" "):e)},[n]);return(0,l.useLayoutEffect)(function(){let e=[],t=-1/0,n=[];g.current.forEach((r,a)=>{if(!r)return;let i=r.getBoundingClientRect().top,s=m[a];i!==t?(n.length>0&&e.push(l.createElement(l.Fragment,{key:e.length},...n)),t=i,n=[s," "]):(n.push(s),n.push(" "))}),n.length>0&&e.push(l.createElement(l.Fragment,{key:e.length},...n)),h(e)},[n,f.width,m]),(0,r.jsxs)(t,{...c,className:(0,a.A)("relative inline-block",o),children:[(0,r.jsx)("span",{className:"js:hidden",children:n}),(0,r.jsx)("span",{"aria-hidden":!0,className:"invisible inline-block",children:m.map((e,t)=>(0,r.jsxs)(l.Fragment,{children:[(0,r.jsx)("span",{ref:e=>{g.current[t]=e},children:e}),t<m.length-1?" ":""]},t))}),(0,r.jsx)("span",{className:(0,a.A)("absolute left-0 top-0 block h-full w-full",d.lineWrapper),children:null==u?void 0:u.map((e,t)=>s(t,e,u.length))})]})}},78468:(e,t,n)=>{n.d(t,{D:()=>i});var r=n(56554),a=n(25552);let l={dataset:a.RT,projectId:a.Lg,baseUrl:a.EL};function i(e,t,n){return{"data-sanity":(0,r.TS)({...l,id:e,type:t,path:n}).toString()}}},82664:(e,t,n)=>{n.d(t,{DraggableContainer:()=>s});var r=n(5167),a=n(4407),l=n(6343),i=n(16367);let s=e=>{let{children:t,centered:n,className:s,style:o={}}=e,d=(0,l.useRef)(null),c=(0,l.useMemo)(()=>l.Children.toArray(t),[t]);return(0,r.jsx)("div",{ref:d,className:(0,a.A)("min-w-150 overflow-hidden","[mask-image:linear-gradient(to_right,transparent_0px,black_var(--gradient-width),black_calc(100%_-_var(--gradient-width)),transparent_100%)]","[--gap:theme(sp
1acing.2)]","pr-[var(--gradient-width)]",!n&&"pl-[var(--gradient-width)]",s),style:{"--gradient-width":c.length>1?"".concat(50,"px"):"0px",...o},children:(0,r.jsx)(i.w,{as:"ul",style:{width:"calc(100% + calc(var(--gradient-width) * 2))",marginLeft:"calc(-1 * var(--gradient-width))"},children:c.map((e,t)=>(0,r.jsx)("li",{className:(0,a.A)("w-fit",0!==t&&"ml-[var(--gap)]",0===t&&"ml-[var(--gradient-width)]",t===c.length-1&&"mr-[var(--gradient-width)]"),children:e},t))})})}},89847:(e,t,n)=>{n.d(t,{x:()=>o});var r=n(5167),a=n(4407),l=n(40183);let i=e=>(0,r.jsx)("svg",{...e,xmlns:"http://www.w3.org/2000/svg",width:"7",height:"7",viewBox:"0 0 7 7",fill:"none",children:(0,r.jsx)("path",{d:"M0.310431 6.12853L5.20425 1.23472L1.00955 1.23472L0.973593 0.671427H6.16703V5.86487L5.60374 5.82891L5.60374 1.63421L0.709926 6.52803L0.310431 6.12853Z",fill:"currentColor"})});var s=n(68801);let o=e=>{var t;let{button:n,style:o={},className:d}=e;return(0,r.jsxs)(l.Link,{href:null!=(t=n.href)?t:"",style:n.useProductColor?{"--foreground":"var(--product-background-color)",...o}:o,className:(0,a.A)("default"===n.variant&&"pill","large"===n.variant&&"pill-large",(n.svgIcon||n.openInNewTab)&&"flex items-center gap-4",d),openInNewTab:n.openInNewTab,children:[n.svgIcon&&"left"===n.iconPosition&&(0,r.jsx)(s.A,{icon:n.svgIcon}),(0,r.jsx)("span",{className:"whitespace-nowrap",children:n.text}),n.svgIcon&&"right"===n.iconPosition&&(0,r.jsx)(s.A,{icon:n.svgIcon}),n.openInNewTab&&(0,r.jsx)(i,{})]})}}}]);
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.