PageSourceSearch

https://alex-frei.web.app/en/main-INCNGBJB.js

js alex-frei.web.app collected 2026-10-03 12:16:18 UTC 45,839 bytes, 31 lines download raw bytes

1import{a as Dt,b as Wt}from"./chunk-Z64ELDMF.js";import{a as be,b as Ht,d as Yt,e as qt}from"./chunk-5BNU3YRH.js";import{a as kt,b as Qt}from"./chunk-PSALEWE6.js";import{a as Xt}from"./chunk-VIJII4JL.js";import{a as jt,b as Gt}from"./chunk-32TKDPBE.js";import{a as Rt}from"./chunk-4V5C46E4.js";import{a as Vt,b as we}from"./chunk-FE3XZPDU.js";import{a as Me}from"./chunk-XJKJUKOW.js";import{a as J,b as At,c as Lt}from"./chunk-AFUNIWTO.js";import{a as Ft,d as Bt,h as zt,m as $t}from"./chunk-DV2BRV26.js";import{a as ee}from"./chunk-HE2F7CWH.js";import{b as Kt}from"./chunk-7SARNO2E.js";import"./chunk-LH4USWJO.js";import{b as _e,c as Ce,e as se,f as L,g as D,h as ve,j as yt,k as Pt,l as xt,m as Ot}from"./chunk-AU7TNUKF.js";import{a as Ut}from"./chunk-3Y5UV2OF.js";import{a as Et,b as St,g as Nt,i as Tt,j as It,l as C}from"./chunk-EZMMEJRW.js";import{Aa as We,B as N,C as S,Ca as U,D as Ae,Db as _,Eb as Ee,Ec as ut,F as Le,Fb as I,G as j,Ga as m,Gc as gt,Ha as Ye,Hc as ft,I as De,Ia as G,Ic as ht,Jc as _t,Kc as Ct,Lb as it,Lc as vt,Ma as R,Mb as P,N as Fe,Nb as A,Pa as u,Pc as bt,Q as oe,Qb as Y,Qc as Mt,R as ie,Ra as qe,Rc as wt,Sb as k,Ta as h,Ua as ue,Ub as H,W as F,Wb as rt,X as Be,Xb as at,Ya as Xe,Yb as st,Z as B,_a as Oe,_b as q,a as Te,aa as ze,ac as fe,ba as xe,bb as Ke,ca as s,cc as lt,db as Ze,dc as X,e as ce,ea as $e,eb as Je,f as pe,fb as et,gb as tt,gc as K,ha as g,hb as re,hc as Z,ia as f,ib as $,ja as Qe,jb as Q,jc as he,kb as y,la as Ve,lb as c,lc as ct,m as Ie,ma as He,mb as l,mc as pt,nb as p,ob as ae,pb as ge,q as M,qa as je,qb as nt,qc as O,rc as dt,sa as Ue,sc as mt,ta as z,tb as W,tc as Se,vb as T,wb as ot,x as de,xa as w,y as me,za as Ge,zb as V}from"./chunk-QOOWFF2T.js";var Zt=(()=>{class e{elRef=s(Ge);contexts=s(Ce);isBrowser=s(Et);outlet=mt.required(se);_lastAnimation;ngOnInit(){this.isBrowser&&this.outlet().activateEvents.subscribe(t=>{this.handleRouteChange(t.elRef.nativeElement);});}handleRouteChange(t){let o=this.contexts.getContext("primary")?.route?.snapshot?.data.animation;if(this._lastAnimation==o||!this._lastAnimation){this._lastAnimation=o;return;}if(this._lastAnimation=o,!(this.elRef.nativeElement.children.length<2))switch(o){case"QuantumQuizPage":case"ColorClashPage":t.style.animation="page-animation-game 300ms ease forwards";break;default:t.style.animation="page-animation-default 250ms ease forwards";break;}}static ɵfac=function(o){return new(o||e)();};static ɵdir=qe({type:e,selectors:[["","afRoutePageAnimation",""]],contentQueries:function(o,n,r){o&1&&it(r,n.outlet,se,5),o&2&&A();}});}return e;})();var Re=(()=>{class e{platformId=s(We);_browserName;get browserName(){return this._browserName;}set browserName(t){this._browserName=t;}constructor(){ut(this.platformId)?(this.detectBrowser(),document.documentElement.classList.add(`browser-${this.browserName}`)):this.browserName="server";}detectBrowser(){let t=navigator.userAgent;return /msie\s|trident\//i.test(t)?this.browserName="ie":/chrome|chromium|crios/i.test(t)&&!/edge|edgios|opr\//i.test(t)?this.browserName="chrome":/firefox|fxios/i.test(t)?this.browserName="firefox":/safari/i.test(t)&&!/chrome|crios|opr\//i.test(t)?this.browserName="safari":/opr\//i.test(t)?this.browserName="opera":/edg/i.test(t)?this.browserName="edge":this.browserName="unknown",this.browserName;}static ɵfac=function(o){return new(o||e)();};static ɵprov=B({token:e,factory:e.ɵfac});}return e;})();var Jt=(()=>{class e{static ɵfac=function(o){return new(o||e)();};static ɵcmp=u({type:e,selectors:[["af-footer"]],hostAttrs:[1,"af-footer"],decls:6,vars:0,consts:()=>{let t;t="Imprint";let o;return o="Privacy",[t,o,[1,"page-container"],["routerLink","/imprint"],["routerLink","/privacy"]];},template:function(o,n){o&1&&(c(0,"div",2)(1,"footer")(2,"a",3),V(3,0),l(),c(4,"a",4),V(5,1),l()()());},dependencies:[D],styles:["[_nghost-%COMP%]{display:block;font-size:.8rem;border-top:1px solid var(--border-color)}.page-container[_ngcontent-%COMP%]{padding:0px var(--page-padding)}footer[_ngcontent-%COMP%]{height:var(--footer-height);display:flex;align-items:center;flex-wrap:wrap;gap:32px;row-gap:7px}a[_ngcontent-%COMP%]{color:var(--text-color-primary)}a[_ngcontent-%COMP%]:hover{text-decoration:underline}"]});}return e;})();var te=(()=>{class e{document=s(He);showMobileMenu=z(!1);constructor(){}toggleMenu(){this.showMobileMenu.update(t=>!t),this.updateScrollbar();}closeMenu(){this.showMobileMenu.set(!1),this.updateScrollbar();}updateScrollbar(){let t=this.document.body.style;this.showMobileMenu()?t.overflow="hidden":t.removeProperty("overflow");}static ɵfac=function(o){return new(o||e)();};static ɵprov=B({token:e,factory:e.ɵfac,providedIn:"root"});}return e;})();var vn=["nameRef"],bn=()=>["avif","webp","png"];function Mn(e,i){if(e&1&&p(0,"source",3),e&2){let t=i.$implicit;y("srcset",fe(`
2          assets/img/avatar/alex_1x.`,t,` 1x,
3          assets/img/avatar/alex_2x.`,t,` 2x,
4          assets/img/avatar/alex_3x.`,t,` 3x,
5          assets/img/avatar/alex_4x.`,t,` 4x
6        `))("type",q("image/",t));}}var en=(()=>{class e extends C{headerService=s(te);router=s(L);nameRef=O.required("nameRef");
6scrollSub;ngOnInit(){this.handleRouteAnimations();}handleRouteAnimations(){this.router.events.pipe(S(t=>t instanceof _e),oe({url:this.router.url}),M(t=>t.url),this.destroyPipe()).subscribe(t=>{t==="/about-me"?this.activateScrollAnimation():this.resetAnimation();});}activateScrollAnimation(){let n=0;this.scrollSub?.unsubscribe(),this.scrollSub=this.screen.scroll$.pipe(oe(""),M(()=>this.window?.scrollY??0),S(r=>r<150||n<1),this.destroyPipe()).subscribe(r=>{let d=this.nameRef().nativeElement.style;n=(r-80)/70;let x=Math.min(1,Math.max(0,n));d.opacity=x.toString(),d.transform=`scale(${.6+.4*x})`;});}resetAnimation(){this.scrollSub?.unsubscribe();let t=this.nameRef().nativeElement;t.style.removeProperty("opacity"),t.style.removeProperty("transform");}toggleMenu(){this.headerService.toggleMenu();}closeMenu(){this.headerService.closeMenu();}static ɵfac=(()=>{let t;return function(n){return(t||(t=w(e)))(n||e);};})();static ɵcmp=u({type:e,selectors:[["af-mobile-header"]],viewQuery:function(o,n){o&1&&P(n.nameRef,vn,5),o&2&&A();},features:[h],decls:12,vars:1,consts:()=>{let t;t="Alex Frei profile picture";let o;return o="Open sidemenu",[["nameRef",""],["routerLink","/about-me","aria-label","Home"],[1,"avatar"],[3,"srcset","type"],["src","assets/img/avatar/alex_4x.png","alt",t,1,"avatar"],["aria-label",o,1,"menu-btn","mobile-el",3,"click"],[1,"bar1"],[1,"bar2"],[1,"bar3"]];},template:function(o,n){if(o&1){let r=T();c(0,"a",1)(1,"picture",2),$(2,Mn,1,7,"source",3,re),p(4,"img",4),l(),c(5,"h1",null,0),k(7,"Alex Frei"),l()(),c(8,"button",5),_("click",function(){return g(r),f(n.toggleMenu());}),p(9,"div",6)(10,"div",7)(11,"div",8),l();}o&2&&(m(2),Q(X(0,bn)));},dependencies:[D,J],styles:["[_nghost-%COMP%]{height:var(--header-height);flex-grow:1;display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px var(--page-padding)}a[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:20px;height:100%;color:var(--text-color-primary)}.avatar[_ngcontent-%COMP%]{aspect-ratio:1;border-radius:100%;height:100%;width:auto;border:.2px solid var(--border-color)}h1[_ngcontent-%COMP%]{white-space:nowrap;font-size:clamp(16px,2rem,38px);will-change:opacity,transform;transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:ease;transform-origin:center left}.menu-btn[_ngcontent-%COMP%]{cursor:pointer;position:relative;display:inline-block;z-index:1002;height:55px;padding:10px 15px;border-radius:100%;background-color:transparent;border:none;outline:none;-webkit-tap-highlight-color:transparent;-ms-touch-action:manipulation;touch-action:manipulation}.bar1[_ngcontent-%COMP%], .bar2[_ngcontent-%COMP%], .bar3[_ngcontent-%COMP%]{width:25px;height:2px;background-color:var(--text-color-primary);margin:7px 0}.bar1[_ngcontent-%COMP%]{margin-top:8px!important}.bar3[_ngcontent-%COMP%]{margin-bottom:7px!important}@media(max-width:400px){[_nghost-%COMP%]{gap:16px}h1[_ngcontent-%COMP%]{font-size:clamp(1rem,28px,32px);overflow:hidden;text-overflow:ellipsis}}"],changeDetection:0});}return e;})();function wn(e,i){if(e&1){let t=T();ae(0,"button",5),Ee("click",function(){let n=g(t).$implicit,r=I(2);return f(r.changeLanguage(n));}),k(1),ge();}if(e&2){let t=i.$implicit,o=I(2);Y("selected",o.activeLanguage().iso2===t.iso2),m(),H(" ",t.name," ");}}function yn(e,i){if(e&1){let t=T();ae(0,"div",3,0),Ke(function(n){g(t);let r=I();return f(r.handleAnimation(n,!0));}),Ze(function(n){g(t);let r=I();return f(r.handleAnimation(n,!1));}),$(2,wn,2,3,"button",4,tt),ge();}if(e&2){let t=I();m(2),Q(t.languages);}}var ye=(()=>{class e extends C{globalizationIcon=Dt;showLanguage=z(!1);languageId="en";languages=[{iso2:"en",short:"EN",name:"English"},{iso2:"de",short:"DE",name:"Deutsch"},{iso2:"vi",short:"VI",name:"Vietnamese"}];activeLanguage=z(this.languages[0]);isDarkMode=!1;ngOnInit(){this.activeLanguage.set(this.languages.find(t=>t.iso2===this.languageId)??this.languages[0]),this.listenDropdownClose(),super.ngOnInit();}listenDropdownClose(){de(this.document,"click").pipe(this.destroyPipe(),S(()=>this.showLanguage())).subscribe(()=>{this.showLanguage.set(!1);});}changeLanguage(t){this.showLanguage.set(!1);let o=this.window.location.href;o.endsWith("/")||(o+="/"),o=this.window.location.href.replace(`/${this.activeLanguage().iso2}/`,`/${t.iso2}/`),this.window.location.href=o;}handleAnimation(t,o){let n=t.target;n&&me(1).pipe(this.destroyPipe()).subscribe(()=>{n.style.maxHeight=`${n.offsetHeight}px`;let r=n.classList;r.remove(o?"leave":"enter"),r.add(o?"enter":"leave");});}static ɵfac=(()=>{let t;return function(n){return(t||(t=w(e)))(n||e);};})();static ɵcmp=u({type:e,selectors:[["af-language-switch"]],features:[h],decls:6,vars:5,consts:[["dropdownRef",""],[1,"btn-language",3,"click"],[1,"row",3,"innerHTML"],[1,"dropdown-panel"],[3,"selected"],[3,"click"]],template:function(o,n){o&1&&(ae(0,"button",1),Ee("click",function(a){return n.showLanguage.set(!n.showLanguage()),a.stopPropagation();}
6),nt(1,"div",2),K(2,"safe"),ae(3,"span"),k(4),ge()(),Je(5,yn,4,0,"div",3)),o&2&&(m(),ot("innerHTML",Z(2,3,n.globalizationIcon),U),m(3),H(" ",n.activeLanguage().short," "),m(),et(n.showLanguage()?5:-1));},dependencies:[Me],styles:["[_nghost-%COMP%]{display:block;position:relative}.btn-language[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;outline:none;border:1px solid var(--border-color);border-radius:3px;font-size:.8rem;color:var(--text-color-primary);padding:4px 6px;background:none;transition:var(--smooth-background)}.btn-language[_ngcontent-%COMP%]:hover{background-color:var(--color-accent)}.btn-language[_ngcontent-%COMP%]     svg{fill:var(--text-color-primary);margin-right:4px;height:1rem;width:1rem}.dropdown-panel[_ngcontent-%COMP%]{position:absolute;z-index:10;opacity:0;top:36px;right:0;min-width:150px;background-color:var(--page-background-primary);color:var(--text-color-primary);overflow:hidden;border-radius:7px;box-shadow:0 0 #0000,0 0 #0000,0 2px 6px 0 var(--shadow-color);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.dropdown-panel[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{color:inherit;cursor:pointer;font-size:.9rem;padding:16px;background:transparent;outline:none;border:none;text-align:left;transition:background-color .1s ease}.dropdown-panel[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]:hover{background-color:#d7d7e6}.dropdown-panel[_ngcontent-%COMP%]   button.selected[_ngcontent-%COMP%]{background-color:#bed2ff;color:#003cff;font-weight:600}.dropdown-panel.enter[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_dropdown-enter .2s ease forwards}.dropdown-panel.leave[_ngcontent-%COMP%]{pointer-events:none;animation:_ngcontent-%COMP%_dropdown-leave .25s ease forwards}@media(max-width:959px){.dropdown-panel[_ngcontent-%COMP%]{top:unset;right:unset;left:0;bottom:32px}}[data-theme=dark][_nghost-%COMP%]   .dropdown-panel[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]:hover, [data-theme=dark]   [_nghost-%COMP%]   .dropdown-panel[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]:hover{background-color:#58585e}@keyframes _ngcontent-%COMP%_dropdown-enter{0%{opacity:0;box-shadow:unset;max-height:0px}to{opacity:1;box-shadow:0 0 #0000,0 0 #0000,0 2px 6px 0 var(--shadow-color)}}@keyframes _ngcontent-%COMP%_dropdown-leave{0%{opacity:1;box-shadow:0 0 #0000,0 0 #0000,0 2px 6px 0 var(--shadow-color)}to{opacity:0;box-shadow:unset;max-height:0px}}"],changeDetection:0});}return e;})();var Pe=(()=>{class e extends C{theme=s(Qt);static ɵfac=(()=>{let t;return function(n){return(t||(t=w(e)))(n||e);};})();static ɵcmp=u({type:e,selectors:[["af-theme-switch"]],features:[h],decls:2,vars:1,consts:[["type","checkbox","id","darkmode-toggle",3,"ngModelChange","ngModel"],["for","darkmode-toggle","afTooltip","Toggle Theme"]],template:function(o,n){o&1&&(c(0,"input",0),st("ngModelChange",function(a){return at(n.theme.isDarkMode,a)||(n.theme.isDarkMode=a),a;}),_("ngModelChange",function(){return n.theme.toggleTheme();}),l(),p(1,"label",1)),o&2&&rt("ngModel",n.theme.isDarkMode);},dependencies:[$t,Ft,Bt,zt,we],styles:['input[_ngcontent-%COMP%]{position:absolute;width:0;height:0;visibility:hidden}label[_ngcontent-%COMP%]{width:48px;height:24px;position:relative;display:block;background:#ebebeb;border-radius:24px;box-shadow:inset 0 5px 15px #0006,inset 0 -5px 15px #fff6;cursor:pointer}label[_ngcontent-%COMP%]:after{content:"";width:20px;height:20px;position:absolute;top:2px;left:2px;background:#d8860b;background:linear-gradient(180deg,#ffcc89,#d8860b);border-radius:20px;box-shadow:0 5px 10px #0003}label[_ngcontent-%COMP%], label[_ngcontent-%COMP%]:after{transition:.3s}label[_ngcontent-%COMP%]:active:after{width:28px}[data-theme=dark][_nghost-%COMP%]   input[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], [data-theme=dark]   [_nghost-%COMP%]   input[_ngcontent-%COMP%] + label[_ngcontent-%COMP%]{background:#242424}[data-theme=dark][_nghost-%COMP%]   input[_ngcontent-%COMP%] + label[_ngcontent-%COMP%]:after, [data-theme=dark]   [_nghost-%COMP%]   input[_ngcontent-%COMP%] + label[_ngcontent-%COMP%]:after{left:46px;transform:translate(-100%);background:#3a3a3a;background:linear-gradient(180deg,#777,#3a3a3a)}'],changeDetection:0});}return e;})();var Pn=["link"],xn=["indicator"],On=["navItemsRef"],En=["navItem"];function Sn(e,i){if(e&1&&(c(0,"a",7,3),k(2),l()),e&2){let t=i.name,o=i.path;y("id",o)("routerLink",o),m(2),H(" ",t," ");}}var tn=(()=>{class e extends C{router=s(L);links=dt("link");indicator=O.required("indicator");navItemsRef=O.required("navItemsRef",{read:R});navItem=O.required("navItem",{read:G});ngOnInit(){this.createNavItems(),this.listenRouteChanges(),super.ngOnInit();}ngOnDestroy(){this.navItemsRef()?.clear();}createNavItems(){for(let t of be)this.navItemsRef().createEmbeddedView(this.navItem(
6),t);}listenRouteChanges(){this.isServer||this.router.events.pipe(this.destroyPipe(),S(t=>t instanceof _e)).subscribe(t=>{let o=t.urlAfterRedirects;for(let n of this.links()){let r=n.nativeElement;if(o.includes(r.id)){let a=r.getBoundingClientRect(),d=this.indicator().nativeElement.style;d.left=`${r.offsetLeft}px`,d.width=`${a.width}px`;}}});}static ɵfac=(()=>{let t;return function(n){return(t||(t=w(e)))(n||e);};})();static ɵcmp=u({type:e,selectors:[["af-nav-items"]],viewQuery:function(o,n){o&1&&(P(n.links,Pn,5),P(n.indicator,xn,5),P(n.navItemsRef,On,5,R),P(n.navItem,En,5,G)),o&2&&A(4);},features:[h],decls:10,vars:0,consts:[["navItemsRef",""],["indicator",""],["navItem",""],["link",""],[1,"tabs"],[1,"indicator"],[1,"row"],["routerLinkActive","router-link-active",1,"nav-item",3,"id","routerLink"]],template:function(o,n){o&1&&(c(0,"div",4),W(1,null,0),p(3,"div",5,1),l(),c(5,"div",6),p(6,"af-theme-switch")(7,"af-language-switch"),l(),ue(8,Sn,3,3,"ng-template",null,2,he));},dependencies:[Pe,ye,D,ve,J],styles:["[_nghost-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-grow:1;gap:25px;padding:0px var(--page-padding)}.tabs[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:flex-start;align-items:center;gap:25px}.row[_ngcontent-%COMP%]{gap:25px}@media(max-width:999px){.row[_ngcontent-%COMP%]{gap:10px}}a[_ngcontent-%COMP%]{color:var(--text-color-primary);font-weight:500;font-size:clamp(16px,1rem,24px);padding:8px 0;white-space:nowrap;flex-shrink:0;opacity:.6;transition:opacity .25s ease}a[_ngcontent-%COMP%]:hover, a.router-link-active[_ngcontent-%COMP%]{opacity:1}.indicator[_ngcontent-%COMP%]{position:absolute;transition-property:left,width;transition-duration:.24s;transition-timing-function:ease;left:unset;top:50%;border-radius:2px;margin-top:calc(clamp(16px,1rem,24px)/2 + 3px);width:0px;height:2px;background-color:var(--text-color-primary)}"],changeDetection:0});}return e;})();var nn=(()=>{class e extends C{isScrolled=z(!1);ngOnInit(){this.initializePageScroll(),super.ngOnInit();}initializePageScroll(){this.isServer||this.screen.scroll$.pipe(oe(null),M(()=>(this.window.scrollY||this.document.documentElement.scrollTop)>1),De()).subscribe(t=>{this.isScrolled.set(t);});}static ɵfac=(()=>{let t;return function(n){return(t||(t=w(e)))(n||e);};})();static ɵcmp=u({type:e,selectors:[["af-header"]],hostAttrs:[1,"af-header"],hostVars:2,hostBindings:function(o,n){o&2&&Y("shadow",n.isScrolled());},features:[h],decls:2,vars:0,consts:[[1,"page-container"]],template:function(o,n){o&1&&p(0,"af-nav-items",0)(1,"af-mobile-header");},dependencies:[en,tn],styles:["[_nghost-%COMP%]{position:fixed;top:0;right:0;z-index:1000;min-height:var(--header-height);display:flex;align-items:center;justify-content:flex-start;transition:border-bottom .2s ease-in-out 0s,box-shadow .2s ease-in-out 0s;will-change:box-shadow;box-shadow:none;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:var(--header-filter-bg);backdrop-filter:var(--header-filter-bg);background:var(--header-bg)}.shadow[_nghost-%COMP%]{border-bottom:1px solid rgba(0,0,0,0);box-shadow:0 2px 4px #20203c59,0 7px 13px -3px #20203c40}.disabled[_nghost-%COMP%]{visibility:hidden;display:none;height:0px}@media(max-width:960px){af-nav-items[_ngcontent-%COMP%]{display:none}}@media(min-width:959px){af-mobile-header[_ngcontent-%COMP%]{display:none}}"],changeDetection:0});}return e;})();var on=`<svg viewBox="-5 0 20 20" version="1.1"
7    xmlns="http://www.w3.org/2000/svg"
8    xmlns:xlink="http://www.w3.org/1999/xlink" class="fill">
9    <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10    <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
11    <g id="SVGRepo_iconCarrier">
12        <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
13            <g id="Dribbble-Light-Preview" transform="translate(-385.000000, -7399.000000)" class="fill">
14                <g id="icons" transform="translate(56.000000, 160.000000)">
15                    <path d="M335.821282,7259 L335.821282,7250 L338.553693,7250 L339,7246 L335.821282,7246 L335.821282,7244.052 C335.821282,7243.022 335.847593,7242 337.286884,7242 L338.744689,7242 L338.744689,7239.14 C338.744689,7239.097 337.492497,7239 336.225687,7239 C333.580004,7239 331.923407,7240.657 331.923407,7243.7 L331.923407,7246 L329,7246 L329,7250 L331.923407,7250 L331.923407,7259 L335.821282,7259 Z" id="facebook-[#176]"></path>
16                </g>
17            </g>
18        </g>
19    </g>
20</svg>`;var rn=`<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 462.799">
21    <path class="fill" fill-rule="nonzero" d="M403.229 0h78.506L310.219 196.04 512 462.799H354.002L230.261 301.007 88.669 462.799h-78.56l183.455-209.683L0 0h161.999l111.856 147.88L403.229 0zm-27.556 415.805h43.505L138.363 44.527h-46.68l283.99 371.278z" />
22</svg>`;var Nn=["navItemsRef"],Tn=["languageContainerRef"],In=["themeContainerRef"],An=["navItem"],Ln=()=>["avif","webp","jpeg"],an=()=>["avif","webp","png"];function Dn(e,i){if(e&1&&p(0,"source",8),e&2){let t=i.$implicit;y("srcset",q("assets/img/splash/bubbles.",t))("type",q("image/",t));}}function Fn(e,i){if(e&1&&p(0,"source",8),e&2){let t=i.$implicit;y("srcset",fe(`
23          assets/img/avatar/alex_1x.`,t,` 1x,
24          assets/img/avatar/alex_2x.`,t,` 2x,
25          assets/img/avatar/alex_3x.`,t,` 3x,
26          assets/img/avatar/alex_4x.`,t,` 4x
27        `))("type",q("image/",t));}}function Bn(e,i){if(e&1){let t=T();c(0,"a",25),_("click",function(){g(t);let n=I();return f(n.closeSideMenu());}),k(1),l();}if(e&2){let t=i.name,o=i.path;y("routerLink",o),m(),H(" ",t," ");}}var sn=(()=>{class e extends C{iconGithub=Wt;iconFacebook=on;iconX=rn;http=s(ht);toast=s(Gt);headerService=s(te);languageId="en";navItemsRef=O.required("navItemsRef",{read:R});
27languageContainerRef=O.required("languageContainerRef",{read:R});themeContainerRef=O.required("themeContainerRef",{read:R});navItem=O.required("navItem",{read:G});ngOnInit(){this.listenScreenResize(),this.checkMobileMenuItems(),super.ngOnInit();}closeSideMenu(){this.headerService.closeMenu();}listenScreenResize(){this.isBrowser&&de(this.window,"resize").pipe(this.destroyPipe(),Le(50)).subscribe(()=>{this.checkMobileMenuItems();});}createNavItems(){for(let t of be)this.navItemsRef().createEmbeddedView(this.navItem(),t);}checkMobileMenuItems(){if(this.isBrowser)if(this.window.innerWidth<=959){if(this.navItemsRef().length<=0&&this.createNavItems(),this.languageContainerRef().length===0&&this.languageContainerRef().createComponent(ye),this.themeContainerRef().length===0){let t=this.themeContainerRef().createComponent(Pe);t.instance.elRef.nativeElement.style.marginLeft="auto";}}else this.navItemsRef().clear(),this.languageContainerRef().clear(),this.themeContainerRef().clear();}downloadPdf(){let t=this.languageId==="de"?"de":"en",o=t==="de"?"Deutsch":"English",n=`assets/docs/alex_frei_cv_${t}.pdf`,r=`Alex-Frei-CV-${o}.pdf`;this.http.get(n,{responseType:"blob"}).pipe(this.destroyPipe()).subscribe({next:a=>{let d=document.createElement("a");d.href=window.URL.createObjectURL(a),d.download=r,document.body.appendChild(d),d.click(),document.body.removeChild(d),this.toast.success("Download Successful");},error:a=>{this.logger.error(a).print(),this.toast.error("Download Failed");}});}static ɵfac=(()=>{let t;return function(n){return(t||(t=w(e)))(n||e);};})();static ɵcmp=u({type:e,selectors:[["af-profile-banner"]],viewQuery:function(o,n){o&1&&(P(n.navItemsRef,Nn,5,R),P(n.languageContainerRef,Tn,5,R),P(n.themeContainerRef,In,5,R),P(n.navItem,An,5,G)),o&2&&A(4);},features:[h],decls:40,vars:13,consts:()=>{let t;t="Alex Frei profile picture";let o;o="View GitHub Profile";let n;n="View Facebook Profile";let r;r="View X Profile";let a;a="Download the CV as a PDF";let d;d="Full Stack Developer";let x;x=" Download ";let v;return v=" View source code ",[["navItemsRef",""],["languageContainerRef",""],["themeContainerRef",""],["navItem",""],d,x,v,[1,"frosted-background"],[3,"srcset","type"],["src","assets/img/splash/bubbles.jpeg","alt",""],[1,"frosted-glass"],[1,"frosted-box"],[1,"avatar"],["ngxHero","","backdropPosition","beforeHeroItem","highQualityPath","assets/img/avatar/alex_original","src","assets/img/avatar/alex_4x.png","alt",t,1,"hero-avatar",3,"supportedFormats"],[1,"social"],["href","https://github.com/hm21","target","_blank","aria-label","Github","afTooltip",o,1,"social-icon-btn",3,"click","innerHtml"],["href","https://www.facebook.com/profile.php?id=100078013238002","target","_blank","aria-label","Facebook","afTooltip",n,1,"social-icon-btn",3,"click","innerHtml"],["href","https://twitter.com/Frei2100","target","_blank","aria-label","X aka Twitter","afTooltip",r,1,"social-icon-btn",3,"click","innerHtml"],["afTooltip",a,1,"btn","contact",3,"click"],[1,"spacer"],["href","https://github.com/hm21/alex-frei-cv","target","_blank",1,"source-btn","color-light",3,"click"],["aria-label","Close Side-menu",1,"mobile-close-button",3,"click"],["width","100%","height","100%","viewBox","0 0 50 50","xmlns","http://www.w3.org/2000/svg"],["x1","0","y1","0","x2","50","y2","50","stroke","white","stroke-width","5"],["x1","0","y1","50","x2","50","y2","0","stroke","white","stroke-width","5"],["routerLinkActive","router-link-active",1,"nav-item",3,"click","routerLink"]];},template:function(o,n){if(o&1){let r=T();c(0,"div",7)(1,"picture"),$(2,Dn,1,4,"source",8,re),p(4,"img",9),l()(),p(5,"div",10),c(6,"div",11)(7,"picture",12),$(8,Fn,1,7,"source",8,re),p(10,"img",13),l(),c(11,"h1"),k(12,"Alex Frei"),l(),c(13,"h2"),V(14,4),l(),c(15,"div",14)(16,"a",15),K(17,"safe"),_("click",function(){return g(r),f(n.closeSideMenu());}),l(),c(18,"a",16),K(19,"safe"),_("click",function(){return g(r),f(n.closeSideMenu());}),l(),c(20,"a",17),K(21,"safe"),_("click",function(){return g(r),f(n.closeSideMenu());}),l()(),W(22,null,0),c(24,"button",18),_("click",function(){return g(r),f(n.downloadPdf());}),V(25,5),l(),p(26,"div",19),c(27,"footer"),W(28,null,1),c(30,"a",20),_("click",function(){return g(r),f(n.closeSideMenu());}),V(31,6),l(),W(32,null,2),l()(),c(34,"button",21),_("click",function(){return g(r),f(n.closeSideMenu());}),Qe(),c(35,"svg",22),p(36,"line",23)(37,"line",24),l()(),ue(38,Bn,2,2,"ng-template",null,3,he);}o&2&&(m(2),Q(X(10,Ln)),m(6),Q(X(11,an)),m(2),y("supportedFormats",X(12,an)),m(6),y("innerHtml",Z(17,4,n.iconGithub),U),m(2),y("innerHtml",Z(19,6,n.iconFacebook),U),m(2),y("innerHtml",Z(21,8,n.iconX),U));},dependencies:[D,ve,J,we,Ht,Me],styles:["[_nghost-%COMP%]{position:relative;display:block;height:100%}.frosted-background[_ngcontent-%COMP%]{z-index:unset}.frosted-glass[_ngcontent-%COMP%]{z-index:unset;background-color:#214569d1;-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px)}.frosted-box[_ngcontent-%COMP%]{position:inherit;padding:55px 0 10px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transition:background-color .2s ease,backdrop-filter .2s ease}.social-icon-btn[_ngcontent-%COMP%]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#0003;border-radius:100%}
27.avatar[_ngcontent-%COMP%]{display:block;flex-shrink:0;width:180px;height:180px;margin-bottom:30px}.avatar[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;min-height:100%;display:block;border-radius:100%;border:2px solid var(--page-background-primary);object-fit:contain;background-color:var(--page-background-primary);box-shadow:0 2px 7px #0000004d;transition:transform .3s ease}.avatar[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]:hover{transform:scale(1.03)}h1[_ngcontent-%COMP%]{font-size:2.2rem;font-weight:700;color:#fff;margin-bottom:7px}h2[_ngcontent-%COMP%]{font-size:1rem;font-weight:300;color:#fff}.btn[_ngcontent-%COMP%]{flex-shrink:0;margin-top:35px}.source-btn[_ngcontent-%COMP%]{font-size:.88rem}.source-btn[_ngcontent-%COMP%]:hover{text-decoration:underline}footer[_ngcontent-%COMP%]{padding:0 15px;width:100%;display:flex;justify-content:center;align-items:center}.nav-item[_ngcontent-%COMP%]{width:100%;padding:16px 12px;font-size:1.55rem;color:#f5f5f5;text-align:center;font-weight:600;opacity:.7}.nav-item.router-link-active[_ngcontent-%COMP%]{opacity:1}@media(max-height:720px){.nav-item[_ngcontent-%COMP%]{padding:12px}}@media(max-height:670px){.nav-item[_ngcontent-%COMP%]{font-size:1.3rem}}.social[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px}.mobile-close-button[_ngcontent-%COMP%]{display:none;position:absolute;top:16px;right:16px;background-color:transparent;border:unset;outline:unset;margin:0;padding:3px;width:24px;height:24px}@media(max-width:959px){.mobile-close-button[_ngcontent-%COMP%]{display:block}.frosted-box[_ngcontent-%COMP%]{max-height:100vh;max-height:100dvh;padding:30px 0 10px;overflow:auto}.social[_ngcontent-%COMP%]{gap:30px;margin-top:25px;margin-bottom:25px}}@media(max-width:959px)and (max-height:670px){.social[_ngcontent-%COMP%]{margin-top:15px;margin-bottom:15px}}@media(max-width:959px){footer[_ngcontent-%COMP%]{padding:0 15px;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.af-theme-switch[_ngcontent-%COMP%]{margin-left:auto}.avatar[_ngcontent-%COMP%]{pointer-events:none;margin-bottom:20px;width:140px;height:140px}}@media(max-width:959px)and (max-height:620px){.avatar[_ngcontent-%COMP%]{width:120px;height:120px}}@media(max-width:959px)and (max-height:590px){.avatar[_ngcontent-%COMP%]{width:100px;height:100px}}@media(max-width:959px){.contact[_ngcontent-%COMP%]{display:none}}[data-theme=dark][_nghost-%COMP%]   .frosted-glass[_ngcontent-%COMP%], [data-theme=dark]   [_nghost-%COMP%]   .frosted-glass[_ngcontent-%COMP%]{background-color:#262626db;-webkit-backdrop-filter:grayscale(.4) blur(10px);backdrop-filter:grayscale(.4) blur(10px)}[data-theme=dark][_nghost-%COMP%]   .contact[_ngcontent-%COMP%], [data-theme=dark]   [_nghost-%COMP%]   .contact[_ngcontent-%COMP%]{border-color:#c7c7c7}[data-theme=dark][_nghost-%COMP%]   .contact[_ngcontent-%COMP%]:focus-visible, [data-theme=dark]   [_nghost-%COMP%]   .contact[_ngcontent-%COMP%]:focus-visible, [data-theme=dark][_nghost-%COMP%]   .contact[_ngcontent-%COMP%]:hover, [data-theme=dark]   [_nghost-%COMP%]   .contact[_ngcontent-%COMP%]:hover{background-color:#c7c7c7}.browser-safari   [_nghost-%COMP%]     #hero-backdrop{opacity:.01!important}.browser-safari   [_nghost-%COMP%]     .ngx-hero-fade-out{animation-duration:0ms!important}.browser-safari   [_nghost-%COMP%]     .hero-avatar{position:unset!important}[_nghost-%COMP%]     .btn-language{color:#fff!important;border-color:#fff!important}[_nghost-%COMP%]     .btn-language svg{fill:#fff!important}[_nghost-%COMP%]     .btn-language:hover{background-color:transparent!important}[_nghost-%COMP%]     .social svg{width:18px;height:18px}[_nghost-%COMP%]     .social .fill{fill:#fff}"],changeDetection:0});}return e;})();var ln=(()=>{class e extends C{contexts=s(Ce);browserDetectionService=s(Re);imageFormat=s(Rt);headerService=s(te);viewportScroller=s(gt);showMobileMenu=pt(()=>this.headerService.showMobileMenu());constructor(){super(),Ye(()=>{this.afterAppIsStable();});}ngOnInit(){this.document.querySelector("html")?.setAttribute("data-theme",this.isBrowser?kt():"light"),this.isBrowser&&this.viewportScroller.setOffset([0,60]),super.ngOnInit();}afterAppIsStable(){this.isBrowser&&this.analytics.websiteVisit(),this.logger.user("Hello! Thanks for checking out my source code. Feel free to reach out if you have any questions or suggestions.").print();}closeSideMenu(){this.headerService.closeMenu();}static ɵfac=function(o){return new(o||e)();};static ɵcmp=u({type:e,selectors:[["af-root"]],features:[lt([Yt(),jt(),Vt(),Re]),h],decls:8,vars:2,consts:[["afRoutePageAnimation","",1,"container","content"],[1,"backdrop",3,"click"]],template:function(o,n){o&1&&(c(0,"main")(1,"div",0),p(2,"router-outlet"),l(),p(3,"af-footer"),l(),p(4,"af-header"),c(5,"aside")(6,"div",1),_("click",function(){return n.closeSideMenu();}),l(),p(7,"af-profile-banner"),l()),o&2&&(m(5),Y("show",n.showMobileMenu()));},dependencies:[se,nn,sn,Jt,Zt],styles:["[_nghost-%COMP%]{position:relative}aside[_ngcontent-%COMP%]{width:340px;position:fixed;left:0;top:0;bottom:0;z-index:1000}.af-header[_ngcontent-%COMP%]{left:340px}.content[_ngcontent-%COMP%]{min-height:calc(100vh - var(--header-height) - var(--footer-height))}main[_ngcontent-%COMP%]{position:relative;padding-top:var(--header-height);padding-left:340px;width:100%;display:block}.backdrop[_ngcontent-%COMP%]{display:none}@media(max-width:959px){main[_ngcontent-%COMP%]{padding-left:0}.af-header[_ngcontent-%COMP%]{left:0}aside[_ngcontent-%COMP%]{position:fixed;left:unset;right:0;min-height:100lvh;width:100%;z-index:1000;transition:opacity .25s ease;pointer-events:none}aside.show[_ngcontent-%COMP%]{pointer-events:all}aside.show[_ngcontent-%COMP%]   .backdrop[_ngcontent-%COMP%]{opacity:1}aside.show[_ngcontent-%COMP%]   .af-profile-banner[_ngcontent-%COMP%]{box-shadow:-5px 0 10px #0000004d;transform:translate(0)}.af-profile-banner[_ngcontent-%COMP%]{transition-timing-function:ease;transition-duration:.25s;
27transition-property:box-shadow,transform;box-shadow:0 0 0 transparent;transform:translate(100%);margin-left:auto;width:340px;max-width:100vw}.backdrop[_ngcontent-%COMP%]{opacity:0;background-color:#00000054;display:block;position:absolute;inset:0}}@media(max-width:439px){.af-profile-banner[_ngcontent-%COMP%]{width:100%}}"],changeDetection:0});}return e;})();var ke="Service workers are disabled or not supported by this browser",ne=class{serviceWorker;worker;registration;events;constructor(i,t){if(this.serviceWorker=i,!i)this.worker=this.events=this.registration=new ce(o=>o.error(new F(5601,!1)));else{let o=null,n=new pe();this.worker=new ce(v=>(o!==null&&v.next(o),n.subscribe(b=>v.next(b))));let r=()=>{let{controller:v}=i;v!==null&&(o=v,n.next(o));};i.addEventListener("controllerchange",r),r(),this.registration=this.worker.pipe(ie(()=>i.getRegistration().then(v=>{if(!v)throw new F(5601,!1);return v;})));let a=new pe();this.events=a.asObservable();let d=v=>{let{data:b}=v;b?.type&&a.next(b);};i.addEventListener("message",d),t?.get(Oe,null,{optional:!0})?.onDestroy(()=>{i.removeEventListener("controllerchange",r),i.removeEventListener("message",d);});}}postMessage(i,t){return new Promise(o=>{this.worker.pipe(j(1)).subscribe(n=>{n.postMessage(Te({action:i},t)),o();});});}postMessageWithOperation(i,t,o){let n=this.waitForOperationCompleted(o),r=this.postMessage(i,t);return Promise.all([r,n]).then(([,a])=>a);}generateNonce(){return Math.round(Math.random()*1e7);}eventsOfType(i){let t;return typeof i=="string"?t=o=>o.type===i:t=o=>i.includes(o.type),this.events.pipe(S(t));}nextEventOfType(i){return this.eventsOfType(i).pipe(j(1));}waitForOperationCompleted(i){return new Promise((t,o)=>{this.eventsOfType("OPERATION_COMPLETED").pipe(S(n=>n.nonce===i),j(1),M(n=>{if(n.result!==void 0)return n.result;throw new Error(n.error);})).subscribe({next:t,error:o});});}get isEnabled(){return!!this.serviceWorker;}},zn=(()=>{class e{sw;messages;notificationClicks;notificationCloses;pushSubscriptionChanges;subscription;get isEnabled(){return this.sw.isEnabled;}pushManager=null;subscriptionChanges=new pe();constructor(t){if(this.sw=t,!t.isEnabled){this.messages=N,this.notificationClicks=N,this.notificationCloses=N,this.pushSubscriptionChanges=N,this.subscription=N;return;}this.messages=this.sw.eventsOfType("PUSH").pipe(M(n=>n.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(M(n=>n.data)),this.notificationCloses=this.sw.eventsOfType("NOTIFICATION_CLOSE").pipe(M(n=>n.data)),this.pushSubscriptionChanges=this.sw.eventsOfType("PUSH_SUBSCRIPTION_CHANGE").pipe(M(n=>n.data)),this.pushManager=this.sw.registration.pipe(M(n=>n.pushManager));let o=this.pushManager.pipe(ie(n=>n.getSubscription()));this.subscription=new ce(n=>{let r=o.subscribe(n),a=this.subscriptionChanges.subscribe(n);return()=>{r.unsubscribe(),a.unsubscribe();};});}requestSubscription(t){if(!this.sw.isEnabled||this.pushManager===null)return Promise.reject(new Error(ke));let o={userVisibleOnly:!0},n=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),r=new Uint8Array(new ArrayBuffer(n.length));for(let a=0;a<n.length;a++)r[a]=n.charCodeAt(a);return o.applicationServerKey=r,new Promise((a,d)=>{this.pushManager.pipe(ie(x=>x.subscribe(o)),j(1)).subscribe({next:x=>{this.subscriptionChanges.next(x),a(x);},error:d});});}unsubscribe(){if(!this.sw.isEnabled)return Promise.reject(new Error(ke));let t=o=>{if(o===null)throw new F(5602,!1);return o.unsubscribe().then(n=>{if(!n)throw new F(5603,!1);this.subscriptionChanges.next(null);});};return new Promise((o,n)=>{this.subscription.pipe(j(1),ie(t)).subscribe({next:o,error:n});});}decodeBase64(t){return atob(t);}static ɵfac=function(o){return new(o||e)(xe(ne));};static ɵprov=B({token:e,factory:e.ɵfac});}return e;})(),$n=(()=>{class e{sw;versionUpdates;unrecoverable;get isEnabled(){return this.sw.isEnabled;}ongoingCheckForUpdate=null;constructor(t){if(this.sw=t,!t.isEnabled){this.versionUpdates=N,this.unrecoverable=N;return;}this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY","NO_NEW_VERSION_DETECTED"]),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE");}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(ke));if(this.ongoingCheckForUpdate)return this.ongoingCheckForUpdate;let t=this.sw.generateNonce();return this.ongoingCheckForUpdate=this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:t},t).finally(()=>{this.ongoingCheckForUpdate=null;}),this.ongoingCheckForUpdate;}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new F(5601,!1));let t=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:t},t);}static ɵfac=function(o){return new(o||e)(xe(ne));};static ɵprov=B({token:e,factory:e.ɵfac});}return e;})(),pn=new ze("");function Qn(){let e=s(le);
27if(!("serviceWorker"in navigator&&e.enabled!==!1))return;let i=s(pn),t=s(je),o=s(Oe);t.runOutsideAngular(()=>{let n=navigator.serviceWorker,r=()=>n.controller?.postMessage({action:"INITIALIZE"});n.addEventListener("controllerchange",r),o.onDestroy(()=>{n.removeEventListener("controllerchange",r);});}),t.runOutsideAngular(()=>{let n,{registrationStrategy:r}=e;if(typeof r=="function")n=new Promise(a=>r().subscribe(()=>a()));else{let[a,...d]=(r||"registerWhenStable:30000").split(":");switch(a){case"registerImmediately":n=Promise.resolve();break;case"registerWithDelay":n=cn(+d[0]||0);break;case"registerWhenStable":n=Promise.race([o.whenStable(),cn(+d[0])]);break;default:throw new F(5600,!1);}}n.then(()=>{o.destroyed||navigator.serviceWorker.register(i,{scope:e.scope,updateViaCache:e.updateViaCache,type:e.type}).catch(a=>console.error(Be(5604,!1)));});});}function cn(e){return new Promise(i=>setTimeout(i,e));}function Vn(){let e=s(le),i=s(Ve),t=!0;return new ne(t&&e.enabled!==!1?navigator.serviceWorker:void 0,i);}var le=class{enabled;updateViaCache;type;scope;registrationStrategy;};function dn(e,i={}){return $e([zn,$n,{provide:pn,useValue:e},{provide:le,useValue:i},{provide:ne,useFactory:Vn},Xe(Qn)]);}var mn=[{path:"imprint",data:{preload:!1,animation:"ImprintPage"},loadComponent:()=>import("./chunk-RNBYMCEZ.js").then(e=>e.ImprintComponent)},{path:"privacy",data:{preload:!1,animation:"PrivacyPage"},loadComponent:()=>import("./chunk-AK6CJ3E7.js").then(e=>e.PrivacyComponent)}],un=[...mn,{path:"protected",children:mn}];var Ne=()=>{let e=s(ee);return(e.generateErrorMsg()||!e.generatingQuestions)&&s(L).navigate(["/relax","quantum-quiz",{outlets:{state:"choose-topic"}}]),!e.generateErrorMsg()&&e.generatingQuestions;};var gn=()=>{let e=s(ee);return e.isGameWon||s(L).navigate(["/relax","quantum-quiz",{outlets:{state:"hacker"}}]),e.isGameWon;};var fn=[{path:"relax",children:[{path:"",data:{animation:"RelaxPage"},loadComponent:()=>import("./chunk-ZB5OGLHM.js").then(e=>e.RelaxComponent)},{path:"quantum-quiz",data:{animation:"QuantumQuizPage"},providers:[ee],loadComponent:()=>import("./chunk-Z2KD3FQZ.js").then(e=>e.QuantumQuizComponent),children:[{path:"instruction",data:{animation:"QuantumQuizPageInstruction"},outlet:"state",loadComponent:()=>import("./chunk-AUPLSGOF.js").then(e=>e.QuantumQuizInstructionComponent)},{path:"choose-topic",data:{animation:"QuantumQuizPageChooseTopic"},outlet:"state",loadComponent:()=>
27import("./chunk-O6GSZQLG.js").then(e=>e.QuantumQuizChooseTopicComponent)},{path:"generate",data:{animation:"QuantumQuizPageGenerate"},outlet:"state",canActivate:[Ne],loadComponent:()=>import("./chunk-2JWPXW2G.js").then(e=>e.QuantumQuizGenerateQuizComponent)},{path:"play",data:{animation:"QuantumQuizPagePlay"},outlet:"state",canActivate:[Ne],loadComponent:()=>import("./chunk-34OSYC2E.js").then(e=>e.QuantumQuizGameComponent)},{path:"won",data:{animation:"QuantumQuizPageWon"},outlet:"state",canActivate:[gn],loadComponent:()=>import("./chunk-TH4RKKY5.js").then(e=>e.QuantumQuizWonComponent)},{path:"loose",data:{animation:"QuantumQuizPageLoose"},outlet:"state",loadComponent:()=>import("./chunk-C3WDKCMS.js").then(e=>e.QuantumQuizLooseComponent)},{path:"hacker",data:{animation:"QuantumQuizPageHacker"},outlet:"state",loadComponent:()=>import("./chunk-HGGA3ETZ.js").then(e=>e.QuantumQuizHackerComponent)},{path:"**",redirectTo:()=>"/relax/quantum-quiz/(state:instruction)"}]},{path:"color-clash",data:{animation:"ColorClashPage"},providers:[Xt],loadComponent:()=>import("./chunk-7DGHWARY.js").then(e=>e.ColorClashComponent),children:[{path:"instruction",data:{animation:"ColorClashPageInstruction"},outlet:"state",loadComponent:()=>import("./chunk-JOUBFW22.js").then(e=>e.ColorClashInstructionComponent)},{path:"play",data:{animation:"ColorClashPagePlay"},outlet:"state",loadComponent:()=>import("./chunk-W7MPERC2.js").then(e=>e.ColorClashGameComponent)},{path:"evaluation",data:{animation:"ColorClashPageEvaluation"},outlet:"state",loadComponent:()=>import("./chunk-WS56UXAH.js").then(e=>e.ColorClashEvaluationComponent)},{path:"**",redirectTo:()=>"/relax/color-clash/(state:instruction)"}]},{path:"**",redirectTo:"/relax"}]}];var hn=[{path:"",pathMatch:"full",redirectTo:"/about-me"},{path:"about-me",data:{animation:"AboutMePage"},loadComponent:()=>import("./chunk-TQSKVFDO.js").then(e=>e.AboutMeComponent)},{path:"resume",data:{animation:"ResumePage"},loadComponent:()=>import("./chunk-LDWWH7UC.js").then(e=>e.ResumeComponent)},{path:"portfolio",data:{animation:"PortfolioPage"},loadComponent:()=>import("./chunk-6XIAWSB3.js").then(e=>e.PortfolioComponent)},{path:"contact",data:{animation:"ContactPage"},loadComponent:()=>import("./chunk-P2ROLSSC.js").then(e=>e.ContactComponent)},...fn,...un,{path:"**",redirectTo:"about-me"}];var _n=(e,i)=>{let t=s(It);return i(e).pipe(Fe({count:3,delay:(o,n)=>me(n*1e3)}),Ae(o=>(t.error("Retries from the http interceptor failed").print(),Ie(()=>o))));};Object.defineProperty(Array.prototype,"isEmpty",{get:function(){return this.length===0;},enumerable:!1,configurable:!0});Object.defineProperty(Array.prototype,"isNotEmpty",{get:function(){return this.length!==0;},enumerable:!1,configurable:!0});Array.prototype.getFirstItem=function(){return this.length>0?this[0]:void 0;};Array.prototype.getLastItem=function(){return this.length>0?this[this.length-1]:void 0;};Array.prototype.updateLastItem=function(e){if(this.length>0)this[this.length-1]=e;else throw new Error("Cannot update last item of an empty array");};Array.prototype.removeByIndex=function(e){let i=this;return i.splice(e,1),i;};Array.prototype.removeDuplicates=function(){return Array.from(new Set(this));};Array.prototype.toNumberedList=function(){if(!this.every(e=>typeof e=="string"))throw new Error("All items in the array must be strings.");return this.map((e,i)=>`${i+1}. ${e}`).join(`
28`)+`
29`;};Array.prototype.toMultipleLineList=function(){if(!this.every(e=>typeof e=="string"))throw new Error("All items in the array must be strings.");return this.join(`
30`)+`
31`;};Array.prototype.clear=function(){return this.length=0,this;};Object.defineProperty(Date.prototype,"year",{get:function(){return this.getFullYear();},enumerable:!1,configurable:!0});Object.defineProperty(Date.prototype,"month",{get:function(){return this.getMonth();},enumerable:!1,configurable:!0});Object.defineProperty(Date.prototype,"day",{get:function(){return this.getDate();},enumerable:!1,configurable:!0});Object.defineProperty(Date.prototype,"hours",{get:function(){return this.getHours();}
31,enumerable:!1,configurable:!0});Object.defineProperty(Date.prototype,"minutes",{get:function(){return this.getMinutes();},enumerable:!1,configurable:!0});Object.defineProperty(Date.prototype,"seconds",{get:function(){return this.getSeconds();},enumerable:!1,configurable:!0});Object.defineProperty(Date.prototype,"milliseconds",{get:function(){return this.getMilliseconds();},enumerable:!1,configurable:!0});Date.prototype.getMondayBasedWeekday=function(){return(i=>(i+6)%7)(this.getDay());};Date.prototype.getMonthFormatted=function(){return(this.getMonth()+1).toString().padStart(2,"0");};Date.prototype.getDateFormatted=function(){return this.getDate().toString().padStart(2,"0");};Date.prototype.getHoursFormatted=function(){return this.getHours().toString().padStart(2,"0");};Date.prototype.getMinutesFormatted=function(){return this.getMinutes().toString().padStart(2,"0");};Date.prototype.getSecondsFormatted=function(){return this.getSeconds().toString().padStart(2,"0");};Date.prototype.getMillisecondsFormatted=function(){return this.getMilliseconds().toString().padStart(3,"0");};Math.randomNextInt=function(e,i=0){if(i>=e)throw new Error("Min value must be less than max value");return Math.floor(Math.random()*(e-i)+i);};Number.prototype.ceil=function(){return Math.ceil(this.valueOf());};Number.prototype.abs=function(){return Math.abs(this.valueOf());};Number.prototype.floor=function(){return Math.floor(this.valueOf());};Number.prototype.round=function(){return Math.round(this.valueOf());};Number.prototype.padStart=function(e,i){return this.valueOf().toString().padStart(e,i);};Number.prototype.padEnd=function(e,i){return this.valueOf().toString().padEnd(e,i);};String.prototype.truncate=function(e){return this.substring(0,e);};var Cn={providers:[Nt(),Tt(),Kt(),St(),qt({once:!1}),Ut(),_t(vt(),Ct([_n])),ct(),Ue(),wt(bt(),Mt()),Lt,yt(hn,Ot(At),xt(),Pt({scrollPositionRestoration:Se()?"disabled":"enabled",anchorScrolling:"enabled"})),dn("ngsw-worker.js",{enabled:!Se(),registrationStrategy:"registerWhenStable:3000"})]};ft(ln,Cn).catch(console.error);/**i18n:7145d090777048f7ede00ee9238fe3800846c380f170740d42e6cae8e793e3bb*/

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.